Saltar al contenido principal

Reporte de Viajes

Registros de viajes individuales con origen, destino, distancia, duración y consumo de combustible por trayecto de vehículo.

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

Resumen

Desglosa la actividad del vehículo en viajes individuales. Un viaje comienza cuando un vehículo empieza a moverse y termina cuando permanece detenido durante una duración configurable.

  • Umbral de parada personalizadoidle_min define el tiempo mínimo de parada que marca el fin de un viaje
  • Filtrado de micromovimientosduration_min excluye viajes cortos causados por ruido del GPS o maniobras de estacionamiento
  • Subtotalessubtotals=true incluye filas de resumen agregadas

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
startdatestringFecha-hora de inicio en ISO 8601 (ej. 2026-03-01T00:00:00)
enddatestringFecha-hora de fin en ISO 8601. Rango máximo 31 días
devicesstringNoTodos los visiblesIDs de dispositivo separados por coma. Máximo 500
idle_minintegerNo0Tiempo mínimo de parada en minutos para finalizar un viaje
duration_minintegerNo0Duración mínima del viaje en minutos. Los viajes más cortos se excluyen
subtotalsbooleanNofalseIncluye filas de subtotal
limitintegerNo25Registros por página (1100)
offsetintegerNo0Registros a omitir

Ejemplos de código

curl -s "https://$TENANT/apidev/v1/reports/avl/trips?startdate=2026-03-01T00:00:00&enddate=2026-03-15T23:59:59&limit=50&idle_min=5" \
-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
person_namestringConductores del viaje (nombres; cadena vacía si no hay)
trip_startstring | nullMarca de tiempo de cuando comenzó el viaje
trip_start_addressstring | nullDirección geocodificada inversa del origen
trip_endstring | nullMarca de tiempo de cuando terminó el viaje
trip_end_addressstring | nullDirección geocodificada inversa del destino
kmsnumberDistancia recorrida (km)
duration_minnumberDuración del viaje en minutos
idle_minnumberTiempo detenido durante el viaje en minutos
max_speednumberVelocidad máxima registrada (km/h)
fuelnumberCombustible consumido estimado (litros)
costnumberCosto de combustible estimado
temperaturenumberLectura del sensor de temperatura 1. 0 si el vehículo no tiene sensor
Combustible y costo

fuel y cost se calculan usando la tasa de consumo y el precio de combustible configurados por vehículo. Si no están configurados, estos devuelven 0.

Ejemplo de respuesta

{
"success": true,
"data": [
{
"device_name": "Truck A-101",
"person_name": "Carlos Martinez",
"trip_start": "2026-03-05T07:15:00",
"trip_start_address": "Av. 18 de Julio 1234, Montevideo",
"trip_end": "2026-03-05T09:42:00",
"trip_end_address": "Ruta 1 km 42, San Jose",
"kms": 38.5,
"duration_min": 147,
"idle_min": 12,
"max_speed": 95,
"fuel": 4.62,
"cost": 6.93,
"temperature": 0
},
{
"device_name": "Van B-205",
"person_name": "Ana Lopez",
"trip_start": "2026-03-05T10:05:00",
"trip_start_address": "Bulevar Artigas 1550, Montevideo",
"trip_end": "2026-03-05T10:38:00",
"trip_end_address": "Av. Italia 3210, Montevideo",
"kms": 8.2,
"duration_min": 33,
"idle_min": 5,
"max_speed": 58,
"fuel": 0.98,
"cost": 1.47,
"temperature": -2.5
}
],
"meta": {
"total": 156,
"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, limit > 100, > 500 dispositivos
UNAUTHORIZED401tenant / Authorization / X-API-Key faltante, inválido o expirado
FORBIDDEN403El usuario carece del permiso APICLI_RPTAVL_VIAJES
RATE_LIMITED429Se superaron las 10 req/min
INTERNAL_ERROR500Error inesperado del servidor