Saltar a contenido

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 Timestamp del evento en formato ISO 8601.
id Id Remoto string Id Remoto del vehículo.
lat Latitud double Latitud del vehículo, con 7 decimales máximo de precisión.
lon Longitud double Longitud del vehículo con 7 decimales máximo de precisión.
kmph Kilómetros por hora double Kilómetros por hora del vehículo.
heading Heading double Dirección del vehículo.
event Evento integer Id del evento, del listado de eventos aceptados.
gps Señal de GPS boolean Si el vehículo cuenta con señal de GPS.
Listado de Eventos:
  • 0: Sin evento
  • 1: Parada
  • 2: Ignición apagada
  • 3: Ignición encendida
  • 4: Batería desconectada
  • 5: Botón de Pánico
  • 6: Interferencia de señal GPS
  • 7: Remolcado
  • 8: Dispositivo comprometido
  • 9: Accidente
  • 10: Frenado brusco
  • 11: Aceleración brusca
  • 12: Giro brusco
  • 13: 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
}