Skip to main content

Consultar resumen diario de viajes de un conductor

[ GET ]

Consulta, día por día, el total de viajes, la distancia recorrida, el tiempo de conducción y los eventos de seguridad detectados por Airbag para un conductor en un rango de fechas. En lugar de recibir cada viaje por separado, obtienes un registro por día con los valores ya sumados. Es útil para dashboards de desempeño, reportes diarios de seguridad y para sincronizar indicadores con tus propios sistemas sin procesar viaje por viaje.

https://sync.airbagtech.io/trips/daily-summary?driverId={{DRIVER_ID}}&startDate={{START_DATE}}&endDate={{END_DATE}}

Campos​

NombreTipoRequeridoDescripción
driverIdStringSíID del conductor a consultar. Puede ser el ID que usaste al crear el conductor o el ID de Airbag. Este campo debe ir como query parameter.
startDateStringSíFecha inicial del rango (incluida) en formato YYYY-MM-DD. Ejemplo: "2025-01-01".
endDateStringSíFecha final del rango (incluida) en formato YYYY-MM-DD. Debe ser igual o posterior a startDate y el rango no puede exceder 31 días naturales.
ℹ️
Parámetros permitidos

Solo se aceptan los parámetros driverId, startDate y endDate. Cualquier otro query parameter hará que la petición sea rechazada.

Headers​

Autorization
apikey {{API_KEY}}

Ejemplos​

Consulta para un día específico​

Usa la misma fecha en startDate y endDate.

curl --location 'https://sync.airbagtech.io/trips/daily-summary?driverId=1234&startDate=2025-01-15&endDate=2025-01-15' \
--header 'Authorization: apikey {{API_KEY}}'

Consulta para un rango de fechas​

curl --location 'https://sync.airbagtech.io/trips/daily-summary?driverId=1234&startDate=2025-01-01&endDate=2025-01-31' \
--header 'Authorization: apikey {{API_KEY}}'

Respuesta exitosa​

{
"status": true,
"count": 2,
"data": [
{
"date": "2025-01-15",
"tripCount": 2,
"distance": 42.5,
"duration": 1.25,
"safetyEvents": {
"acceleration": 1,
"deacceleration": 2,
"cornering": 0,
"speeding": 3,
"phoneDistraction": 0
}
},
{
"date": "2025-01-17",
"tripCount": 1,
"distance": 12.08,
"duration": 0.4,
"safetyEvents": {
"acceleration": 0,
"deacceleration": 1,
"cornering": 1,
"speeding": 0,
"phoneDistraction": 2
}
}
]
}

Descripción de campos de respuesta​

CampoTipoDescripción
statusBooleanIndica si la operación fue exitosa.
countNumberNúmero de días con viajes devueltos en data.
dataArray<Object>Resumen por día, ordenado de la fecha más antigua a la más reciente. Ver tabla abajo.

Campos dentro de cada elemento de data​

CampoTipoDescripción
dateStringDía del resumen en formato YYYY-MM-DD (UTC).
tripCountNumberNúmero de viajes que terminaron ese día.
distanceNumberDistancia total recorrida en el día, en kilómetros, redondeada a 2 decimales.
durationNumberTiempo total de conducción en el día, en horas, redondeado a 2 decimales.
safetyEventsObjectTotal de eventos de seguridad detectados en los viajes del día, agrupados por tipo. Ver tabla abajo.

Tipos de eventos en safetyEvents​

Todas las llaves se incluyen siempre; si no hubo eventos de ese tipo en el día, su valor es 0.

LlaveDescripción
accelerationAceleración brusca
deaccelerationFrenado brusco
corneringCurva brusca
speedingExceso de velocidad
phoneDistractionDistracción por teléfono
ℹ️
Eventos de Airbag vs. eventos de proveedores

Estos eventos provienen de los viajes registrados por Airbag. Son distintos de los eventos de seguridad que se ingestan desde sistemas externos en la sección de Eventos.

Respuesta sin datos​

Si el conductor no tiene viajes en el rango solicitado, la respuesta es exitosa con un arreglo vacío.

{
"status": true,
"count": 0,
"data": []
}

Respuesta con error​

Parámetros inválidos (400)​

Se devuelve cuando falta algún parámetro, una fecha no tiene el formato YYYY-MM-DD o no existe, startDate es posterior a endDate, el rango excede 31 días o se envían parámetros no permitidos. Si hay varios errores, se devuelven juntos en message separados por comas.

{
"status": false,
"message": "Error: date range must not exceed 31 calendar days"
}

Conductor no encontrado (404)​

{
"status": true,
"message": "Error: Driver not found"
}

Sin autorización (401)​

{
"status": false,
"error": "You are not authorized to perform this action",
"errorId": "-1"
}

Notas importantes​

  • Los tres parámetros (driverId, startDate y endDate) son obligatorios.
  • Ambas fechas son inclusivas y se interpretan en UTC: el rango cubre desde las 00:00:00 de startDate hasta las 23:59:59 de endDate.
  • El rango máximo es de 31 días naturales. Por ejemplo, del 2026-01-01 al 2026-01-31 es válido; del 2026-01-01 al 2026-02-01 no lo es.
  • Cada viaje se asigna al día (UTC) en que terminó. Un viaje que cruza la medianoche se cuenta en el día de su finalización.
  • Solo se devuelven los días que tienen al menos un viaje; los días sin viajes no aparecen en data.
  • duration se expresa en horas, a diferencia de Consultar viajes de un conductor en un periodo, donde la duración de cada viaje se expresa en minutos.
  • Para consultar periodos mayores a 31 días, divide la consulta en varias peticiones.