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 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 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
}