Saltar al contenido principal

Reporte de Ignición

Seguimiento de horas de motor — tiempo de ignición encendida, lecturas del horómetro, consumo de combustible, emisiones y datos del sensor de temperatura.

GET/apidev/v1/reports/avl/ignition
PermisoAPICLI_RPTAVL_IGNICION
Límite de solicitudes10 req/min (ventana deslizante)
Caché300s (5 min)
Rango máximo31 días

Resumen​

Tiempo total de motor encendido (horas de ignición) por vehículo con lecturas del horómetro, estimaciones de combustible/costo/CO₂ y sensores de temperatura.

  • Lecturas del horómetro — valores de inicio y fin para una contabilidad precisa de las horas de motor
  • Desglose diario — perday=true para una fila por vehículo por día
  • Estimación de costo — combustible, costo y CO₂ a partir de las horas de ignición y la configuración del vehículo
  • Sensor de temperatura — lectura del sensor 1
  • Subtotales — subtotals=true para resúmenes agregados

Solicitud​

Encabezados de la solicitud​

Every request to a protected endpoint requires these headers:

HeaderRequiredDescription
AuthorizationYesBearer token obtained from the Login endpoint. Format: Bearer <token>
X-API-KeyYesCompany integration key provided during onboarding. Format: gtk_xxx...
tenantYesYour assigned tenant domain (default: geotareas.com) — always send your assigned tenant
Content-TypeConditionalapplication/json — required for POST and PUT requests

Parámetros de consulta​

ParámetroTipoRequeridoPredeterminadoDescripción
startdatestringSí—Fecha-hora de inicio en ISO 8601
enddatestringSí—Fecha-hora de fin en ISO 8601. Rango máximo 31 días
devicesstringNoTodos los visiblesIDs de dispositivo separados por coma. Máximo 500
perdaybooleanNofalseAgrupa los resultados por día
subtotalsbooleanNofalseIncluye filas de subtotal
limitintegerNo25Registros por página (1–100)
offsetintegerNo0Registros a omitir
Con subtotals=true cambia el comportamiento de limit

Las filas de subtotal y de total general se agregan después de haber cortado la página, y recién ahí el resultado se recorta a limit. O sea que con subtotals=true la respuesta sigue trayendo como máximo limit filas, pero parte de ese cupo se va en filas de resumen — vas a recibir menos filas de detalle que en una página normal del mismo tamaño.

Las filas de resumen no vienen marcadas en la respuesta. La única forma de reconocerlas es por device_name: un subtotal por móvil dice "<nombre del móvil> (subtotal)" y el total general dice "Total general". Si estás sumando los datos por tu cuenta, filtrá esas filas o vas a contar dos veces.

meta.total cuenta siempre solo las filas de detalle. Para paginar limpio, dejá subtotals apagado y calculá tus propios totales.


Ejemplos de código​

curl -s "https://$TENANT/apidev/v1/reports/avl/ignition?startdate=2026-03-01T00:00:00&enddate=2026-03-15T23:59:59&limit=50&perday=true" \
-H "Authorization: Bearer $TOKEN" \
-H "X-API-Key: $APIKEY" \
-H "tenant: $TENANT"

Campos de la respuesta​

CampoTipoDescripción
device_namestringNombre visible del vehículo/dispositivo
datetimestring | nullFecha del registro (solo se completa con perday=true)
horometer_startnumberLectura del horómetro al inicio del rango (horas)
horometer_endnumberLectura del horómetro al fin del rango (horas)
ignition_hoursnumberTotal de horas con la ignición encendida (ralentí) en el rango
ignition_secondsnumberLo mismo expresado en segundos
ignition_formattedstringTiempo de ignición legible para humanos (ej. "2h 15m")
temperature_1number | nullLectura del sensor de temperatura 1 (°C). null si no hay sensor
fuelnumberCombustible consumido estimado en ralentí (litros). 0 si no hay litros/hora configurados
costnumberCosto de combustible estimado. 0 si no hay precio configurado
co2numberEmisiones de CO₂ estimadas (kg)
tip

fuel, cost y co2 se estiman a partir de las horas de ignición usando la tasa de consumo de combustible por hora configurada por vehículo. Si no están configurados, estos devuelven 0.

Ejemplo de respuesta​

{
"success": true,
"data": [
{
"device_name": "Truck A-101",
"datetime": "2026-03-05",
"horometer_start": 2100.5,
"horometer_end": 2108.3,
"ignition_hours": 7.8,
"ignition_seconds": 28080,
"ignition_formatted": "7h 48m",
"temperature_1": 22.5,
"fuel": 23.4,
"cost": 35.10,
"co2": 60.84
}
],
"meta": {
"total": 42,
"limit": 50,
"offset": 0
}
}

Errores​

CódigoHTTPDescripción
INVALID_DATE_RANGE400El rango de fechas supera el máximo de 31 días, el fin es anterior al inicio, o fechas no ISO
VALIDATION_ERROR400Parámetros inválidos: faltan fechas
UNAUTHORIZED401tenant / Authorization / X-API-Key faltante, inválido o expirado
FORBIDDEN403El usuario carece del permiso APICLI_RPTAVL_IGNICION
RATE_LIMITED429Se superaron las 10 req/min
INTERNAL_ERROR500Error inesperado del servidor