Referencia de la API
Historial y rutas
Recorrido de un vehículo por tramos de conducción y parada, y posiciones GPS crudas paginadas. Rango máximo, zona horaria y ejemplos.
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 respuestas se midieron con 61 posiciones ficticias en un entorno de pruebas. El rango máximo de 31 días es el valor por defecto del código, no una medición de producción.
Hay dos formas de consultar el historial de un vehículo:
| Necesitas | Usa |
|---|---|
| El recorrido resumido: tramos de conducción y paradas, distancia y velocidades | get_history |
| Las posiciones GPS una por una, con sus atributos, paginadas | get_history_messages |
Tramos del recorrido #
En get_history, cada elemento de items es un tramo. Su campo status indica el tipo:
status | Significado |
|---|---|
1 | Conducción |
2 | Parada |
3 | Inicio |
4 | Fin |
5 | Evento |
Cada tramo trae sus puntos en items, con lat, lng, speed y las horas. Los totales del periodo (distance_sum, top_speed, move_duration, stop_duration…) vienen con su unidad, como texto.
Fechas #
Las fechas y horas que envías se interpretan en la zona horaria de tu cuenta. En cada posición, raw_time y time salen en la zona de la cuenta, mientras que device_time y server_time vienen crudos en UTC. Mira Convenciones.
Recorrido de un vehículo por tramos de conducción/parada #
GET /api/get_history Verificado
Reconstruye el recorrido de un vehículo en tramos de conducción y de parada. Identifica el vehículo con device_id o con imei. Las fechas y horas se interpretan en la zona horaria de la cuenta, no en UTC. Rango máximo de 31 días (valor por defecto del código; el de producción no está confirmado). Requiere permiso de historial, que el vehículo sea del usuario y que no esté vencido.
Autenticación. Cabecera user-api-hash con tu user_api_hash.
- Dentro de cada posición,
raw_timeytimeestán en la zona de la cuenta, mientras quedevice_timeyserver_timevienen crudos en UTC.
Parámetros
| Nombre | En | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
device_id | query | integer | No | Obligatorio si no se envía imei. |
imei | query | string | No | Alternativa a device_id. |
from_date | query | string | Sí | Fecha inicial YYYY-MM-DD. Zona horaria: la de la cuenta del usuario de la API, no UTC. Formato de visualización: el configurado en la cuenta (en las mediciones fue dd-mm-YYYY HH:mm:ss). |
from_time | query | string | Sí | Hora inicial HH:MM o HH:MM:SS (validación: regex). |
to_date | query | string | Sí | Fecha final YYYY-MM-DD. |
to_time | query | string | Sí | Hora final HH:MM o HH:MM:SS. |
stops | query | integer | No | Segundos mínimos para considerar una parada (por defecto 180). |
lang | query | string | No | Idioma de los textos traducibles (SetLang). También se admite la cabecera Accept-Language. |
Ejemplo de solicitud
cURL
curl -sS -G "https://plataforma.trackerintl.com/api/get_history" \
-H "user-api-hash: TU_API_HASH" \
--data-urlencode "device_id=9001" \
--data-urlencode "from_date=2026-10-01" \
--data-urlencode "from_time=00:00" \
--data-urlencode "to_date=2026-10-02" \
--data-urlencode "to_time=23:59"JavaScript · Node.js 22
const BASE_URL = "https://plataforma.trackerintl.com";
const API_HASH = "TU_API_HASH";
const params = new URLSearchParams({
device_id: "9001",
from_date: "2026-10-01",
from_time: "00:00",
to_date: "2026-10-02",
to_time: "23:59",
});
const respuesta = await fetch(`${BASE_URL}/api/get_history?${params}`, {
headers: { "user-api-hash": API_HASH },
});
if (!respuesta.ok) throw new Error(`HTTP ${respuesta.status}: ${await respuesta.text()}`);
console.log(JSON.stringify(await respuesta.json(), null, 2));Python · Python 3 con requests
import json
import requests
BASE_URL = "https://plataforma.trackerintl.com"
API_HASH = "TU_API_HASH"
respuesta = requests.get(
f"{BASE_URL}/api/get_history",
headers={"user-api-hash": API_HASH},
params={"device_id": "9001", "from_date": "2026-10-01", "from_time": "00:00", "to_date": "2026-10-02", "to_time": "23:59"},
timeout=30,
)
respuesta.raise_for_status()
print(json.dumps(respuesta.json(), indent=2, ensure_ascii=False))PHP · PHP 8 con cURL
<?php
$baseUrl = "https://plataforma.trackerintl.com";
$apiHash = "TU_API_HASH";
$url = $baseUrl . "/api/get_history?" . http_build_query(["device_id" => "9001", "from_date" => "2026-10-01", "from_time" => "00:00", "to_date" => "2026-10-02", "to_time" => "23:59"]);
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTPHEADER => ["user-api-hash: " . $apiHash],
]);
$cuerpo = curl_exec($ch);
$codigo = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
if ($cuerpo === false || $codigo !== 200) {
fwrite(STDERR, "HTTP $codigo\n");
exit(1);
}
echo json_encode(json_decode($cuerpo, true), JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE), "\n";Respuestas
| Código | Descripción |
|---|---|
200 | Respuesta correcta. |
401 | Hash ausente o incorrecto, usuario inactivo, suscripción vencida (también la del gerente) o API deshabilitada por falta de pago del servidor. HTTP 401 con {status: 0, message}. |
403 | Sin permiso del rol para el módulo, vehículo de otro usuario o cuenta restringida por facturación. Incluye perm: 0. |
404 | Dispositivo inexistente: message "\"Device\" was not found.". |
422 | Faltan parámetros, formato de hora inválido, rango > 31 días o vehículo vencido. |
500 | Error interno de la plataforma. Con la depuración apagada el texto del mensaje es genérico. |
| Campo (respuesta 200) | Tipo | Descripción |
|---|---|---|
items | array de HistoryItem | |
device | object | Vehículo consultado, con sus sensores. |
distance_sum | string | Con unidad: "9.2 Km". |
top_speed | string | "31 kph". |
move_duration | string | |
stop_duration | string | |
engine_hours | string | |
engine_idle | string | |
engine_work | string | |
fuel_consumption | string | null | |
sensors | array de object | |
fuel_consumption_arr | array de | |
item_class | array de object | |
images | array de object | |
status |
Ejemplo de respuesta 200 (datos ficticios)
{
"items": [
{
"status": 3,
"time": null,
"show": "01-10-2026 08:00:00",
"raw_time": "2026-10-01 08:00:00",
"distance": 0,
"driver": null,
"items": [
{
"id": 500,
"device_id": 9001,
"item_id": "i500",
"time": "01-10-2026 08:00:00",
"raw_time": "2026-10-01 08:00:00",
"altitude": 400,
"course": 90,
"speed": 27,
"latitude": -17.78,
"longitude": -63.18,
"lat": -17.78,
"lng": -63.18,
"distance": 0.12,
"other": "<info><ignition>1</ignition></info>",
"color": "#000000",
"valid": 1,
"device_time": "2026-10-01 12:00:00",
"server_time": "2026-10-01 12:00:00",
"other_arr": [
"ignition: 1"
],
"sensors_data": [
{
"id": "speed",
"value": 27
},
{
"id": "altitude",
"value": 400
}
]
}
]
},
{
"status": 1,
"index": 1,
"time": "40min 0s",
"show": "01-10-2026 08:00:00",
"left": "01-10-2026 08:40:00",
"raw_time": "2026-10-01 08:00:00",
"distance": 2.91,
"time_seconds": 2400,
"engine_work": 2280,
"engine_idle": 0,
"engine_hours": 2280,
"fuel_consumption": null,
"top_speed": 27,
"average_speed": 27,
"driver": null,
"items": [
{
"id": 500,
"device_id": 9001,
"item_id": "i500",
"time": "01-10-2026 08:00:00",
"raw_time": "2026-10-01 08:00:00",
"altitude": 400,
"course": 90,
"speed": 27,
"latitude": -17.78,
"longitude": -63.18,
"lat": -17.78,
"lng": -63.18,
"distance": 0.12,
"other": "<info><ignition>1</ignition></info>",
"color": "#000000",
"valid": 1,
"device_time": "2026-10-01 12:00:00",
"server_time": "2026-10-01 12:00:00",
"other_arr": [
"ignition: 1"
],
"sensors_data": [
{
"id": "speed",
"value": 27
},
{
"id": "altitude",
"value": 400
}
]
},
{
"id": 501,
"device_id": 9001,
"item_id": "i501",
"time": "01-10-2026 08:02:00",
"raw_time": "2026-10-01 08:02:00",
"altitude": 401,
"course": 90,
"speed": 27,
"latitude": -17.779,
"longitude": -63.179,
"lat": -17.779,
"lng": -63.179,
"distance": 0.12,
"other": "<info><ignition>1</ignition></info>",
"color": "#000000",
"valid": 1,
"device_time": "2026-10-01 12:02:00",
"server_time": "2026-10-01 12:02:00",
"other_arr": [
"ignition: 1"
],
"sensors_data": [
{
"id": "speed",
"value": 27
},
{
"id": "altitude",
"value": 401
}
]
},
{
"id": 502,
"device_id": 9001,
"item_id": "i502",
"time": "01-10-2026 08:04:00",
"raw_time": "2026-10-01 08:04:00",
"altitude": 402,
"course": 90,
"speed": 27,
"latitude": -17.778000000000002,
"longitude": -63.178,
"lat": -17.778000000000002,
"lng": -63.178,
"distance": 0.12,
"other": "<info><ignition>1</ignition></info>",
"color": "#000000",
"valid": 1,
"device_time": "2026-10-01 12:04:00",
"server_time": "2026-10-01 12:04:00",
"other_arr": [
"ignition: 1"
],
"sensors_data": [
{
"id": "speed",
"value": 27
},
{
"id": "altitude",
"value": 402
}
]
},
{
"id": 503,
"device_id": 9001,
"item_id": "i503",
"time": "01-10-2026 08:06:00",
"raw_time": "2026-10-01 08:06:00",
"altitude": 403,
"course": 90,
"speed": 27,
"latitude": -17.777,
"longitude": -63.177,
"lat": -17.777,
"lng": -63.177,
"distance": 0.12,
"other": "<info><ignition>1</ignition></info>",
"color": "#000000",
"valid": 1,
"device_time": "2026-10-01 12:06:00",
"server_time": "2026-10-01 12:06:00",
"other_arr": [
"ignition: 1"
],
"sensors_data": [
{
"id": "speed",
"value": 27
},
{
"id": "altitude",
"value": 403
}
]
},
{
"id": 504,
"device_id": 9001,
"item_id": "i504",
"time": "01-10-2026 08:08:00",
"raw_time": "2026-10-01 08:08:00",
"altitude": 404,
"course": 90,
"speed": 27,
"latitude": -17.776,
"longitude": -63.176,
"lat": -17.776,
"lng": -63.176,
"distance": 0.12,
"other": "<info><ignition>1</ignition></info>",
"color": "#000000",
"valid": 1,
"device_time": "2026-10-01 12:08:00",
"server_time": "2026-10-01 12:08:00",
"other_arr": [
"ignition: 1"
],
"sensors_data": [
{
"id": "speed",
"value": 27
},
{
"id": "altitude",
"value": 404
}
]
}
]
},
{
"status": 2,
"index": 1,
"time": "30min 0s",
"show": "01-10-2026 08:40:00",
"left": "01-10-2026 09:10:00",
"raw_time": "2026-10-01 08:40:00",
"distance": 0,
"time_seconds": 1800,
"engine_work": 0,
"engine_idle": 0,
"engine_hours": 0,
"fuel_consumption": null,
"top_speed": 0,
"average_speed": 0,
"driver": null,
"items": [
{
"id": 520,
"device_id": 9001,
"item_id": "i520",
"time": "01-10-2026 08:40:00",
"raw_time": "2026-10-01 08:40:00",
"altitude": 420,
"course": 90,
"speed": 0,
"latitude": -17.76,
"longitude": -63.16,
"lat": -17.76,
"lng": -63.16,
"distance": 0,
"other": "<info><ignition>0</ignition></info>",
"color": "#000000",
"valid": 1,
"device_time": "2026-10-01 12:40:00",
"server_time": "2026-10-01 12:40:00",
"other_arr": [
"ignition: 0"
],
"sensors_data": [
{
"id": "speed",
"value": 0
},
{
"id": "altitude",
"value": 420
}
]
},
{
"id": 521,
"device_id": 9001,
"item_id": "i521",
"time": "01-10-2026 08:42:00",
"raw_time": "2026-10-01 08:42:00",
"altitude": 421,
"course": 90,
"speed": 0,
"latitude": -17.759,
"longitude": -63.159,
"lat": -17.759,
"lng": -63.159,
"distance": 0,
"other": "<info><ignition>0</ignition></info>",
"color": "#000000",
"valid": 1,
"device_time": "2026-10-01 12:42:00",
"server_time": "2026-10-01 12:42:00",
"other_arr": [
"ignition: 0"
],
"sensors_data": [
{
"id": "speed",
"value": 0
},
{
"id": "altitude",
"value": 421
}
]
},
{
"id": 522,
"device_id": 9001,
"item_id": "i522",
"time": "01-10-2026 08:44:00",
"raw_time": "2026-10-01 08:44:00",
"altitude": 422,
"course": 90,
"speed": 0,
"latitude": -17.758000000000003,
"longitude": -63.158,
"lat": -17.758000000000003,
"lng": -63.158,
"distance": 0,
"other": "<info><ignition>0</ignition></info>",
"color": "#000000",
"valid": 1,
"device_time": "2026-10-01 12:44:00",
"server_time": "2026-10-01 12:44:00",
"other_arr": [
"ignition: 0"
],
"sensors_data": [
{
"id": "speed",
"value": 0
},
{
"id": "altitude",
"value": 422
}
]
}
]
},
{
"status": 1,
"index": 2,
"time": "48min 0s",
"show": "01-10-2026 09:10:00",
"left": "01-10-2026 09:58:00",
"raw_time": "2026-10-01 09:10:00",
"distance": 6.29,
"time_seconds": 2880,
"engine_work": 2880,
"engine_idle": 0,
"engine_hours": 2880,
"fuel_consumption": null,
"top_speed": 31,
"average_speed": 29,
"driver": null,
"items": [
{
"id": 535,
"device_id": 9001,
"item_id": "i535",
"time": "01-10-2026 09:10:00",
"raw_time": "2026-10-01 09:10:00",
"altitude": 435,
"course": 90,
"speed": 31,
"latitude": -17.745,
"longitude": -63.145,
"lat": -17.745,
"lng": -63.145,
"distance": 0.12,
"other": "<info><ignition>1</ignition></info>",
"color": "#000000",
"valid": 1,
"device_time": "2026-10-01 13:10:00",
"server_time": "2026-10-01 13:10:00",
"other_arr": [
"ignition: 1"
],
"sensors_data": [
{
"id": "speed",
"value": 31
},
{
"id": "altitude",
"value": 435
}
]
},
{
"id": 536,
"device_id": 9001,
"item_id": "i536",
"time": "01-10-2026 09:12:00",
"raw_time": "2026-10-01 09:12:00",
"altitude": 436,
"course": 90,
"speed": 31,
"latitude": -17.744,
"longitude": -63.144,
"lat": -17.744,
"lng": -63.144,
"distance": 0.12,
"other": "<info><ignition>1</ignition></info>",
"color": "#000000",
"valid": 1,
"device_time": "2026-10-01 13:12:00",
"server_time": "2026-10-01 13:12:00",
"other_arr": [
"ignition: 1"
],
"sensors_data": [
{
"id": "speed",
"value": 31
},
{
"id": "altitude",
"value": 436
}
]
},
{
"id": 537,
"device_id": 9001,
"item_id": "i537",
"time": "01-10-2026 09:14:00",
"raw_time": "2026-10-01 09:14:00",
"altitude": 437,
"course": 90,
"speed": 31,
"latitude": -17.743000000000002,
"longitude": -63.143,
"lat": -17.743000000000002,
"lng": -63.143,
"distance": 0.12,
"other": "<info><ignition>1</ignition></info>",
"color": "#000000",
"valid": 1,
"device_time": "2026-10-01 13:14:00",
"server_time": "2026-10-01 13:14:00",
"other_arr": [
"ignition: 1"
],
"sensors_data": [
{
"id": "speed",
"value": 31
},
{
"id": "altitude",
"value": 437
}
]
},
{
"id": 538,
"device_id": 9001,
"item_id": "i538",
"time": "01-10-2026 09:16:00",
"raw_time": "2026-10-01 09:16:00",
"altitude": 438,
"course": 90,
"speed": 31,
"latitude": -17.742,
"longitude": -63.142,
"lat": -17.742,
"lng": -63.142,
"distance": 0.12,
"other": "<info><ignition>1</ignition></info>",
"color": "#000000",
"valid": 1,
"device_time": "2026-10-01 13:16:00",
"server_time": "2026-10-01 13:16:00",
"other_arr": [
"ignition: 1"
],
"sensors_data": [
{
"id": "speed",
"value": 31
},
{
"id": "altitude",
"value": 438
}
]
}
]
},
{
"status": 4,
"time": null,
"show": "01-10-2026 09:58:00",
"raw_time": "2026-10-01 09:58:00",
"distance": 0,
"driver": null,
"items": [
{
"id": 538,
"device_id": 9001,
"item_id": "i538",
"time": "01-10-2026 09:16:00",
"raw_time": "2026-10-01 09:16:00",
"altitude": 438,
"course": 90,
"speed": 31,
"latitude": -17.742,
"longitude": -63.142,
"lat": -17.742,
"lng": -63.142,
"distance": 0.12,
"other": "<info><ignition>1</ignition></info>",
"color": "#000000",
"valid": 1,
"device_time": "2026-10-01 13:16:00",
"server_time": "2026-10-01 13:16:00",
"other_arr": [
"ignition: 1"
],
"sensors_data": [
{
"id": "speed",
"value": 31
},
{
"id": "altitude",
"value": 438
}
]
}
]
}
],
"device": {
"id": 9001,
"name": "Camioneta de prueba 01",
"imei": "999000000000001",
"plate_number": "TEST-001",
"sensors": [],
"traccar": {}
},
"distance_sum": "9.2 Km",
"top_speed": "31 kph",
"move_duration": "1h 28min 0s",
"stop_duration": "30min 0s",
"engine_hours": "1h 28min 0s",
"engine_idle": "0s",
"engine_work": "1h 28min 0s",
"fuel_consumption": null,
"sensors": [
{
"id": "speed",
"name": "Speed",
"sufix": "kph"
},
{
"id": "altitude",
"name": "Altitude",
"sufix": "m"
}
],
"fuel_consumption_arr": [],
"item_class": [
{
"id": 1,
"value": "drive",
"title": "Drive"
},
{
"id": 2,
"value": "stop",
"title": "Stop"
},
{
"id": 3,
"value": "start",
"title": "Start"
},
{
"id": 4,
"value": "end",
"title": "End"
},
{
"id": 5,
"value": "event",
"title": "Event"
}
],
"images": [
{
"id": 1,
"value": "https://example.invalid/assets/images/route_drive.png",
"title": "https://example.invalid/assets/images/route_drive.png"
}
],
"status": 1
}Verificación
Estado: Verificado. Revisado el 5 de octubre de 2026. Ruta confirmada en producción y archivos del flujo idénticos a los verificados (comparación por huella y diff). La forma de la respuesta se midió con datos ficticios en un entorno de pruebas; no se probó con una cuenta real de producción.
Posiciones GPS crudas paginadas #
GET /api/get_history_messages Verificado
Lista las posiciones almacenadas de un vehículo en el rango dado, paginadas. limit solo admite 50, 100, 200, 300, 400, 500 o 1000; cualquier otro valor se sustituye por 50 sin avisar. sorting=true ordena de la más reciente a la más antigua. A diferencia de get_history, no aplica el límite de 31 días y exige device_id (no acepta imei).
Autenticación. Cabecera user-api-hash con tu user_api_hash.
- Aunque este endpoint no limita el rango, conviene consultar por tramos de hasta 31 días, igual que
get_history.
Parámetros
| Nombre | En | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
device_id | query | integer | Sí | ID del vehículo (campo id de get_devices). |
from_date | query | string | Sí | Fecha inicial YYYY-MM-DD. Zona horaria: la de la cuenta del usuario de la API, no UTC. Formato de visualización: el configurado en la cuenta (en las mediciones fue dd-mm-YYYY HH:mm:ss). |
from_time | query | string | Sí | Hora inicial HH:MM o HH:MM:SS (validación: regex). |
to_date | query | string | Sí | Fecha final YYYY-MM-DD. |
to_time | query | string | Sí | Hora final HH:MM o HH:MM:SS. |
limit | query | integer (50, 100, 200, 300, 400, 500, 1000) | No | Tamaño de página (valor distinto -> 50). |
page | query | integer | No | Número de página. |
sorting | query | string ("true") | No | true = descendente. |
lang | query | string | No | Idioma de los textos traducibles (SetLang). También se admite la cabecera Accept-Language. |
Ejemplo de solicitud
cURL
curl -sS -G "https://plataforma.trackerintl.com/api/get_history_messages" \
-H "user-api-hash: TU_API_HASH" \
--data-urlencode "device_id=9001" \
--data-urlencode "from_date=2026-10-01" \
--data-urlencode "from_time=00:00" \
--data-urlencode "to_date=2026-10-02" \
--data-urlencode "to_time=23:59" \
--data-urlencode "limit=100" \
--data-urlencode "page=1"JavaScript · Node.js 22
const BASE_URL = "https://plataforma.trackerintl.com";
const API_HASH = "TU_API_HASH";
const params = new URLSearchParams({
device_id: "9001",
from_date: "2026-10-01",
from_time: "00:00",
to_date: "2026-10-02",
to_time: "23:59",
limit: "100",
page: "1",
});
const respuesta = await fetch(`${BASE_URL}/api/get_history_messages?${params}`, {
headers: { "user-api-hash": API_HASH },
});
if (!respuesta.ok) throw new Error(`HTTP ${respuesta.status}: ${await respuesta.text()}`);
console.log(JSON.stringify(await respuesta.json(), null, 2));Python · Python 3 con requests
import json
import requests
BASE_URL = "https://plataforma.trackerintl.com"
API_HASH = "TU_API_HASH"
respuesta = requests.get(
f"{BASE_URL}/api/get_history_messages",
headers={"user-api-hash": API_HASH},
params={"device_id": "9001", "from_date": "2026-10-01", "from_time": "00:00", "to_date": "2026-10-02", "to_time": "23:59", "limit": "100", "page": "1"},
timeout=30,
)
respuesta.raise_for_status()
print(json.dumps(respuesta.json(), indent=2, ensure_ascii=False))PHP · PHP 8 con cURL
<?php
$baseUrl = "https://plataforma.trackerintl.com";
$apiHash = "TU_API_HASH";
$url = $baseUrl . "/api/get_history_messages?" . http_build_query(["device_id" => "9001", "from_date" => "2026-10-01", "from_time" => "00:00", "to_date" => "2026-10-02", "to_time" => "23:59", "limit" => "100", "page" => "1"]);
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTPHEADER => ["user-api-hash: " . $apiHash],
]);
$cuerpo = curl_exec($ch);
$codigo = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
if ($cuerpo === false || $codigo !== 200) {
fwrite(STDERR, "HTTP $codigo\n");
exit(1);
}
echo json_encode(json_decode($cuerpo, true), JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE), "\n";Respuestas
| Código | Descripción |
|---|---|
200 | Respuesta correcta. |
401 | Hash ausente o incorrecto, usuario inactivo, suscripción vencida (también la del gerente) o API deshabilitada por falta de pago del servidor. HTTP 401 con {status: 0, message}. |
403 | Sin permiso del rol para el módulo, vehículo de otro usuario o cuenta restringida por facturación. Incluye perm: 0. |
404 | Dispositivo inexistente. |
422 | Faltan device_id o fechas. |
500 | Error interno de la plataforma. Con la depuración apagada el texto del mensaje es genérico. |
| Campo (respuesta 200) | Tipo | Descripción |
|---|---|---|
messages | Paginator + object | |
sensors | array de object | |
pagination_limits | object | |
limit | integer | |
sorting | string ("asc", "desc") | |
parameters | object | |
status |
Ejemplo de respuesta 200 (datos ficticios)
{
"messages": {
"current_page": 1,
"data": [
{
"id": 1000,
"altitude": 400,
"course": 90,
"latitude": -17.78,
"longitude": -63.18,
"other": "<info><ignition>1</ignition><totaldistance>1000</totaldistance></info>",
"speed": "27.00",
"time": "01-10-2026 08:00:00",
"device_time": "2026-10-01 12:00:00",
"server_time": "01-10-2026 08:00:00",
"sensors_values": null,
"valid": 1,
"distance": 120,
"protocol": "gt06",
"device_id": 9001,
"other_arr": [
"ignition: 1",
"totaldistance: 1000"
],
"other_array": {
"ignition": "1",
"totaldistance": "1000"
},
"popup_sensors": {
"70001": {
"name": "Bateria",
"value": "87 %"
}
},
"sensors_value": {
"70001": "87 %"
}
},
{
"id": 1001,
"altitude": 401,
"course": 90,
"latitude": -17.779,
"longitude": -63.179,
"other": "<info><ignition>1</ignition><totaldistance>1000</totaldistance></info>",
"speed": "27.00",
"time": "01-10-2026 08:01:00",
"device_time": "2026-10-01 12:01:00",
"server_time": "01-10-2026 08:01:00",
"sensors_values": null,
"valid": 1,
"distance": 120,
"protocol": "gt06",
"device_id": 9001,
"other_arr": [
"ignition: 1",
"totaldistance: 1000"
],
"other_array": {
"ignition": "1",
"totaldistance": "1000"
},
"popup_sensors": {
"70001": {
"name": "Bateria",
"value": "87 %"
}
},
"sensors_value": {
"70001": "87 %"
}
}
],
"first_page_url": "https://plataforma.example.invalid/api/get_history_messages?page=1",
"from": 1,
"last_page": 3,
"last_page_url": "https://plataforma.example.invalid/api/get_history_messages?page=3",
"links": [],
"next_page_url": "https://plataforma.example.invalid/api/get_history_messages?page=2",
"path": "https://plataforma.example.invalid/api/get_history_messages",
"per_page": 50,
"prev_page_url": null,
"to": 2,
"total": 120,
"url": "https://plataforma.example.invalid/api/get_history_messages"
},
"sensors": [],
"pagination_limits": {
"50": 50,
"100": 100,
"200": 200,
"300": 300,
"400": 400,
"500": 500,
"1000": 1000
},
"limit": 50,
"sorting": "asc",
"parameters": {
"ignition": "",
"totaldistance": ""
},
"status": 1
}Verificación
Estado: Verificado. Revisado el 5 de octubre de 2026. Ruta confirmada en producción y archivos del flujo idénticos a los verificados (comparación por huella y diff). La forma de la respuesta se midió con datos ficticios en un entorno de pruebas; no se probó con una cuenta real de producción.