API: POINT
M: Insertar punto
HTTP POST:
https://<hostname>/api/point
JSON:
{
"timestamp": "iso-timestamp",
"id": "remote-id",
"lat": 40.7136376,
"lon": -74.0132078,
"kmph": 40.0,
"heading": 17.5,
"event": 1,
"gps": true
}
Nombre | Tipo | Requerido | Descripción | |
---|---|---|---|---|
timestamp |
Timestamp | string | sí | Timestamp del evento en formato ISO 8601. |
id |
Id Remoto | string | sí | Id Remoto del vehículo. |
lat |
Latitud | double | sí | Latitud del vehículo, con 7 decimales máximo de precisión. |
lon |
Longitud | double | sí | Longitud del vehículo con 7 decimales máximo de precisión. |
kmph |
Kilómetros por hora | double | sí | Kilómetros por hora del vehículo. |
heading |
Heading | double | sí | Dirección del vehículo. |
event |
Evento | integer | sí | Id del evento, del listado de eventos aceptados. |
gps |
Señal de GPS | boolean | sí | Si el vehículo cuenta con señal de GPS. |
Listado de Eventos:
0
: Sin evento1
: Parada2
: Ignición apagada3
: Ignición encendida4
: Batería desconectada5
: Botón de Pánico6
: Interferencia de señal GPS7
: Remolcado8
: Dispositivo comprometido9
: Accidente10
: Frenado brusco11
: Aceleración brusca12
: Giro brusco13
: Alarma anti-robo
Listado de Errores:
device_not_found
: Id del vehículo no está registrado dentro del cliente.invalid_point_format
: Cuerpo de solicitud no está en el formato correcto.invalid_timestamp
: La fecha no está en el formato ISO 8601.invalid_id
: El Id del vehículo no está en el formato correcto.invalid_latitude
: La latitud no está en el formato correcto.invalid_longitude
: La longitud no está en el formato correcto.invalid_kmph
: Los kilómetros por hora no están en el formato correcto.invalid_heading
: La dirección no está en el formato correcto.invalid_event
: El evento no está en el formato correcto.invalid_gps
: La información no es de tipo booleano.event_not_found
: El evento no se encuentra dentro del listado de eventos aceptados.
OUTPUT:
Json con los campos:
{
"responses": [
{
"ok": true,
"details": []
}
],
"total_recorded": 1
}
responses
:array
ok
:boolean
, Punto con o sin errores.details
:array
, Listado de errores.total_recorded
:integer
, Total de puntos guardados.
Límite de Peticiones
Para garantizar la estabilidad y calidad del servicio web, el API utiliza un límite de tasa de transmisiones:
Rate limit: máximo de 30 peticiones por IP en 1 minuto.
Si se supera el límite, la respuesta del servidor será:
HTTP/1.0 529 Too Many Requests
Ejemplo con CURL
$ curl -u <api_key>:<password>
-X POST
--location https://<hostname>/api/point
--data
'{
"timestamp": "2024-08-20T18:45:00.000Z",
"id": "C123BBB",
"lat": 40.7136376,
"lon": -74.0132078,
"kmph": 40.0,
"heading": 17.5,
"event": 1,
"gps": true
}'
OUTPUT:
{
"responses": [
{
"ok": true,
"details": []
}
],
"total_recorded": 1
}