Checka’s API currently runs on SOAP over HTTPS, using API keys to handle authentication. The WSDL is available at https://services.checka.co.nz/Api2/CheckaService.svc?wsdl. Your API key will be provided by Checka, although it can be re-generated in the future if your key becomes compromised.
A working demonstration of the APIv2 is available at Live API demonstration.
There are currently Twelve method calls available:
GetVehicleSummary is a method that, given a license plate or a VIN, provides the year, make, and model of the car being queried.
GetVehicleSummary takes two parameters:
- ApiKey is a string containing your provided API key.
- Input is either the license plate or the VIN of the car being queried.
The method will throw a fault if any of the parameters are invalid or if the vehicle cannot be found.
Property
Type
Constraints
Example
ApiKey
String
Required
RgOW3fl20kCKLzNIDuJ0lg==
Input
Required; max length of 30
SS7124
Year
Integer
Optional
1987
Make
Nissan
Model
Avenir
GetVehicleSummary can throw the following faults:
GetVehicleReport is a paid method that, given a license plate or a VIN, provides the full details of a vehicle, including vehicle information, license information, odometer history, ownership history, security interests, and economy information.
GetVehicleReport takes four parameters:
- Input is either the license plate or the VIN of the car to query.
- ClientReference is a string which uniquely identifies the query on your side, allowing the report to be queried again at no extra cost. This is useful if the request failed, or any part thereof (e.g. if PPSR was down at the time of the query).
- Type specifies which type of report to return - a Complete report includes ownership history and securities (PPSR) information, in addition to the data returned in a Basic report (basic vehicle details + RUC).
ClientReference
Required; max length of 60
14152/1AO5
Enum
Required; Basic or Full
Basic
The VehicleReportResponse object is a complex object that contains many properties which themselves, are nested objects. The best place to find an up-to-date structure is in the WSDL.
Any simple type within the object, e.g. Make or GrossMass, is optional and may be null.
Any complex type within the object, e.g. Registration, will not be null.
Any array within the object, e.g. RucHistory, will not be null but may have zero items. Additionally, any arrays will be sorted in a descending order (so that the most recent record is first).
There is an additional property on VehicleReportResponse, called Error, which contains various Booleans that indicate whether any communication or parsing issues occurred. For example, if a PpsrCommunicationError is set to True, then you may wish to display a warning to the user that the PPSR details could not be acquired. You can later query the report again at no cost to retrieve the missing PPSR information.
GetVehicleReport can throw the following faults:
VerifyDriverLicence is a paid method that verifies a given New Zealand driver’s licence and checks that its details are valid.
VerifyDriverLicence takes two parameters:
LicenceNumber and LicenceVersion are used to identify the licence itself. If these belong to a current (that is, non-expired) driver’s licence, the DriverLicenceMatch field returns True, and the veracity of the remaining fields will be indicated.
LicenceNumber
Required; exact length of 8
AB992301
LicenceVersion
Required; exact length of 3
423
FirstName
Adam
MiddleNames
String[]
Optional, each array item has max length of 30
William, Jim
LastName
Pearson
DateOfBirth
DateTime
1989-03-03T00:00:00
If the LicenceNumber and LicenceVersion strings do NOT match any current driver’s licence, the DriverLicenceMatch field will return False, and all remaining fields in the response object will be irrelevant.
DriverLicenceMatch
Boolean
Only valid if DriverLicenceMatch = True
True
FirstNameMatch
MiddleNamesMatch
False
LastNameMatch
DateOfBirthMatch
VerifyDriverLicence can throw the following faults:
GetBasicReport requires an API user role and is a Paid method. The method takes a license plate number or a VIN and returns the basic details of a vehicle.
GetBasicReport takes two parameters:
- Plate is either the license plate or the VIN of the car to query.
Plate
The GetBasicReportResponse object is a complex object that contains many properties which themselves, are nested objects. The best place to find an up-to-date structure is in the WSDL.
Any array within the object, e.g. RucHistory, will not be null but may have zero items. Additionally, any arrays will be sorted in descending order (so that the most recent record is first).
GetBasicReport can throw the following faults:
GetExtendedReport requires an API user role and is a Paid method. The method takes a license plate or a VIN and returns extended details of a vehicle, including vehicle information, license information, odometer history, ownership history, security interests, and economy information.
GetExtendedReport takes two parameters:
The GetExtendedReportResponse object is a complex object that contains many properties which themselves, are nested objects. The best place to find an up-to-date structure is in the WSDL.
GetExtendedReportSummary can throw the following faults:
GetTyreInfoWithManufactureYearInterval requires an ApiTyreMatch user role and is a Paid method. The method is passed the make, model and year. The method returns the front rim, back rim, front tyre and back tyre's measurements as well as descriptive informaiton about the vehicle.
GetTyreInfoWithManufactureYearInterval takes six parameters:
- Make, model and year.
- YearRangeBack and YearRangeTo species the time period in which the vehicle's make and model was manufactured.
The method will return an empty tyre object if any of the parameters are invalid or if the vehicle cannot be found.
Toyota
Corolla
int
2003
YearRangeBack
1991
YearRangeTo
2012
The GetTyreInfoWithManufactureYearIntervalResponse object is a complex object that contains many properties which themselves, are nested objects:
- RequestedVehicleInformation is a list that gives basic descriptive information on the matched vehicles.
- Results is a list of matching vehicles including, DataSource, Description, OEfitment, Tyres, VehicleKeys and Weighting.
- Errors is a string detailing any errors that occurred
Maximum number of returned results is 20.
GetTyreInfoWithManufactureYearIntervalSummary can throw the following faults:
GetTyreInfoByPlateNrSimple requires an ApiTyreMatch user role and is a Paid method. The method takes a license plate or a VIN and returns a vehicle description, tyre information and the number of matching results.
GetTyreInfoByPlateNrSimple takes two parameters:
The GetTyreInfoByPlateNrSimpleResponse object is a basic object which contains the properties:
- Results contains a vehicle description and tyre size information.
- TotalCountOfResults contains the number of results.
- Errors is a string detailing any errors that occurred.
GetTyreInfoByPlateNrSimpleSummary can throw the following faults:
GetTyreInfoByPlateNr requires ApiTyreMatch user role and is a Paid method. The method takes a license plate or a VIN and returns the front rim, back rim, front tyre and back tyre's measurements as well as descriptive information about the vehicle.
GetTyreInfoByPlateNr takes two parameters:
The method will return an empty tyre object if any parameter is invalid or if the vehicle cannot be found.
The GetTyreInfoByPlateNrResponse object is a complex object that contains many properties which themselves, are nested objects:
- RequestedVehicleInformation is a list of basic descriptive information regarding the vehicles which match the search criteria.
- Results is a list of matching vehicles. It includes, DataSource, Description, OEfitment, Tyres, VehicleKeys and Weighting.
Maximum number of return results is 20.
GetTyreInfoByPlateNrSummary can throw the following faults:
GetTyreInfoByPlateNrWithManufactureYearInterval requires ApiTyreMatch user role and is a Paid method. The method takes as parameters, the license plate or a VIN, YearRangeBack and YearRangeTo. The method returns, the front rim, back rim, front tyre and back tyre's measurements as well as descriptive information abour the vehicle.
GetTyreInfoByPlateNrWithManufactureYearInterval takes four parameters:
- YearRangeBack and YearRangeTo species the time period in which the vehicle's make and model were manufactured.
The method will return an empty tyre object if any parameters are invalid or if the vehicle cannot be found.
The GetTyreInfoByPlateNrWithManufactureYearIntervalSimpleResponse object is a complex object that contains many properties which themselves, are nested objects:
GetTyreInfoByPlateNrWithManufactureYearIntervalSummary can throw the following faults:
GetTyreSizeByKeys requires an ApiTyreMatch user role and is a Paid method. The method takes a list of vehicle keys and returns the front rim, back rim, front tyre and back tyre's measurements and descriptive informaiton about the vehicle.
GetTyreSizeByKeys takes two parameters:
- VehicleKeys is a string containing vehicle keys with the delimiter ";".
VehicleKeys
123456;123345;12467
The GetTyreSizeByKeysResponse object is a complex object that contains many properties which themselves, are nested objects:
- RequestedVehicleInformation is a list containing basic descriptive information regarding the vehicle which matches the criteria.
GetTyreSizeByKeysSummary can throw the following faults:
GetVehicleSpecs requires an ApiTyreMatch user role and is a Paid method. The method takes as parameters, the make, model, yearRangeFrom and yearRangeTo. The method returns, the front rim, back rim, front tyre and back tyre's measurements as well as descriptive information about the vehicle.
GetVehicleSpecs takes ten parameters:
- FuelType and Transmission are selected from a list of enumerables.
- EngineSizeRangeCcFrom and EngineSizeRangeCcTo must either both be null or both of them must have values (neither of them is null).
- Make, Model and Year.
FuelType
Enum; Petrol, Diesel, Electric, Hybrid, Gas or Other
Petrol
Transmission
Enum; Manual, Automatic or Other
Automatic
EngineSizeRangeCcFrom
1200
EngineSizeRangeCcTo
2500
The GetVehicleSpecsResponse object is a complex object that contains many properties which themselves, are nested objects:
GetVehicleSpecsSummary can throw the following faults: