Migrating from legacy APIs
The legacy API endpoints are generally one-shot processes, however the Navigate API is somewhat more conversational.
AutoProcess quote API
The quote API is used to pre-populate customers and vehicles into AutoProcess so that the demands and needs process can be completed without the need to double-key the customer's details.
The equivalent to this operation in Navigate is the deal endpoint. Navigate APIs are all JSON/REST whereas legacy APIs are XML/SOAP.
Dates and times are ISO 8601 format.
Credentials and identifiers
Navigate uses different credentials to AutoProcess. Integrators should obtain new identifiers as part of their migration process.
Authentication provides a bearer token which must be used in all subsequent requests. The token should be cached and renewed prior to expiry. Many common HTTP client libraries support this type of authentication mechanism.
Initial deal creation
The initial deal creation should be performed with a POST request to the
deal endpoint.
At the very least, the following parameters must be provided:
- Application type (
PRIVATE) - Dealer ID
- Applicant type (
HIRER) - Customer type (
Person/Organisation) - Organisation name (if a business)
- Forename
- Surname
| AutoProcess XML Node | Navigate JSON Element |
|---|---|
Username |
N/A Use OAuth bearer token |
Password |
N/A Use OAuth bearer token |
DealerId |
UUID in dealer.id - see dealer list endpoint |
IsOrganisation |
applications[0].applicants[0].customerType = Person |
FirstName |
applications[0].applicants[0].forename |
Surname |
applications[0].applicants[0].surname |
This will return the current deal, along with the deal ID in the top level id element.
Customer/vehicle population
The rest of the deal may be populated via a PATCH request to the /deals/{$dealId} endpoint.
| AutoProcess XML Node | Navigate JSON Element |
|---|---|
QuoteNr |
Not supported |
DataProtection |
applications[0].applicants[0].marketing.sms (also .telephone / .email) |
Title |
applications[0].applicants[0].title List |
Line1 (of address) |
applications[0].applicants[0].addresses[0].flat orapplications[0].applicants[0].addresses[0].houseName orapplications[0].applicants[0].addresses[0].houseNumberand applications[0].applicants[0].addresses[0].street |
Line2 |
applications[0].applicants[0].addresses[0].district |
Line3 |
applications[0].applicants[0].addresses[0].city |
PostalCode |
applications[0].applicants[0].addresses[0].postcode |
Telepone |
applications[0].applicants[0].mobileNumber |
EMail |
applications[0].applicants[0].emailAddress |
VehicleUse |
applications[0].applicants[0].vehicleUsageType List |
VehicleFinanced |
TBC |
VRN |
applications[0].asset.registrationNumber |
VIN |
applications[0].asset.vin |
DateOfFirstRegistration |
applications[0].asset.firstRegistered |
DeliveryDate |
applications[0].asset.deliveryDate |
ManufacturerWarrantyExpiryDate |
applications[0].asset.mfrWarrantyExpiryDate |
GlassModelId |
applications[0].asset.glassesCode |
QualifiedModelId |
applications[0].asset.glassesFamily |
PurchaseDate |
applications[0].asset.purchaseDate |
MOTDueDate |
applications[0].asset.motDueDate |
Mileage |
applications[0].asset.mileage |
PurchasePrice |
applications[0].financials.assetPriceGross.amount See money type |
IsNew |
applications[0].asset.isNew |
IsUKSpecification |
applications[0].asset.isUkSpecification |
Weight |
applications[0].asset.grossWeight |
VehicleClass |
applications[0].asset.type List |
TempVRN |
Not supported |
SalespersonId |
UUID assignedSalesUser.id from list endpoint |
ProductInfoHandoverDateTime |
TBC |
QuoteStatus |
Set automatically |
The two operations may be combined into a one-shot POST request, an example is given below:
{
"type": "PRIVATE",
"dealer": {
"id": "{{dealerId}}"
},
"applications": [
{
"applicants": [
{
"type": "HIRER",
"customerType": "Person",
"marketing": {
"sms": false,
"email": false,
"telephone": false
},
"assetUsage": "PRIVATE",
"addresses": [
{
"flat": "Apartment 37",
"houseName": "McClure House",
"street": "The Boulevard",
"city": "LEEDS",
"county": "LEEDS",
"countryCode": "GB",
"postcode": "LS10 1LR"
}
],
"forename": "Oneshot",
"surname": "Postman",
"title": "MR",
"mobileNumber": "07700900456",
"emailAddress": "test.customer@example.com"
}
],
"asset": {
"type": "PRIVATE_LIGHT_GOODS_VEHICLE",
"registrationNumber": "AB12CDE",
"glassesCode": "253779",
"glassesFamily": "001",
"transmissionType": "MANUAL",
"fuelType": "PETROL",
"isNew": false,
"make": "VAUXHALL",
"makeValue": "VAUXHALL",
"model": "ASTRA HATCHBACK",
"modelValue": "ASTRA HATCHBACK",
"style": "1.4T 16V 150 SRi 5dr",
"styleValue": "1.4T 16V 150 SRi 5dr",
"engineSize": 1400,
"firstRegistered": "2017-06-19T00:00:00+00:00",
"vin": "W0LBF6EC2HG138041",
"yearOfManufacture": 2017,
"purchaseDate": "2022-05-25T00:00:00+00:00",
"isUkSpecification": true,
"mileage": 25000
},
"financials": {
"assetPriceGross": {
"amount": "2500000",
"currency": "GBP"
}
}
}
]
}
Other required fields
The following fields are also required, but may be populated with placeholder values if they are not available.
| Navigate JSON Element | Suggested Default |
|---|---|
applications[0].asset.make |
TBC |
applications[0].asset.makeValue |
TBC |
applications[0].asset.model |
TBC |
applications[0].asset.modelValue |
TBC |
applications[0].asset.style |
TBC |
applications[0].asset.styleValue |
TBC |
applications[0].asset.fuelType |
PETROL |
applications[0].asset.transmissionType |
MANUAL |
Checking the compliance status
Currently, API users may check whether the demands and needs process has been completed by checking
that the quote status is Quoted.
In Navigate, the compliance summary endpoint will provide the following response.
{
"status": "COMPLETED",
"questions": [],
"productSummary": [],
"products": [],
"createdAt": "2022-06-23T11:41:31+00:00",
"completedAt": "2022-06-23T11:41:31+00:00"
}
The status of COMPLETED indicates that the D&N process has been completed successfully.
AutoProcess activation API
AutoProcess has a separate API for registering products. In Navigate, the same can be achieved by first creating a deal as above, then adding products.
Once the deal has been created and products added, the policy can be activated.
DealTrak Load Lead / Load Application
The Navigate deal model is conceptually very similar to the Load Lead and Load Application APIs. Further information on how to migrate will be provided at a later date.