API Deprecation Notice

Technical Updates for Customer and Vehicle APIs

This document provides an overview of the latest updates to the Customer and Vehicle API, detailing significant changes in its structure, naming conventions, supported HTTP methods, and endpoint productisation. The new version aims to streamline integration, improve clarity, and enhance functionality for managing customer, company and vehicle data within Keyloop's ecosystem.

Overview of Technical Changes in Customer API V3

API URL and Domain Updates

  • The domain name (such as 'crm', 'sales', or 'service') has been removed from the API URL. The backend context is now standardised, making it non-domain specific.
  • The version number in the URL has changed from V1 to V3.

Parameter Name Changes

'ContractCode' and 'BusinessUnit' parameters have been renamed to 'EnterpriseId' and 'StoreId' for improved clarity and standardisation.

HTTP Methods

PUT and PATCH are now used for updating existing records:

  • PUT: Replaces the entire record, including fields not provided.
  • PATCH: Updates only the provided fields.
  • POST: Continues to be used for creating new records.
  • DELETE: Is used for deleting records (e.g., relation links).

HTTP Header Parameters

Introduction of couple of parameters in the header for enhanced tracking and identification:

  • x-onbehalf-of - The user (id) of the user who is actually using this resource. This user Id should be known in the receiving system. This user ID will be used in the backend system for auditing reasons.
  • correlation-id - A unique identifier value (GUID) that is attached to requests and messages that allow reference to a particular transaction or event chain. This ID might be required in case a support case is logged.

Field Changes

Several elements have been renamed to match standard naming conventions or to better cover the content.

New fields added: External reference (e.g., OEM ID), Formatted Address, Customer Tax registration, Customer titles of nobility or academic title.

Productisation of Endpoints

Customer and Company endpoints are now productised and included in three products:

Overview of Technical Changes in Customer Vehicles API V2

API URL and Domain Updates

  • The domain name (such as 'crm', 'sales', or 'service') has been removed from the API URL. The backend context is now standardised, making it non-domain specific.
  • The version number in the URL has changed from V1 to V2.

HTTP Methods

GET, POST and DELETE still used.

PUT and PATCH are now used for API actions which are updating existing records:

  • PUT: Replaces the entire record, including fields not provided. NOTE: If a single field is being updated, all existing fields in an endpoint must be retrieved, then the field updated, and ALL fields PUT back.
  • PATCH: Updates only the provided fields.
  • POST: Continues to be used for creating new records.
  • DELETE: Is used for deleting records (e.g., relation links).

Endpoint and Field Changes

Totally new endpoints have been introduced.

The names of many endpoints have been changed to improve readability.

New fields have been introduced within endpoints.

Some of the major changes highlighted below:

  • VIN search in GET /vehicles now accepts wildcards at the start.
  • GET /vehicles/{vehicleId} now includes branches and a new endpoint for GET /vehicles/{vehicleId}/branches.
  • GET /vehicles/{vehicleId} now includes technical-data end-point fields.
  • Vehicle customers have been replaced with vehicle relations.