API de Reconocimiento de Vehículos
Un API que permite detectar matricula, logo, marca, y modelo en fotografías de vehículos
La API de reconocimiento de vehículos de ZPK Systems permite detectar modelo, marca, y matrícula en vehículos como coches, motocicletas, o camiones.
Esta API ofrece mas datos que la API de PlateScanner, destinada únicamente a la detección de la matrícula.
Admás, nuesta API de detección de vehículos proporciona gratuitamente la funcionalidad de difuminar las matrículas en vehículos para anonimizar la fotografía.
Conectando a la API
Servidor y protocolos para la conexión
Servidor: | https://zpk.systems |
---|---|
Esquema: | HTTPS, solo conexiones seguras SSL. |
Protocolo: |
JSON recomendado
Enviando un JSON en el body del request, y especificando una cabecera Content-Type: application/json en el request Si envia ficheros como imágenes o documentos, estos deberán estar codificados en base64. Form-Data no recomendado
Formato usado en los formularios web, no recomendado. Al enviar una solicitud tipo form_data puede enviar todos los campos como parámetros POST separados. Sin embargo si la solicitud es muy grande recomendamos que envie el contenido de la peticion en un único campo de texto llamado _json (con un guión bajo). Este parametro especial sera procesado por nuestro backend como si se tratase de una solicitud JSON habitual. |
El servidor dónde enviar las solicitudes es https://zpk.systems mediante una conexión HTTPS segura.
El tipo de comunicación recomendado es JSON, en cuyo caso especificaremos en la conexión un Content-Type: application/json, y enviaremos el body de la solicitud como un string JSON válido.
Endpoint & Parameters
Parameter | Description |
---|---|
application_id |
string required An application id. You can get the id of an application by clicking on 'details' in your panel |
api_key |
string required The API KEY of the application that makes the call to this API, you can obtain it in your panel, by clicking on the 'details' button of an application |
vins |
array : strings required One ore more VIN numbers to analyze. |
score_filters |
array optional When an invalid VIN is provided, this API will try to propose the correct VINS that it considers closest to the incorrect VIN provided. The score_filters array allows you to alter the internal score that different VIN codes receive based on data such as manufacturing area, country of manufacture, manufacturer name, or brand. Allowing, for example, to prioritize VINs from a specific manufacturer or country. score_filters must contain an array of elements, each of them indicating a filter and a score that will be applied in case that filter is met In this example, three filters have been applied to alter the score, giving priority to vehicles manufactured in Africa, and penalizing those manufactured in America. Additionally, it is desired to filter out those manufacturers of tractors, and motorcycles.
Zones, Countries and ManufacturersThis API can provide you with all the manufacturers, countries, and commercial brands that a VIN can return. See: Getting all countries, Getting all manufacturers, Obtaining all brands |
Responses
Success response
{
"success": true,
"results": [
{
"sent": "L6TCX2E70ME005154",
"vin": {
"vin_number": "L6TCX2E70ME005154",
"valid": true,
"fixed": false,
"year": 2021,
"wmi": "L6T",
"vis": "ME005154",
"serial": "005154",
"manufacturer_name": "Geely",
"uses_manufacturation_plant_code": true,
"manufacturation_plant_code": "E",
"manufacturer_code": "L6T",
"uses_check_digit": true,
"provided_check_digit": "0",
"expected_check_digit": "0",
"valid_check_digit": true,
"low_volume_manufacturer": false,
"brands": [
"geely"
],
"country_name": "China (Mainland)",
"country_zone": "Asia"
},
"considered_vins": [
{
"vin_code": "L6TCX2E70ME005154",
"quality": 1
}
]
}
],
"costs": {
"base_request_cost": 0.007,
"price_per_extra_vin": 0.003,
"extra_vins": 0,
"extra_vins_cost": 0,
"total_cost": 0.007
}
}
Response structure
Parameter | Description |
---|---|
success |
boolean
A boolean with value true if your request could be processed. Or false, in case of errors. |
results |
array
An array that will contain all the VINs that have been sent, along with the extracted data and an analysis of the validity of each VIN code. See the following table for details on the elements of this array. |
costs |
associative : array
Detailed information on the cost of the request sent, where:
base_request_cost: The minimum cost when making the request to scan a VIN, and price of first VIN.
price_per_extra_vin: The cost of parsing an extra VIN code in the same request.
extra_vins: The number of VINS sent apart from the first. If you submitted three VIN codes, extra_vins will be two.
extra_vins_cost: The cost of analyzing the other VIN codes after the first one.
total_cost: Total cost of API request.
|
Parameter | Description | ||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
sent |
string
The VIN code as it was sent in your request, before it is corrected in case of detecting errors. | ||||||||||||||||||||||||||||||||||||||||
vin |
associative : array
Array with the information extracted from this VIN and the possible corrections in case of detecting a potentially wrongly typed VIN.
|
||||||||||||||||||||||||||||||||||||||||
considered_vins |
array
A list of the VINs that were considered during the autocorrection phase, in case the vin was considered correct as provided to the API will contain a single element. In the event that the API has considered several VINs, this list will contain those that it has considered together with a quality score). Each element of the considered_vins array contains:
vin_code: The considered VIN code string
quality: The score that the API gave to that vin code, and which may be affected by scoring filters if provided. float
|
Error response
{
"success": false,
"errors": [
{
"id": "MISSING_REQUIRED_PARAMETER",
"message": "Required parameter 'vins' not sent",
"on": "vins"
}
]
}
Getting all manufacturers.
To get all the vehicle manufacturers that the API can return to prepare your database or to create your filters, you can use the following endpoint.
Parameter | Description |
---|---|
application_id |
string required An application id. You can get the id of an application by clicking on 'details' in your panel |
api_key |
string required The API KEY of the application that makes the call to this API, you can obtain it in your panel, by clicking on the 'details' button of an application |
A list containing all possible manufacturers will be returned::
{
"success": true,
"manufacturers": [
{
"code": "LDC",
"name": "Dongfeng Peugeot-Citroën",
"zone": "Europe",
"country": "Slovenia",
"brands": ["Peugeor","Citroën"]
}
]
}
Getting all countries.
If you want to get all the countries where the vehicle manufacturers operate to prepare your database, or to create filters, you can use the following endpoint.
Parameter | Description |
---|---|
application_id |
string required An application id. You can get the id of an application by clicking on 'details' in your panel |
api_key |
string required The API KEY of the application that makes the call to this API, you can obtain it in your panel, by clicking on the 'details' button of an application |
A list with all the countries and the zone to which they belong will be returned.
{
"success": true,
"countries": [
{
"code": "KA-KE",
"name": "Sri Lanka",
"zone": "Asia"
}
]
}
Obtaining all commercial brands.
If you need to get all the vehicle commercial brands that the API can return to prepare your database, or to create filters, you can use the following endpoint.
Parameter | Description |
---|---|
application_id |
string required An application id. You can get the id of an application by clicking on 'details' in your panel |
api_key |
string required The API KEY of the application that makes the call to this API, you can obtain it in your panel, by clicking on the 'details' button of an application |
A list with all commercial brands will be returned.
{
"success": true,
"brands": [
"opel","peugeot","sundiro","..."
]
}
PHP Integration
ZPK-PHP is an open source composer-installable library that will allow you to integrate our APIs into your PHP project with minimal effort.
Go to PHP-SDKInstalling ZPK-PHP with composer
composer require zpksystems/phpzpk
Example PHP code
<?php
// Initialize ZPK application
$app = new zpkApplication('appid','key');
$vinAnalyzer = new VinAnalyzer($app);
$vinAnalyzer->addVin('L6TCX2E70ME005154');
$vinAnalyzer->addVins(['L6TCX2E70ME005154','6TCX2E70ME005154']);
// Make a request
$response = $vinAnalyzer->analyze()
var_dump($response);
Pricing
VinAnalyzer has a cost per number of requests, the cost per request is 0,004 which will be deducted from your current credit.
However, in each request you can request up to 20 VINS, the price for each extra VIN is only 0,003
If you do not have credit in your account when making a request, the VIN Analyzer API will return an error.
Pricing table
Requests | VINS per request | Request price | Vin decoding price |
---|---|---|---|
1 | 1 | 0,004 | 0,004 |
1 | 5 | 0,016 | 0,003 |
1 | 20 | 0,061 | 0,003 |
100 | 1 | 0,400 | 0,400 |
100 | 5 | 1,600 | 0,320 |
100 | 20 | 6,100 | 0,305 |
1.000 | 1 | 4,000 | 4,000 |
1.000 | 5 | 16,000 | 3,200 |
1.000 | 20 | 61,000 | 3,050 |
5.000 | 1 | 20,000 | 20,000 |
5.000 | 5 | 80,000 | 16,000 |
5.000 | 20 | 305,000 | 15,250 |
10.000 | 1 | 40,000 | 40,000 |
10.000 | 5 | 160,000 | 32,000 |
10.000 | 20 | 610,000 | 30,500 |
100.000 | 1 | 400,000 | 400,000 |
100.000 | 5 | 1.600,000 | 320,000 |
100.000 | 20 | 6.100,000 | 305,000 |
Regístrese para probar esta API
Regístrese para obtener crédito gratuito y probar esta y otras APIs de ZPK