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.
/apidev/v1/reports/avl/ignitionResumen
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=truepara 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=truepara resúmenes agregados
Solicitud
Encabezados de la solicitud
Every request to a protected endpoint requires these headers:
| Header | Required | Description |
|---|---|---|
Authorization | Yes | Bearer token obtained from the Login endpoint. Format: Bearer <token> |
X-API-Key | Yes | Company integration key provided during onboarding. Format: gtk_xxx... |
tenant | Yes | Your assigned tenant domain (default: geotareas.com) — always send your assigned tenant |
Content-Type | Conditional | application/json — required for POST and PUT requests |
Parámetros de consulta
| Parámetro | Tipo | Requerido | Predeterminado | Descripción |
|---|---|---|---|---|
startdate | string | Sí | — | Fecha-hora de inicio en ISO 8601 |
enddate | string | Sí | — | Fecha-hora de fin en ISO 8601. Rango máximo 31 días |
devices | string | No | Todos los visibles | IDs de dispositivo separados por coma. Máximo 500 |
perday | boolean | No | false | Agrupa los resultados por día |
subtotals | boolean | No | false | Incluye filas de subtotal |
limit | integer | No | 25 | Registros por página (1–100) |
offset | integer | No | 0 | Registros a omitir |
subtotals=true cambia el comportamiento de limitLas 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
- JavaScript
- Python
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"
const response = await fetch(
`https://${TENANT}/apidev/v1/reports/avl/ignition?startdate=2026-03-01T00:00:00&enddate=2026-03-15T23:59:59&limit=50&perday=true`,
{ headers }
);
const { data, meta } = await response.json();
response = requests.get(
f"https://{TENANT}/apidev/v1/reports/avl/ignition",
headers=headers,
params={
"startdate": "2026-03-01T00:00:00",
"enddate": "2026-03-15T23:59:59",
"limit": 50,
"perday": True,
},
)
result = response.json()
Campos de la respuesta
| Campo | Tipo | Descripción |
|---|---|---|
device_name | string | Nombre visible del vehículo/dispositivo |
datetime | string | null | Fecha del registro (solo se completa con perday=true) |
horometer_start | number | Lectura del horómetro al inicio del rango (horas) |
horometer_end | number | Lectura del horómetro al fin del rango (horas) |
ignition_hours | number | Total de horas con la ignición encendida (ralentí) en el rango |
ignition_seconds | number | Lo mismo expresado en segundos |
ignition_formatted | string | Tiempo de ignición legible para humanos (ej. "2h 15m") |
temperature_1 | number | null | Lectura del sensor de temperatura 1 (°C). null si no hay sensor |
fuel | number | Combustible consumido estimado en ralentí (litros). 0 si no hay litros/hora configurados |
cost | number | Costo de combustible estimado. 0 si no hay precio configurado |
co2 | number | Emisiones de CO₂ estimadas (kg) |
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ódigo | HTTP | Descripción |
|---|---|---|
INVALID_DATE_RANGE | 400 | El rango de fechas supera el máximo de 31 días, el fin es anterior al inicio, o fechas no ISO |
VALIDATION_ERROR | 400 | Parámetros inválidos: faltan fechas |
UNAUTHORIZED | 401 | tenant / Authorization / X-API-Key faltante, inválido o expirado |
FORBIDDEN | 403 | El usuario carece del permiso APICLI_RPTAVL_IGNICION |
RATE_LIMITED | 429 | Se superaron las 10 req/min |
INTERNAL_ERROR | 500 | Error inesperado del servidor |
Relacionado
- Reporte de Detenido — Períodos detenidos por estado de la ignición
- Reporte de Temperatura — Análisis de temperatura dedicado
- Reporte de Kilómetros — Seguimiento basado en distancia
- Paginación — Parámetros de paginación estándar