API: Vehicles
M: Listar vehiculos
HTTP GET:
https://<hostname>/api/vehicles
URL PARAMETERS:
| Nombre | Tipo | Requerido | Descripción | |
|---|---|---|---|---|
page_size |
Tamaño de Página | Numérico | no | (opcional, default: 5000, max: 5000) Cantidad de elementos que se quiere obtener en la respuesta. |
page_num |
Número de Página | Numérico | no | (opcional, default: 0) Si la cantidad global de elementos es mayor al tamaño de página utilizado, se utiliza este parámetro para obtener una página específica. |
name |
Nombre | string | no | Texto que debe contener el nombre de los vehículos. |
OUTPUT:
Json con los campos:
success:booleandata:jsonContiene una lista de Vehicle Data Objects
EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
-X GET
https://<hostname>/api/vehicles?name=Repartidor
RESPUESTA:
{
"success": true,
"data": [
{
"description": "Repartidor",
"id": "46",
"unit_id": "15628",
"license_plate": "P-634DBF",
"engine_num": "005988-TE",
"model": "Sephia",
"year": "1998",
"make": "KIA",
"color": "Azul",
"title_img": "",
"picture": "",
"driver_id": "",
"drivergroup_id": "3",
"crew_id": "",
"odom_units": "1",
"distperfuel_est": "0",
"hrsperfuel_est": "0.00",
"fuel_volume": "",
"fuel_base": "13",
"fuel_slope": "-0.003",
"fuel_radius": "",
"fuel_radius_b": "",
"fuel_c4": "",
"capacity": "0",
"capacity_units": "0",
"volts": "12",
"veh_type": "2",
"doors": "4",
"status": "0",
"tags": "{8}",
"vin": "KNAFB1218W5718002",
"insurance_expiration": "",
"insurance_policy": "",
"bat_serial": "",
"bat_install_date": "",
"creation_date": "2008-11-28 00:00:00-06",
"changed_date": "2016-06-15",
"deactivated": "0"
}
]
}
M: Ver vehículo
HTTP GET:
https://<hostname>/api/vehicle/<id>
URL PARAMETERS:
| Nombre | Tipo | Requerido | Descripción | |
|---|---|---|---|---|
id |
Id de Vehículo | Numérico | sí | Id del vehículo que se quiere consultar. |
include_last_report |
Incluir último reporte | Booleano | no | Entrega información adicional sobre el último reporte del vehículo |
is_remote_id |
El id es remoto | Booleano | no | Busca por el id remoto (identificado como vin) del vehículo |
OUTPUT:
Json con los campos:
success:booleandata:jsonVehicle Data Object
Datos adicionales include_last_report=true
| Nombre | Tipo | Requerido | |
|---|---|---|---|
last_report_datetime_iso |
Fecha de último reporte | ISO 8601 | sí |
last_sensor_readings |
Últimas mediciones de sensores | Lista de SensorReading | no |
x |
X | Texto | sí |
y |
Y | Texto | sí |
O: SensorReading
| Nombre | Tipo | Requerido | |
|---|---|---|---|
unit_sensor_id |
Id del sensor | Entero | sí |
unit_sensor_name |
Nombre del sensor | Texto | sí |
sensor_type_id |
Tipo del sensor | Entero (1: Temperatura, 2: Combustible) |
sí |
value |
Valor de medición | Número | no |
units |
Unidades de la medición | String | no |
EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
-X GET
https://<hostname>/api/vehicle/150
RESPUESTA:
{
"success": true,
"data": {
"description": "Despacho de congelados - Zona Norte",
"id": "150",
"client_id": "10",
"unit_id": "2001",
"license_plate": "P-457DQK",
"engine_num": "DBA3677DA1BADC9A",
"model": "Canter",
"year": "2004",
"make": "Mitsubishi",
"color": "Blanco",
"title_img": null,
"picture": null,
"driver_id": "51",
"drivergroup_id": "32",
"crew_id": "",
"odom_units": "1",
"distperfuel_est": "14.3",
"hrsperfuel_est": "28.112",
"fuel_volume": "9.3",
"fuel_base": "52",
"fuel_slope": "-12",
"fuel_radius": "",
"fuel_radius_b": "",
"fuel_c4": "",
"fuel_type": "Diesel",
"volts": "12",
"veh_type": "1",
"doors": "2",
"status": "0",
"tags": [
"120"
],
"vin": "74293871502838287488821",
"insurance_expiration": "2022-01-15",
"insurance_policy": "GYT-15826A",
"bat_serial": "978598759875987BD",
"bat_install_date": "2017-03-08",
"vol_capacity": "750",
"vol_capacity_units": "0",
"weight_capacity": "163",
"creation_date": "2017-03-09 20:18:22+00",
"changed_date": "2018-11-02",
"deactivated": "0"
}
}
M: Modificar vehículo
HTTP PUT:
https://<hostname>/api/vehicle/<id>
URL PARAMETERS:
| Nombre | Tipo | Requerido | Descripción | |
|---|---|---|---|---|
| id | Id del vehículo | Numérico | sí | Id del vehículo que se quiere modificar. |
BODY PARAMETERS:
- Vehicle Data Object. Únicamente los campos que se quiere modificar.
OUTPUT:
Json con los campos:
success:boolean
EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
-X PUT
--data "license_plate=P-DFG789"
https://<hostname>/api/vehicle/12
RESPUESTA:
{
"success": true
}
M: Asignar conductor a vehículo
HTTP PUT:
https://<hostname>/api/vehicle/<id>/set_driver/<driver_id>
EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
-X PUT
https://<hostname>/api/vehicle/2468/set_driver/14501
RESPUESTA:
{
"success": true
}
M: Desasignar conductor
HTTP PUT:
https://<hostname>/api/vehicle/<id>/no_driver
EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
-X PUT
https://<hostname>/api/vehicle/2468/no_driver
RESPUESTA:
{
"success": true
}
M: Ver historia de conductores
HTTP GET:
https://<hostname>/api/vehicle/<id>/drivers
URL PARAMETERS:
| Nombre | Tipo | Requerido | Descripción | |
|---|---|---|---|---|
page_size |
Tamaño de Página | Numérico | no | (opcional, default: 5000, max: 5000) Cantidad de elementos que se quiere obtener en la respuesta. |
page_num |
Número de Página | Numérico | no | (opcional, default: 0) Si la cantidad global de elementos es mayor al tamaño de página utilizado, se utiliza este parámetro para obtener una página específica. |
OUTPUT:
Json con los campos:
success:booleandata:jsonContiene una lista de Driver Change Objects
EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
-X GET
https://<hostname>/api/vehicle/2468/drivers
RESPUESTA:
{
"success": true,
"data": [
{
"date_time": "2017-05-26 15:06:40+00",
"driver_id": "14"
},
{
"date_time": "2017-05-26 19:04:28+00",
"driver_id": "21"
}
]
}
M: Asignar Ruta a Vehiculo
HTTP POST:
https://<hostname>/api/vehicle/<vehicle_id>/route/<route_id>
URL PARAMETERS:
| Nombre | Tipo | Requerido | Descripción | |
|---|---|---|---|---|
vehicle_id |
Id de Vehículo | Numérico | sí | Id del Vehículo al que se quiere asignar la Ruta. |
route_id |
Id de Ruta | Numérico | sí | Id de la Ruta que se quiere asignar al Vehículo. |
BODY PARAMETERS:
| Nombre | Tipo | Requerido | Descripción | |
|---|---|---|---|---|
driver_id |
Id de Conductor | Numérico | no | Id del Conductor que se asignará al Vehículo al iniciar la ejecución de la Ruta. |
expected_start_date |
Fecha de inicio esperada | Fecha | no | Fecha y hora en la que el Vehículo debería iniciar la ejecución de la Ruta. |
expected_duration |
Duración esperada | Numérico | no | Cantidad máxima de segundos que el Vehículo debe tomar para finalizar la ejecución de la Ruta. |
OUTPUT:
Json con los campos:
success:boolean
EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
-X POST
--data "driver_id=112&expected_start_date=2019-04-04T17:00:00&expected_duration=60"
https://<hostname>/api/vehicle/240/route/321
RESPUESTA:
{
"success": true
}
M: Listar paradas de un vehículo
Ver documentación en Informes > Paradas
M: Compartir rastreo de vehículo
HTTP POST:
https://<hostname>/api/vehicle/<vehicle_id>/share?expiration_datetime_iso=<expiration_datetime_iso>
URL PARAMETERS:
| Nombre | Tipo | Requerido | Descripción | |
|---|---|---|---|---|
vehicle_id |
Id de vehículo | Numérico | sí | Id del vehículo cuyo rastreo se desea compartir. |
expiration_datetime_iso |
Fecha de expiración | ISO 8601 | sí | Fecha y hora en que expirará el enlace para compartir el rastreo. |
OUTPUT:
Json con los campos:
success:booleandata:jsonVehicle Share Object
EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
-X POST
"https://<hostname>/api/vehicle/1057/share?expiration_datetime_iso=2026-07-30T23:59:59-06"
RESPUESTA:
{
"success": true,
"data": {
"id": 363,
"link": "http://localhost:2000/track.php?s=790fab12b9105a163f81ad9a6add80e86035e6bbd279f894a2331ed1109fa974",
"description": "Share vehicle trip Reparto Zona Norte (C-555AAA)",
"is_disabled": false
}
}
M: Ver rastreo compartido de vehículo
HTTP GET:
https://<hostname>/api/vehicle/<vehicle_id>/share/<share_id>
URL PARAMETERS:
| Nombre | Tipo | Requerido | Descripción | |
|---|---|---|---|---|
vehicle_id |
Id de vehículo | Numérico | sí | Id del vehículo asociado al rastreo compartido. |
share_id |
Id de rastreo compartido | Numérico | sí | Id del enlace de rastreo compartido que se desea consultar. |
OUTPUT:
Json con los campos:
success:booleandata:jsonVehicle Share Object
EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
-X GET
https://<hostname>/api/vehicle/1057/share/363
RESPUESTA:
{
"success": true,
"data": {
"id": 363,
"link": "http://localhost:2000/track.php?s=790fab12b9105a163f81ad9a6add80e86035e6bbd279f894a2331ed1109fa974",
"description": "Share vehicle trip Reparto Zona Norte (C-555AAA)",
"is_disabled": false
}
}
M: Deshabilitar rastreo compartido de vehículo
HTTP DELETE:
https://<hostname>/api/vehicle/<vehicle_id>/share/<share_id>
URL PARAMETERS:
| Nombre | Tipo | Requerido | Descripción | |
|---|---|---|---|---|
vehicle_id |
Id de vehículo | Numérico | sí | Id del vehículo asociado al rastreo compartido. |
share_id |
Id de rastreo compartido | Numérico | sí | Id del enlace de rastreo compartido que se desea deshabilitar. |
OUTPUT:
Json con los campos:
success:booleandata:jsonVehicle Share Object
EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
-X DELETE
https://<hostname>/api/vehicle/1057/share/363
RESPUESTA:
{
"success": true,
"data": {
"id": 363,
"link": null,
"description": "Share vehicle trip Reparto Zona Norte (C-555AAA)",
"is_disabled": true
}
}
Respuesta de error de rastreo compartido
Los tres endpoints de rastreo compartido documentados anteriormente responden con esta estructura cuando ocurre un error. El siguiente, por ejemplo, se presenta cuando no se encuentra el rastreo compartido para algún vehículo:
{
"code": "share_not_found",
"details": null,
"message": "¡Ups!. No se pudo encontrar lo que estabas buscando.",
"success": false,
"errors": null
}
O: Vehicle Data Object
Cada objeto de vehículo tiene estos campos:
| campo | read-only | requerido | |
|---|---|---|---|
description |
no | sí | |
id |
sí | sí | |
unit_id |
sí | sí | |
license_plate |
no | sí | |
engine_num |
no | sí | |
model |
no | sí | |
year |
no | sí | |
make |
no | sí | |
color |
no | sí | |
title_img |
no | sí | |
picture |
no | sí | |
driver_id |
sí | sí | |
drivergroup_id |
sí | sí | |
crew_id |
sí | sí | |
odom_units |
no | sí | ver tabla |
distperfuel_est |
no | sí | |
hrsperfuel_est |
no | sí | |
fuel_volume |
no | sí | |
fuel_base |
no | sí | |
fuel_slope |
no | sí | |
fuel_radius |
no | sí | |
fuel_radius_b |
no | sí | |
fuel_c4 |
no | sí | |
capacity |
no | sí | |
capacity_units |
no | sí | |
volts |
no | sí | |
veh_type |
no | sí | ver tabla |
doors |
no | sí | |
status |
no | sí | ver tabla |
tags |
no | sí | |
vin |
no | sí | |
insurance_expiration |
no | sí | |
insurance_policy |
no | sí | |
bat_serial |
no | sí | |
bat_install_date |
no | sí | |
creation_date |
sí | sí | |
changed_date |
sí | sí | |
deactivated |
no | sí | |
odometer |
no | no | |
hourometer |
no | no |
odom_units: Unidades de Odómetro
Enviar el número correspondiente a la unidad elegida:
1: Kilómetros2: Millas
veh_type: Tipo de Vehículo
Enviar el número correspondiente al tipo de vehículo elegido:
1: Camión2: Automóvil3: Bus4: Motocicleta5: Persona6: Semi-trailer7: Edificio8: Montacargas9: Taxi10: Pickup11: Tractor12: Excavadora13: Patrulla14: Teléfono móvil15: Trailer
status: Estado
Enviar el número correspondiente al estado elegido:
0: Normal1: En Mantenimiento2: Fuera de Servicio3: Dispositivo de Rastreo en Reparación4: Se usa de vez en cuando
O: Driver Change Object
| Key | Nombre | Descripción |
|---|---|---|
date_time |
Fecha y hora | Fecha y hora del cambio de conductor. |
driver_id |
Id del conductor | Id del nuevo conductor. |
user_id |
Id del usuario | Id del usuario que hizo el cambio. Si el cambio es automático (con identificación por iButton o RFid), no se envía este campo. |
O: Vehicle Share Object
| Campo | Tipo | Descripción |
|---|---|---|
id |
Numérico | Id del rastreo compartido. |
link |
Texto o null |
Enlace público para consultar el rastreo. Es null cuando el rastreo compartido está deshabilitado. |
description |
Texto | Descripción del rastreo compartido. Se incluye al deshabilitarlo. |
is_disabled |
Booleano | Indica si el rastreo compartido está deshabilitado. |