Car-Pass Inflow Specification
Confidential – By no means does Car-Pass authorize the reader to internal use the present information. The information contained in the present proposal may not be disclosed to any other people or organization without prior authorization of Car-Pass. This information cannot be sold or given for commercial purpose.
Table of Contents
- 1 Table of Contents
- 2 Context and Objectives
- 3 Definitions
- 4 Security
- 4.1 TLS versions
- 4.2 Ciphers
- 5 Technical documentation
- 5.1 Base api urls
- 5.2 Formats
- 5.2.1 Date
- 5.3 Languages
- 5.4 Services
- 5.4.1 Workflow
- 5.4.2 Status of the request
- 5.4.2.1 Ongoing
- 5.4.2.2 Reviewing & Rejected
- 5.4.2.3 Waiting For DIV
- 6 Operations
- 6.1 POST /observation
- 6.1.1 Header Input
- 6.1.2 Body Input
- 6.2 Response
- 6.3 GET observation/{requestGuid}/status
- 6.3.1 Header Input
- 6.3.2 Input
- 6.3.3 Output
- 6.4 POST /observation/{requestGuid}/correction
- 6.4.1 Header Input
- 6.4.2 Input
- 6.4.3 Fields
- 6.5 POST /observation/{requestGuid}/confirm
- 6.5.1 Header Input
- 6.5.2 Input
- 6.5.3 Response
- 6.6 GET observation/{requestGuid}/status/vhr
- 6.6.1 Header Input
- 6.6.2 Input
- 6.6.3 Response
- 6.7 POST /observation/{requestGuid}/manual-correction
- 6.7.1 Header Input
- 6.7.2 Input
- 6.7.3 Fields
- 6.7.4 Response
- 6.8 Error Responses
- 6.8.1 Response
- 6.9 POST observation/<guid>/description
- 6.9.1 Header Input
- 6.9.2 Path parameter
- 6.9.3 Body
- 6.9.4 Response
- 6.9.5 Work Description API examples
- 6.10 GET/activities
- 6.10.1 Header Input
- 6.11 Work Description Overview List
- 6.12 Issue List
- 6.13 Vehicle History Report
- 6.1 POST /observation
- 7 API call Examples
- 8 Testing Purposes
- 9 Swagger Page
Context and Objectives
Car-Pass is the nonprofit organization created by FEBIAC (Belgian federation of the Car and Two-wheeler Industries), the companies in charge of the technical inspection and Traxio (Federation of car vendors, car service professionals as well as linked sectors), charged by the legislator with a task of public interest i.e. to protect buyers and to promote the fair trade in used vehicles by combating fraud with the odometer.
The reason for the existence of the organization arises from the federal act of 11/06/2004. The purpose of this legislation is the prevention and repression of fraud linked to odometer manipulations and provide transparent information about used cars to the buyer. The essential principles are the following:
Mileage fraud is considered a criminal offence sanctioned with severe penalties (up to 1 year imprisonment)
Creation of a central database containing the odometer readings and other date foreseen by the law of all vehicles (cars and vans) registered in Belgium
All professional car dealers and repair shops are required to transfer VIN number or licence plate, mileage and date when repairing or maintaining a vehicle or replacing parts (ex. tyres, windscreens,…)
The seller of a second hand vehicle is obliged by law to deliver a document (ie. the so called Car-Pass) showing the mileage history and other data foreseen by the law of the vehicle to the buyer. If he fails to do so the transaction is void
As of 1 January 2024, all professionals will have to communicate a description of the works they did on the vehicle. This information will also be shown on the Car-Pass document.
The Car-Pass non-profit was certified by royal decree of 4/5/2006 to manage the database and issue the mileage certificates.
To fulfil its mission, Car-Pass developed an information system covering the following objectives:
Centralize odometer status information originating from multiple data providers located all over the Belgian territory.
Store the kilometre information about all cars and vans registered in Belgium and gathered at different moments during their ‘lifetime’
Guarantee the quality, security and confidentiality of all centralized data.
Deliver the Car-Pass document that shows the mileage history and other information foreseen by the law of a used car to any potential buyer of a second hand car.
When offering a registered vehicle for sale, any professional car seller is obliged by law to indicate the kilometre history of the vehicle and the other information foreseen by the law as these are made available by the association referred to in Article 6 at that moment in time.
Needless to say, the accuracy of the transmitted data is very important. We expect that professionals transfer the exact value they read on the dashboard, no approximate values or rounded numbers. They need also to pay attention that the date matches with the value of the odometer reading. Errors, if they remain uncorrected, will eventually appear on the Car-Pass document of the vehicle and may result in a considerable loss of the residual value.
Do note that the Car-Pass legislation only applies for passenger cars and light commercial vehicles (maximum permissible weight up to 3,5 t). Odometer readings of heavy trucks, buses or motorcycles don’t need to be sent to Car-Pass and in any case will be rejected.
Car-Pass has drafted a set of guidelines to improve the quality of the transmitted odometer data. If correctly implemented by the software developer, he can apply for the ‘Car-Pass approved DMS’ certificate (see annex 3). This not obligated and free of charge.
Do note that our maintenance window for ‘production’ is Thursday 19h – 24h (CET)
Definitions
Term | Description |
VIN | Vehicle Identification Number. The unique number for the identification of a vehicle |
Odometer Reading | The value of the Odometer as displayed on the dashboard (the total trip). |
Enterprise Organisation (legally responsible) | The enterprise identified by a KBO/BCE number (or VAT number) in the format of 10 digits including leading zero’s eg 04xxxxxxx1 |
Entered Organisation | The establishment is the entity that has received an activation letter with activation code to activate the Car-Pass account. This is the physical location where repairs and maintenance are done on the vehicle. The entered Organisation is identified by its establishment number from KBO/BCE number. 10 digits, eg 2xxxxxxxx1 |
Security
Security is basic authentication with the establishment number of the garage as username, for testing purposes other accounts can be set-up. Most frameworks and tools support the creation of a basic authentication header based on username and password.
If you do this manually, which is not recommended :
Basic Authentication header
The Authorization header is constructed as follows:
Username and password are combined into a string "username:password"
The resulting string is then encoded using the RFC2045-MIME variant of Base64, except not limited to 76 char/line
The authorization method and a space i.e. "Basic " is then put before the encoded string.
The web service can only be accessed with a username and password. These credentials must always be provided while making a request to Car-Pass.
TLS versions |
---|
Only TLSv1.2 and TLSv1.3 is supported |
Ciphers |
---|
ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256: |
ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384: |
ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305: |
DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384 |
Technical documentation
Base api urls
Formats
Date
Dates are formatted yyyy-mm-dd
Languages
Supported languages are NL, FR, DE. EN only for the Vehicle History Report pdf
Services
Workflow
Important to know is that processing of requests happens asynchronously. You will make a request to submit data, you will receive a guid that you'll need to store and use in the following requests. The below requests contain more information on how and when to use these.
You'll start with POST OBSERVATION then use GET observation{requestguid}/status to check if registration was successful or further action is needed.
If the status is ISSUE, further action is needed either POST observation{requestguid}/correction or POST observation{requestguid}/confirm
Status of the request
Ongoing
ONGOING means the Car-Pass system is still gathering data and validating the registration.
For a Vehicle History request this can mean that external sources are being called for data. In case of a Vehicle History request we ask special consideration that it can take up to 1,5 minutes for car-pass to gather data from all external sources.
In other cases it can mean there is a high load and a backlog in processing data.
This will limit the load for your and the Car-Pass system
Reviewing & Rejected
The REVIEWING status can be triggered through
● The manual correction API, see below in the operations
● By doing multiple corrections and sending a correction on 129 issue
To prevent fraud, Car-Pass limits how many corrections can be made. If a correction is done, but the data is still not logical and there is again an issue the issueType 129 will be shown. This indicates that any following correction (not confirmation) will have to be reviewed by Car-Pass. If the user does such a correction, the next status request will indicate status REVIEWING. This means this review is pending, and will be processed in 1-2 business days.
If the data is accepted, the status will be PROCESSED, no further action is needed towards Car-Pass. The issue needs to be closed in the DMS system. If the data was not accepted the status will be REJECTED. In both cases the user has received feedback on the email address known at Car-Pass. In case of rejected, the original submitted data can still have an open issue and a correction can be tried again
Waiting For DIV
This is only relevant when submitting data based on a license plate. When submitting a license plate Car-Pass will check this plate with DIV. If DIV is not available the validation of the submitted data can not happen, in this case the status is temporarily set as WAITING_FOR_DIV. Car-Pass will automatically retry this data when DIV is available again, afterwards the final status of this registration becomes available which can be PROCESSED or ISSUE if there was something wrong. (See status and correction operations)
Operations
POST /observation
Take note of the odometer reading on the dashboard: this operation is performed by a staff member in the workshop and for obvious reasons requires the presence of the vehicle.
Car-Pass expects to receive the exact odometer reader indicated on the dashboard, no approximate values or rounded numbers.
Workshops have to send the data they hold to Car-Pass immediately, when the vehicle is still in the workshop.
Car-Pass doesn’t accept that the same user sends an odometer for the same vehicle twice with the same odometerReadingDate. The second reading will generate an error and will be rejected.
Header Input
Field | Type | Mandatory | Description |
client-software-builder | String | N | Name of the company that is reponsible for the build of the software communicating with the Car-Pass API |
client-software-name | String | N | The name of the software communicating with the Car-Pass API |
client-software-version | String | N | The version of the software communicating with the Car-Pass API |
Body Input
Field | Type | Mandatory | Description |
Vin | String, max 17 | N | Either vin or licensePlate must be provided. Both are not accepted together. |
licensePlate | String, max 9 | N | Either vin or licensePlate must be provided. Both are not accepted together. licensePlate cannot be used with observationType VEHICLE_HISTORY_DOCUMENT |
Unifier | Integer | N | The DIV unifier, used to identify vins shorter than 17 characters |
firstUseDate | Date | N | The firstUseDate of the Vehicle, used to identify vin’s shorter than 17 characters |
odometerReadingDate | Date | Y | The date the odometer was read (we expect this information on the day it was read, so most of the time should be equal to the current date) |
odometerReading | Integer | Y | The exact reading as read from the dashboard |
observationType | Enum | Y | ● REPAIR_MAINTENANCE_SERVICE: a normal registration, to be used in most situations ● ODOMETER_REPLACED: indicate that the odometer counter has been replaced during the work ● VEHICLE_HISTORY_DOCUMENT: a registration that request a vehicle history document to be generated |
enterpriseOrganisation | String | Y | The enterprise number of the enteredOrganisation |
enteredOrganisation | String | Y | The KBO number of the establishment where odometer was read |
Response
Field | Type | Description |
requestGuid | String (UUID) | This is unique identifier that you’ll use to follow up your request |
Refer to Car-Pass Inflow Specification | GET observation/{requestGuid}/status
GET observation/{requestGuid}/status
Usage: based on the request guid in the response of POST /observation or POST /observation{requestGuid}/correct retrieve the status to verify if data has been loaded or further action is needed
Header Input
Field | Type | Mandatory | Description |
client-software-builder | String | N | Name of the company that is reponsible for the build of the software communicating with the Car-Pass API |
client-software-name | String | N | The name of the software communicating with the Car-Pass API |
client-software-version | String | N | The version of the software communicating with the Car-Pass API |
Input
The requestGuid from the POST as URL path parameter
Output
Field | Type | Description |
Status | ENUM |
|
Issues | List | Will be filled in with issues that require attention by the user |
Issue.type | String | A unique key for the type of issue |
Issue.description | Object | Placeholder object for translations. The description explains the data issue that needs to be Corrected or Confirmed |
issue.description.nl |
|
|
issue.description.fr |
|
|
Issue.description.de |
|
|
descriptionToBeSent | Boolean | Marks the fact a description is required to be sent for the linked registration. |
POST /observation/{requestGuid}/correction
Usage: this allows correcting the data from a previous request when the status was ISSUE. When the status is not ISSUE a synchronous error is returned.
Example: on the GET /status call an issue was returned that the inputted mileage seems to low. This is shown to the user in the garage, he/she verifies this and sees an input error is made. The user types in another odometerReading value and this is submitted, all other data needs to be filled in and stays the same. (The user could also modify the odometerReadingDate and/or VIN to correct the issue)
Example: on the GET /status call an issue was returned that the VIN is unknown. This is shown to the user in the garage, he/she verifies this and sees an input error is made. The user types in another VIN value and this is submitted, all other data needs to be filled in and stays the same.
Header Input
Field | Type | Mandatory | Description |
client-software-builder | String | N | Name of the company that is reponsible for the build of the software communicating with the Car-Pass API |
client-software-name | String | N | The name of the software communicating with the Car-Pass API |
client-software-version | String | N | The version of the software communicating with the Car-Pass API |
Input
The requestGuid from observation being corrected as URL path parameter
Fields
Refer to Car-Pass Inflow Specification | POST /observation
Response
Field | Type | Description |
requestGuid | String (UUID) | This is unique identifier that you’ll use to follow up your request |
Refer to Car-Pass Inflow Specification | GET observation/{requestGuid}/status
POST /observation/{requestGuid}/confirm
Usage: this allows confirming the data from a previous request when the status was ISSUE. The user verifies the information provided in the status call describing the issue, and when the user is either unable to provide a correction or is sure the data as submitted is valid a confirm needs to be sent that will close the issue.
Header Input
Field | Type | Mandatory | Description |
client-software-builder | String | N | Name of the company that is reponsible for the build of the software communicating with the Car-Pass API |
client-software-name | String | N | The name of the software communicating with the Car-Pass API |
client-software-version | String | N | The version of the software communicating with the Car-Pass API |
Input
The requestGuid from observation being corrected as URL path parameter
Response
Field | Type | Description |
requestGuid | String (UUID) | This is unique identifier that you’ll use to follow up your request |
Refer to Car-Pass Inflow Specification | GET observation/{requestGuid}/status
GET observation/{requestGuid}/status/vhr
Usage: when in the POST /observation an observationType VEHICLE_HISTORY_DOCUMENT has been used to request a document to be used in secondhand car sales and the GET /observation/{requestGuid}/status has returned status PROCESSED (if there are still issues you won’t receive a Vehicle History Document)
Header Input
Field | Type | Mandatory | Description |
client-software-builder | String | N | Name of the company that is reponsible for the build of the software communicating with the Car-Pass API |
client-software-name | String | N | The name of the software communicating with the Car-Pass API |
client-software-version | String | N | The version of the software communicating with the Car-Pass API |
Input
The requestGuid from observation being corrected as URL path parameter
The language as query parameter: NL, FR, DE, EN
Response
Field | Type | Description |
file | String (base64 encoded pdf) | A base64 encoded string that represents a pdf containing the vehicle history document |
publicUrl | String (url) | This url is an online version of the vehicle history document and can be used in online ads for a second hand vehicle |
POST /observation/{requestGuid}/manual-correction
Usage: this allows to correct data from a previous request that was in status PROCESSED, when there was no issue.
Example: the user in the workshop notices a typo after submitting the data to Car-Pass and wants to make a correction.
This can only be done when there were no issues on the previous registration, the previous registration is in status PROCESSED, the previous registration was not a CORRECTION
Header Input
Field | Type | Mandatory | Description |
client-software-builder | String | N | Name of the company that is reponsible for the build of the software communicating with the Car-Pass API |
client-software-name | String | N | The name of the software communicating with the Car-Pass API |
client-software-version | String | N | The version of the software communicating with the Car-Pass API |
Input
The requestGuid from observation being corrected as URL path parameter
Fields
Refer to Car-Pass Inflow Specification | POST /observation
Response
Field | Type | Description |
requestGuid | String (UUID) | This is unique identifier that you’ll use to follow up your request |
Refer to Car-Pass Inflow Specification | GET observation/{requestGuid}/status
Error Responses
When a request is structurally not valid or data issues like unknown guids, or corrections when the status is not ISSUE an error message will be returned in this format. Normally this is something encountered during development and your software should be built in a way that it will not send requests that are not possible (missing mandatory fields, impossible combinations, wrong data types, …)
Response
Field | Type | Description |
Errors | List | List of errors in the request |
Field | String | Indicating for which field or fields the error occurred |
Message | String | Details about what is wrong |
Example
{
"errors": [
{
"field": "vin, licensePlate",
"message": "Provide either vin or licensePlate. Both are not accepted together and at least one must be provided."
}
]
}
POST observation/<guid>/description
Based on the GUID returned after a POST /Observation , POST /observation/<guid>/correct, or a POST /observation/<guid>/confirm a description needs to be provided.
For each accepted observation a description needs to be sent. This can happen later at any date.
The description can be sent to Car-Pass when the maintenance, repair or work is done on the vehicle.
The guid of the transaction needs to be in status
PROCESSED
ISSUE
While in status ERROR, ONGOING, REVIEWING, WAITING_FOR_DIV a description can not be sent.
Header Input
Field | Type | Mandatory | Description |
client-software-builder | String | N | Name of the company that is reponsible for the build of the software communicating with the Car-Pass API |
client-software-name | String | N | The name of the software communicating with the Car-Pass API |
client-software-version | String | N | The version of the software communicating with the Car-Pass API |
Path parameter
Field | Type | Mandatory | Description |
---|---|---|---|
guid | String | Y | This can be any guid in case of a correction flow, both the initial as the correction. |
Body
Field | Type | Mandatory | Description |
---|---|---|---|
activities | List<activity> | Y | At least one activity needs to be provided but multiple are possible |
activity.mainActivity | Enum | Y |
|
activity.subActivity | Enum | Y |
|
jobDescriptions | List<String 500> | Y | At least one jobDescription needs to be provided, multiple are possible A job description has a max length of 500 characters |
Tyres | List | N (except for subActivity New_Tyres and SEASON_CHANGE_WITH_NEW_Tyres) | Provide a list of tyres indicating what has been installed, provided one tyre object for each modified tyre (up to a maximum of 6 and max 2 unique combinations) |
Tyres >Brand | String | N (only when Tyres list is specified) |
|
Tyres >Size | Number (MIN 8 , MAX 30) | N (only when Tyres list is specified) |
|
Tyres >Type | string Enum: | N (only when Tyres list is specified) |
|
Tyres >Quantity | Integer (MIN1, MAX 6) | N (only when Tyres list is specified) |
|
{
"activities": [
{
"mainActivity": "MAINTENANCE",
"subActivity": "SMALL_MAINTENANCE"
},
{
"mainActivity": "DIAGNOSTICS_REVIEW",
"subActivity": "BRAKES"
},
{
"mainActivity": "TYRES",
"subActivity": "NEW_TYRES"
}
],
"jobDescriptions": [
"liquide Freins",
"Motorolie",
"LuchtfilterElement",
"Bougies"
]
"tyres" : [
{
"brand" : "Pirelli",
"size": 16,
"type": "SUMMER",
"quantity": 2
},
{
"brand" : "Michelin",
"size": 16,
"type": "SUMMER",
"quantity": 2
}
]
}
Response
Technical validation can happen that mandatory fields are not filled in, this is to be prevented in the UI of the Dealer Management System.
Functional validation is that a description is being sent when there is no accepted linked observation.
field | Mandatory | Type |
|
---|---|---|---|
errors | N | List |
|
error.field | Y | String |
|
error.message | Y | String |
|
{
"errors" : [
{
"field" : "guid",
"message" : "No accepted linked observation"
}
]
}
Work Description API examples
GET/activities
Returns a list of possible activities defined by Car-Pass, the main code an possible subcodes and their translations
Header Input
Field | Type | Mandatory | Description |
client-software-builder | String | N | Name of the company that is reponsible for the build of the software communicating with the Car-Pass API |
client-software-name | String | N | The name of the software communicating with the Car-Pass API |
client-software-version | String | N | The version of the software communicating with the Car-Pass API |
Field | Type | Mandatory | Description |
---|---|---|---|
mainActivity | Enum | Y |
|
en | String | Y |
|
nl | String | Y |
|
fr | String | Y |
|
de | String | Y |
|
subActivities | List<subActivity> | Y |
|
subActivity.subActivity | Enum | Y |
|
subActivity.en | String | Y |
|
subActivity.nl | String | Y |
|
subActivity.fr | String | Y |
|
subActivity.de | String | Y |
|
Work Description Overview List
Main Activity | Sub Activity | Tyre info required | ||||||||
Enum-system | En | Nl | Fr | De | Enum-system | En | Nl | Fr | De |
|
MAINTENANCE | service | onderhoud | entretien | Wartung | PERIODIC_MAINTENANCE | periodic maintenance | periodiek onderhoud | entretien périodique | reguläre Wartung | No |
|
|
|
|
| SUMMER_CHECK | summer check | zomercheck | contrôle été | Urlaubscheck | No |
|
|
|
|
| WINTER_CHECK | winter check | wintercheck | controle hiver | Wintercheck | No |
|
|
|
|
| TECHNICAL_INSPECTION_CHECK | technical inspection check | check voor autokeuring | passage contrôle technique | Vorabcheck technische Kontrolle | No |
|
|
|
|
| OTHER | other | andere | autres | Andere | No |
DIAGNOSTICS_REVIEW | diagnostics/check | diagnose/nazicht | diagnose/controle | Diagnose/Prüfung | BRAKES | brakes | remmen | freins | Bremsen | No |
|
|
|
|
| SUSPENSION | suspension | ophanging | suspension | Aufhängung | No |
|
|
|
|
| AIR_CONDITIONING | air conditioning | airco | climatisation | Klimaanlage | No |
|
|
|
|
| ENGINE_FUEL_SYSTEM | engine & fuel system | motor & brandstofsysteem | moteur & système carburant | Motor & Kraftstoffsystem | No |
|
|
|
|
| POWERTRAIN_STEERING | powertrain & steering | aandrijflijn & stuurinrichting | chaine cinématique & direction | Antriebsstrang & Lenkung | No |
|
|
|
|
| ELECTRONICS | electronics | elektronica | électronique | Elektronik | No |
|
|
|
|
| EXHAUST_EMISSION_TREATMENT | exhaust/emission treatment | uitlaat/emissie nabehandeling | échappement & traitement des émissions | Auspuff & Abgasnachbehandlung | No |
|
|
|
|
| ELECTRIC_SYSTEM_LOW_VOLTAGE | electric system (low voltage) | elektrisch systeem (laagspanning) | système électrique (basse tension) | Elektrische Systeme (Niedervolt) | No |
|
|
|
|
| ELECTRIC_SYSTEM_HIGH_VOLTAGE | electric system (high voltage) | elektrisch systeem (hoogspannng) | système électrique (haute tension) | Elektrische Systeme (Hochvolt) | No |
|
|
|
|
| LIGHTS | lights | verlichting | éclairage | Beleuchtung | No |
|
|
|
|
| INTERIOR | interior | interieur | intérieur | Innenraum | No |
|
|
|
|
| VISUAL_INSPECTION | visual inspection | visuele inspectie | inspection visuelle | visuelle Kontrolle | No |
|
|
|
|
| OTHER | other | andere | autres | Andere | No |
REPAIR_ADJUST | repair/adjust | herstellen/regelen | réparation/règlage | Reparatur/Einstellung | BRAKES | brakes | remmen | freins | Bremsen | No |
|
|
|
|
| SUSPENSION | suspension | ophanging | suspension | Aufhängung | No |
|
|
|
|
| AIR_CONDITIONING | air conditioning | airco | climatisation | Klimaanlage | No |
|
|
|
|
| ENGINE_FUEL_SYSTEM | engine & fuel system | motor & brandstofsysteem | moteur & système carburant | Motor & Kraftstoffsystem | No |
|
|
|
|
| POWERTRAIN_STEERING | powertrain & steering | aandrijflijn & stuurinrichting | chaine cinématique & direction | Antriebsstrang & Lenkung | No |
|
|
|
|
| ELECTRONICS | electronics | elektronica | électronique | Elektronik | No |
|
|
|
|
| EXHAUST_EMISSION_TREATMENT | exhaust/emission treatment | uitlaat/emissie nabehandeling | échappement & traitement des émissions | Auspuff & Abgasnachbehandlung | No |
|
|
|
|
| ELECTRIC_SYSTEM_LOW_VOLTAGE | electric system (low voltage) | elektrisch systeem (laagspanning) | système électrique (basse tension) | Elektrische Systeme (Niedervolt) | No |
|
|
|
|
| ELECTRIC_SYSTEM_HIGH_VOLTAGE | electric system (high voltage) | elektrisch systeem (hoogspannng) | système électrique (haute tension) | Elektrische Systeme (Hochvolt) | No |
|
|
|
|
| LIGHTS | lights | verlichting | éclairage | Beleuchtung | No |
|
|
|
|
| INTERIOR | interior | interieur | intérieur | Innenraum | No |
|
|
|
|
| OTHER | other | andere | autres | Andere | No |
REPLACE_ASSEMBLE | replace/fitting | vervangen/monteren | remplacement/montage | Erneuern/Einbauen | SHOCK_ABSORBER | shock absorber | schokdemper | amortisseurs | Schwingungsdämpfer | No |
|
|
|
|
| WATER_PUMP | water pump | waterpomp | pompe à eau | Wasserpumpe | No |
|
|
|
|
| TIMING_BELT_CHAIN | drive belt or chain | distributieriem/ketting | courroie/chaîne de distribution | Zahnriemen/Steuerkette | No |
|
|
|
|
| INJECTORS | injectors | injectoren | injecteurs | Injektoren | No |
|
|
|
|
| FUEL_PUMP_HIGH_PRESSURE | fuel pump high pressure | brandstofpomp (hoge druk) | pompe à carburant (haute pression) | Kraftstoffpumpe (Hochdruck) | No |
|
|
|
|
| TURBO | turbo | turbo | turbo | Turbolader | No |
|
|
|
|
| CYLINDER_HEAD_GASKET | cylinder head gasket | cylinderkoppakking | joint de culasse | Zylinderkopfdichtung | No |
|
|
|
|
| COMPLETE_ENGINE | complete engine | volledige motor | moteur complet | Kompletter Motor | No |
|
|
|
|
| CLUTCH | clutch | koppeling | embrayage | Kupplung | No |
|
|
|
|
| GEARBOX | gearbox | versnellingsbak | boîte de vitesse | Getriebe | No |
|
|
|
|
| CARDAN_SHAFT | cardan shaft | cardanas | cardan | Kardanwelle | No |
|
|
|
|
| DIFFERENTIAL | differential | differentieel | differentiel | Differential | No |
|
|
|
|
| EXHAUST_MUFFLER | exhaust (muffler) | uitlaat (demper) | (pot) d'échappement | Auspufftopf | No |
|
|
|
|
| PARTICULATE_FILTER | particulate filter | roetfilter | filtre à particules | Rußpartikelfilter | No |
|
|
|
|
| CATALYTIC_CONVERTER | catalytic converter | katalysator | catalysateur | Katalysator | No |
|
|
|
|
| STARTER | starter | startmotor | démarreur | Anlasser | No |
|
|
|
|
| ALTERNATOR | alternator | alternator | alternateur | Generator | No |
|
|
|
|
| BATTERY_HIGH_VOLTAGE | battery high voltage | batterij hoogspanning | batterie haute tension | Hochvoltbatterie | No |
|
|
|
|
| BATTERY_LOW_VOLTAGE | battery low voltage | batterij laagspanning | batterie basse tension | Niedervoltbatterie | No |
|
|
|
|
| ACCESSORIES | accessories | accessoires | accessoires | Zubehöre | No |
|
|
|
|
| OTHER | other | andere | autres | Andere | No |
BODYWORK | bodywork | carrosseriewerk | travaux de carrosserie | Karosseriearbeiten | DAMAGE_REPAIR | damage repair | schadeherstelling | réparation carrosserie | Karosseriereparatur | No |
|
|
|
|
| COSMETIC_REPAIR | cosmetic repair | cosmetische herstelling | réparation cosmétique | Kosmetische Reparatur | No |
|
|
|
|
| PRE_DELIVERY_INSPECTION | pre-delivery inspection | pre-delivery inspection | reconditionnement | Auslieferungsinspektion | No |
|
|
|
|
| REPAIR_WINDOW | repair window(s) | herstelling ruit(en) | réparation vitre(s) | Scheibenreparatur | No |
|
|
|
|
| REPLACE_WINDOW | replace window(s) | vervanging ruit(en) | remplacement vitre(s) | Scheibenaustausch | No |
|
|
|
|
| RESTORATION | restoration | restauratie | restauration | Restaurierung | No |
|
|
|
|
| OTHER | other | andere | autres | Andere | No |
TYRES | tyres | banden | pneumatiques | Bereifung | REPAIR_TYRES | repair tyre(s) | herstelling band(en) | réparation pneu(s) | Reifenreparatur | No |
|
|
|
|
| SEASON_CHANGE_TYRES | season change tyres | seizoenswissel banden | changement saisonnier | Saisonbedingter Reifenwechsel | No |
|
|
|
|
| SEASON_CHANGE_TYRES_WITH_NEW_TYRES | season change tyres with new tyres | seizoenswissel banden met monteren nieuwe banden | changement saisonnier avec montage nouveau pneus | Saisonbedingter Reifenwechsel mit Montage neuer Reifen | Yes* |
|
|
|
|
| NEW_TYRES | install new tyres | monteren nieuwe banden | montage nouveau pneus | Neue Reifen montieren | Yes* |
|
|
|
|
| WHEEL_ALIGNMENT | wheel alignment | wieluitlijning | réglage géométrie | Achsvermessung | No |
|
|
|
|
| OTHER | other | andere | autres | Andere | No |
ROADSIDE_ASSISTANCE | roadside assistance | pechverhelping | dépannage routière | Pannenhilfe | ROADSIDE_ASSISTANCE | roadside assistance | pechverhelping | dépannage routière | Pannenhilfe | No |
*Extra required information :
Marke | Abmessungen | Typ (Winter, Sommer, Allwetter) |
Merk | Afmeting (inch) | Type (winter, zomer, all seasons) |
Marque | Dimension(inch) | Type (Hiver, été, all seasons) |
Brand | Dimension(inch) | Type (winter, summer, all seasons) |
Expected values :
Brand (String)
Size (number)
Type (WINTER, SUMMER, ALL_SEASONS)
Quantity (int)
Issue List
Issue Code | Data accepted/saved by Car-Pass | Work description required | Issue description NL | Issue description FR | Issue Description DE | Correction Possible |
[001] | YES | YES | Kilometerstand lager dan laatste. | Kilométrage inférieur au précédent. | Kilometerstand niedriger als vorheriger. | YES |
[110] | NO | NO | Ongeldige kilometerstand - de gegevens werden verworpen | Kilométrage invalide - les données ont été rejetées. | Ungültiger Kilometerstand - Die Daten wurden abgelehnt. | YES |
[120] | NO | NO | Onbekend of inactief ondernemingsnummer - de gegevens werden verworpen | Numéro d'entreprise inconnu ou inactif - les données ont été rejetées. | Unternehmensnummer unbekannt oder nicht aktiv - Die Daten wurden abgelehnt. | NO |
[121] | NO | NO | Onbekende gebruikerscode - de gegevens werden verworpen | Code utilisateur inconnu - les données ont été rejetées. | Benutzercode unbekannt - Die Daten wurden abgelehnt. | NO |
[123] | NO | NO | U heeft reeds een km-stand geleverd voor deze wagen op deze datum. | Vous avez déjà fourni un kilométrage pour ce véhicule à cette même date. | Sie haben bereits an diesem Datum einen Kilometerstand für dieses Fahrzeug gemeldet - die Daten wurden abgelehnt. | NO |
[124] | NO | NO | Chassisnummer niet uniek. Specifieer ook datum 1ste inschrijving - de gegevens werden verworpen | Le numéro de châssis n'est pas unique. Spécifiez aussi la date de première immatriculation - les données ont été rejetées. | Die Fahrgestellnummer ist nicht einmalig. Geben Sie auch das Erstanmeldungsdatum ein - Die Daten wurden abgelehnt. | YES |
[128] | NO | NO | Het probleem is reeds opgelost of de verbetertermijn is verstreken - de correctie werd verworpen | Problème déjà résolu ou le délai pour le résoudre est expiré - la correction a été rejetée. | Problem bereits gelöst oder Lösungsfrist abgelaufen - Die Berichtigung wurde abgelehnt. | NO |
[129] | YES | YES | De verbetering heeft terug een fout veroorzaakt. | La correction a de nouveau créé une erreur. | Die Korrektur hat erneut einen Fehler verursacht. | YES |
[130] | NO | NO | Dit probleem kan enkel opgelost worden door gebruiker die de originele km-stand heeft aangeleverd - de correctie werd verworpen | Le problème ne peut être résolu que par l'utilisateur qui a fourni le kilométrage original - la correction a été rejetée. | Das Problem kann nur von der Person gelöst werden, die den anfänglichen Kilometerstand eingegeben hat. - Die Berichtigung wurde abgelehnt | NO |
[131] | NO | NO | Dit chassisnummer is onbekend in de databank van Car-Pass - de gegevens werden verworpen | Ce numéro de châssis est inconnu dans la base de données de Car-Pass. | Fahrgestellnummer unbekannt in der Datenbank von Car-Pass. | YES |
[134] | NO | NO | De opgegeven vestiging behoort niet tot de onderneming - de gegevens werden verworpen | L'unité d'établissement n'appartient pas à l'entreprise - les données ont été rejetées | Die Kombination Unternehmensnummer/Niederlassungsnummer ist ungültig. - Die Daten wurden abgelehnt | NO |
[146] | NO | NO | Gebruikerscode en Verzenderscode zijn beide inactief - de gegevens werden verworpen | Code utilisateur et code expéditeur sont inactifs | Benutzercode und Absendercode sind beide unbekannt oder inaktiv | NO |
[147] | NO | NO | De datum der werken is ouder dan 3 jaar - de gegevens werden verworpen | La date des travaux est plus ancienne que 3 ans. | Das Aufnahmedatum ist älter als 3 Jahre. | NO |
[150] | NO | NO | U hebt deze gegevens reeds meegedeeld - de gegevens werden verworpen | Vous nous avez déjà communiqué ces données. | Sie versehen diese Informationen bereits. | NO |
[163] | NO | NO | Bevestiging zonder open problemen - de correctie werd verworpen | Confirmation sans problèmes ouverts | Bestätigung ohne offene Probleme | NO |
[180] | NO | NO | U kan enkel de datum van vandaag opgeven - de gegevens werden verworpen | Vous ne pouvez qu’introduire la date d’aujourd’hui. | Sie dürfen nur das heutige Datum eingeben. | NO |
[190] | NO | NO | De nummerplaat is niet gekend bij DIV | La plaque d'immatriculation n’est pas connue chez DIV | Das Kennzeichen ist beim DIV nicht bekannt | YES |
[203] | YES | YES | De kilometerstand werd niet binnen de wettelijk voorziene termijn meegedeeld. | Le kilométrage n'a pas été envoyé à Car-Pass endéans le délai prévu par la loi. | Der Kilometerstand wurde nicht innerhalb des gesetzlichen Zeitrahmens mitgeteilt. | YES |
[205] | YES | YES | Deze kilometerstand bestaat uit 6 cijfers terwijl de teller van het voertuig slechts 5 cijfers aangeeft. | Le compteur kilométrique du véhicule compte 5 chiffres et vous en transmettez 6. | Der Kilometerstand umfasst mehr Ziffern als der Kilometerzähler des Fahrzeugs | YES |
[206] | YES | YES | Voertuig staat geregistreerd als wrak. | Le véhicule est enregistré comme une épave. | Das Fahrzeug ist als Wrack eingetragen. | YES |
[207] | NO | YES | Formaat chassisnummer is niet juist - de gegevens werden verworpen | Le format de numéro de châssis est invalide. | Das Format der Fahrgestellnummer ist ungültig. | YES |
[208] | YES | YES | De kilometerstand is een afgerond getal. | Le kilométrage est un nombre arrondi, évitez d'arrondir les kilométrages. | Der Kilometerstand ist eine abgerundete Zahl. | YES |
[209] | YES | YES | De kilometerstand is veel hoger dan verwacht. | L'évolution du kilométrage est sensiblement plus élevée que par le passé. | Der Kilometerstand ist höher als der Normalwert. | YES |
[210] | YES | YES | Kleine anomalie | Petite anomalie | Kleine Anomalie | YES |
[242] | NO | NO | Organisatie niet toegelaten om voertuighistoriek aan te vragen - de gegevens werden verworpen | Organisation n'est pas autorisée à consulter l'historique kilométrique | Organisation nicht zugelassen, um die Fahrzeugvorgeschichte anzufordern | NO |
[250] | YES | YES | Verzenderscode is inactief | Code expéditeur est inactif | Absendercode ist inaktiv | NO |
[251] | YES | YES | Gebruikerscode is inactief | Code utilisateur est inactif | Benutzercode ist inaktiv | NO |
Vehicle History Report
Professional dealers offering second-hand vehicles for sale are legally obliged to display the information that appears on the Car Pass in the advertisement and showroom. Therefore they have to request a vehicle history report via web services or the Car-Pass website.
To request a Vehicle History Report (VHR), the user has to provide the VIN and the Odometer Reading of the day. It is not allowed to include another date in the VHR request than the date of the request. It goes without saying that the odometer reading must be accurate and match with the day of the request because Car-Pass will store this data and they will appear and all upcoming VHR and Car-Pass documents.
In fact a request for a VHR is treated as an ordinary Observation. Therefore the same web service method is used to provide a new Observation. The distinction is made based on the provided Observation Type.
Issues can be corrected in the same way as a normal correction. When the correction is valid and the data is accepted by Car-Pass the Vehicle History Report will be generated. The professional can retrieve the Vehicle History report by performing a status request. The VHR contains a unique hyperlink. This hyperlink needs to be included in the advertisement for the vehicle, to allow potential buyers to consult the Car-Pass data for that particular vehicle. It is also possible to receive the vehicle history as a pdf, that can be printed and apposed in or close to the vehicle in the showroom.
While creating a vehicle history we consult several external databases. These sometimes respond very slowly or not at all. For this, our timeout is set to 1 minute. When we return an 'ONGOING', it means that we are waiting for a response. Please write your application so that it recalls the method GET /observation{request with a maximum of 1 request in 10 seconds until you get a valid response back that is different from 'ONGOING' and this for a duration of minimum 90 seconds.
API call Examples
Testing Purposes
For testing purposes we can provide you test accounts and test chassisnummers. Please sent your request to supportit@car-pass.be
If you received in the past already a test account, this will reamin available.
The link to the test website is: https://professionals.beta.car-pass.be/auth/login If you want to test on license plates, we ask you to send us some VIN numbers and the matching license plates, which we will create in the test environment.
Swagger Page
Link to the swagger page : Swagger UI (car-pass.be)