Reporte de Temperatura
Lecturas del sensor de temperatura del hardware montado en el vehículo. Hacé seguimiento del cumplimiento de la cadena de frío y detectá excursiones.
/apidev/v1/reports/avl/temperatureResumen
Devuelve las lecturas del sensor de temperatura de los vehículos equipados con monitoreo de temperatura a bordo. Crítico para la logística de cadena de frío, el transporte farmacéutico y el cumplimiento en la entrega de alimentos.
- Promedio por vehículo — sin
perday, una fila por vehículo con la temperatura promedio del período - Agregación diaria —
perday=truepara una fila por vehículo por día - Subtotales —
subtotals=truepara filas de resumen
Solo los vehículos con un sensor de temperatura configurado devuelven datos. Los dispositivos sin sensores se excluyen silenciosamente.
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 | Agrega las lecturas 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/temperature?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/temperature?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/temperature",
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 |
temperature | number | Temperatura promedio del sensor 1 en °C. 0 si el vehículo no tiene sensor |
datetime | string | null | Fecha del registro (solo se completa con perday=true) |
Los valores de temperatura están en grados Celsius. Convertilos del lado del cliente si es necesario: F = (C × 9/5) + 32.
Ejemplo de respuesta
{
"success": true,
"data": [
{
"device_name": "Reefer R-401",
"temperature": -2.4,
"datetime": "2026-03-05"
},
{
"device_name": "Reefer R-401",
"temperature": -1.8,
"datetime": "2026-03-06"
}
],
"meta": {
"total": 14,
"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_TEMPERATURA |
RATE_LIMITED | 429 | Se superaron las 10 req/min |
INTERNAL_ERROR | 500 | Error inesperado del servidor |
Relacionado
- Reporte de Ignición — Incluye temperature_1 por período de ignición
- Paginación — Parámetros de paginación estándar