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
GETpara consultar yPOSTsolo 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: fechaAAAA-MM-DD, horaHH:MMoHH: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 fuedd-mm-AAAA HH:mm:ss. Los campos crudos (device_time,created_at,updated_at…) vienen en UTC. - Excepciones:
date_fromydate_todeget_alerts_summaryse comparan sin conversión, en UTC, ytimedeget_devices_latestson 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:
| Operación | Cómo se pagina | Tamaño de página |
|---|---|---|
get_devices | page y limit; pagina por vehículo antes de agrupar | limit sin tope en el código; se recomienda 200 como máximo. Con solo page, 100 |
get_devices_latest | page y limit | 100 por defecto si envías page |
get_history_messages | page y limit; la respuesta trae current_page, last_page y total | limit solo admite 50, 100, 200, 300, 400, 500 o 1000; cualquier otro valor se sustituye por 50 |
get_events | Sin page: cursor (next_cursor en la respuesta, que envías como cursor). Con page: totales | limit 30 por defecto, 1000 como máximo |
get_routes | page | 500 fijos |
get_reports, get_user_drivers | page y limit | 10 por defecto |
sent_commands | page | 15 fijos |
Detalles que conviene conocer #
- Cadenas JSON dentro de JSON: algunos campos llegan como texto que debes decodificar, por ejemplo
coordinatesen las geocercas osensors,servicesytailenget_devices_latest. - Valores sin dato: varios campos de texto usan
"-"cuando no hay valor. - Errores con HTTP 200: algunas validaciones responden
200con{"status": 0, "errors": {...}}. Comprueba siemprestatus. Mira Errores. - Permisos: si el usuario no tiene permiso sobre un módulo, algunas operaciones devuelven una lista vacía con
200y otras un403. Cada operación lo indica.