Consultar la info de las actividades
[ POST ]
Consulta las actividades registradas por uno o varios conductores dentro de un rango de fechas. El endpoint es de sólo lectura y no genera ningún cambio sobre los datos.
https://sync.airbagtech.io/activities/all
Campos
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| startDate | String | Sí | Primer día de la consulta (se incluye el día completo). Debe ser anterior a endDate. Formato: YYYY-MM-DD. |
| endDate | String | Sí | Último día de la consulta (se incluye el día completo). Formato: YYYY-MM-DD. |
| driverId | String | No | ID del conductor a consultar. Acepta el ID que tu empresa usó al crearlo o el airbagId. Omite este campo para obtener las actividades de todos los conductores del rango. |
| order | String | No | Orden por fecha de creación: asc (por defecto, de la más antigua a la más reciente) o desc. |
Headers
| Content-Type | Authorization |
|---|---|
| application/json | apikey {{API_KEY}} |
Body
{
"startDate": "string",
"endDate": "string",
"driverId": "string",
"order": "asc"
}
Ejemplo
curl --location 'https://sync.airbagtech.io/activities/all' \
--header 'Content-Type: application/json' \
--header 'Authorization: apikey {{API_KEY}}' \
--data '{
"startDate": "2025-01-01",
"endDate": "2025-01-31",
"driverId": "EMP-1042"
}'
Respuestas
✅ Respuesta exitosa (200 OK)
Devuelve un arreglo con las actividades registradas dentro del rango de fechas solicitado. Cada entrada incluye el id de la actividad, la metadata del conductor, la ubicación donde se registró y si tiene adjuntos (foto y nota de voz). Para ver el detalle de una actividad, incluidos sus adjuntos, usa Consultar actividad con su id y el userId como driverId.
{
"status": true,
"data": [
{
"id": "67ac5b1e9f3a2c0012ab34cd",
"driver": "Juan Pérez Ramírez",
"userId": "EMP-1042",
"group": "Región Norte",
"hour": "09:17",
"date": "12-February-2025",
"type": "Entrega",
"state": "Nuevo León",
"country": "México",
"lat": 25.67123,
"lon": -100.31842,
"speed": "",
"photo": "Si",
"voice_note": "no",
"description": "Entrega completada al cliente"
},
{
"id": "67ac78f29f3a2c0012ab34d1",
"driver": "Juan Pérez Ramírez",
"userId": "EMP-1042",
"group": "Región Norte",
"hour": "11:42",
"date": "12-February-2025",
"type": "Gasolina",
"state": "Nuevo León",
"country": "México",
"lat": 25.68045,
"lon": -100.32517,
"speed": 28,
"photo": "Si",
"voice_note": "Si",
"description": "Carga de 45 L en estación de servicio"
},
{
"id": "67af1c4a9f3a2c0012ab35e8",
"driver": "María López Torres",
"userId": "EMP-1087",
"group": "Región Centro",
"hour": "15:08",
"date": "14-February-2025",
"type": "Parada",
"state": "Jalisco",
"country": "México",
"lat": 20.67353,
"lon": -103.34402,
"speed": "",
"photo": "no",
"voice_note": "Si",
"description": "Cliente ausente; se reprograma visita"
}
]
}
nota
- En una respuesta real,
datacontiene todas las actividades registradas dentro del rango. Si no hay coincidencias,dataes un arreglo vacío ([]). - Sólo se listan los tipos de actividad que tienen nombre en la tabla de
type(ver abajo); el resto, por ejemplo las cargas de mercancía (load-handle), no aparece en este listado.
Descripción de campos de respuesta
| Campo | Tipo | Descripción |
|---|---|---|
status | Boolean | Indica si la operación fue exitosa. |
data | Array<Object> | Lista de actividades que coinciden con los filtros. Ver tabla abajo. |
Campos dentro de cada elemento de data
| Campo | Tipo | Descripción |
|---|---|---|
id | String | ID de la actividad. Es el ACTIVITY_ID que usa Consultar actividad. |
userId | String | ID del conductor que registró la actividad (el mismo que utilizas en tus sistemas, o el airbagId si el conductor no tiene uno), aunque la consulta se haya hecho con el airbagId. |
driver | String | Nombre completo del conductor. |
group | String | Nombre del grupo del conductor. Si pertenece a varios grupos se muestra sólo uno. Es una cadena vacía ("") si no tiene grupo asignado. |
type | String | Nombre del tipo de actividad, en español (ver tabla abajo). |
date | String | Fecha del registro en formato DD-MonthName-YYYY (el mes se escribe en inglés y con mayúscula inicial). |
hour | String | Hora del registro en formato HH:mm (24 h). Si la actividad tiene zona horaria registrada, se calcula restando 7 horas a la hora UTC; si no, se usa la hora del servidor. Esta conversión se está corrigiendo para usar la zona horaria del conductor. |
country | String | País donde se registró la actividad. Cadena vacía ("") si no se conoce. |
state | String | Estado o provincia donde se registró la actividad. Cadena vacía ("") si no se conoce. |
lat | Number | String | Latitud del punto donde se registró la actividad (grados decimales). Cadena vacía ("") si no se registró la posición. |
lon | Number | String | Longitud del punto donde se registró la actividad (grados decimales). Cadena vacía ("") si no se registró la posición. |
speed | Number | String | Velocidad del conductor al momento del registro. Cadena vacía ("") cuando no se registró o era 0. |
photo | String | "Si" si la actividad tiene el arreglo de fotos (aunque esté vacío), "no" en caso contrario. |
voice_note | String | "Si" si la actividad tiene el arreglo de notas de voz (aunque esté vacío), "no" en caso contrario. |
description | String | Comentario escrito por el conductor al registrar la actividad. Cadena vacía ("") si no escribió nada. |
Valores de type
slug registrado | type en el listado |
|---|---|
entrega | Entrega |
gas | Gasolina |
stop | Parada |
break | Frenado |
traffic | Trafico |
start_workday | Inicio de jornada |
end_workday | Final de jornada |
other | Otro |
maintenance | Mantenimiento |
administrative | Administrativo |
tech_problem | Problema tecnico |
road_accident | Accidente vial |
closed_road | Camino cerrado |
construction | Construccion |
manual_deactivation | Desactivacion manual |
❌ Respuesta con error (400 Bad Request)
{
"status": false,
"message": "Error: startDate must be before endDate",
"errorId": "sentry_error_id_123"
}
| Mensaje | Causa |
|---|---|
Error: StartDate && EndDate pair must be present. | Falta startDate o endDate. |
Error: startDate or endDate not valid | Alguna fecha no tiene un formato válido. |
Error: startDate must be before endDate | startDate es igual o posterior a endDate. |
Error: Driver not found | El driverId no corresponde a ningún conductor de tu empresa. |