Conceptos

Convenciones

URL base, formatos, zonas horarias, idioma y los cuatro tipos de paginación de la API de la plataforma, tal como se midieron.

Estado: Verificado · Revisada el 5 de octubre de 2026

Qué se verificó y cómo: Verificado por lectura del código y diff contra producción; las formas de respuesta se midieron con datos ficticios en un entorno de pruebas. No probado con una cuenta real.

Estas reglas valen para todas las operaciones de la referencia.

URL base y métodos #

  • Dominio base: https://plataforma.trackerintl.com. Si tu cuenta pertenece a un revendedor marca blanca, usa el dominio que te indique quien la administra.
  • Todas las rutas empiezan por /api.
  • Usa GET para consultar y POST solo para iniciar sesión. Algunas rutas aceptan otros métodos HTTP, pero no se recomienda usarlos.
  • Las respuestas son JSON.

Idioma #

Los textos traducibles de la plataforma (por ejemplo, nombres de tipos de alerta o mensajes de error) salen en el idioma indicado con el parámetro lang (es, en) o con la cabecera Accept-Language.

Fechas y zonas horarias #

  • Entrada: las fechas y horas que envías (from_date, from_time, date_from…) se interpretan en la zona horaria configurada en la cuenta, no en UTC. Formatos: fecha AAAA-MM-DD, hora HH:MM o HH:MM:SS.
  • Salida: conviven dos tipos de campos. Los formateados (por ejemplo time, raw_time) usan la zona y el formato de la cuenta; en las mediciones el formato fue dd-mm-AAAA HH:mm:ss. Los campos crudos (device_time, created_at, updated_at…) vienen en UTC.
  • Excepciones: date_from y date_to de get_alerts_summary se comparan sin conversión, en UTC, y time de get_devices_latest son segundos Unix en UTC.

Cada campo indica su zona en la referencia.

Paginación #

La API no tiene un único esquema de paginación. Estos son los que se midieron:

Paginación
OperaciónCómo se paginaTamaño de página
get_devicespage y limit; pagina por vehículo antes de agruparlimit sin tope en el código; se recomienda 200 como máximo. Con solo page, 100
get_devices_latestpage y limit100 por defecto si envías page
get_history_messagespage y limit; la respuesta trae current_page, last_page y totallimit solo admite 50, 100, 200, 300, 400, 500 o 1000; cualquier otro valor se sustituye por 50
get_eventsSin page: cursor (next_cursor en la respuesta, que envías como cursor). Con page: totaleslimit 30 por defecto, 1000 como máximo
get_routespage500 fijos
get_reports, get_user_driverspage y limit10 por defecto
sent_commandspage15 fijos

Detalles que conviene conocer #

  • Cadenas JSON dentro de JSON: algunos campos llegan como texto que debes decodificar, por ejemplo coordinates en las geocercas o sensors, services y tail en get_devices_latest.
  • Valores sin dato: varios campos de texto usan "-" cuando no hay valor.
  • Errores con HTTP 200: algunas validaciones responden 200 con {"status": 0, "errors": {...}}. Comprueba siempre status. Mira Errores.
  • Permisos: si el usuario no tiene permiso sobre un módulo, algunas operaciones devuelven una lista vacía con 200 y otras un 403. Cada operación lo indica.