Como consultar, em tempo real e por histórico, os dados de telemetria dos veículos vinculados a um usuário: posição, velocidade, ignição, sensores, hodômetro e horímetro.
A API é naturalmente restrita ao usuário dono do token. Toda requisição é resolvida no contexto do usuário identificado pelo user_api_hash, e o servidor consulta apenas os dispositivos daquele usuário. Não há como um token enxergar veículos de outro usuário — o isolamento é garantido no back-end, não depende de filtro do cliente.
api_hash único (campo exibido em Editar → API → “Hash da API”).api_hash_expire). Para integração contínua, use um hash sem expiração ou renove-o via login.Autentique enviando o parâmetro user_api_hash em toda requisição (via query string em GET ou no corpo em POST). Se você já tem o hash da tela do usuário, pode usá-lo diretamente e pular o login.
| Parâmetro | Obrigatório | Descrição |
|---|---|---|
email | sim | E-mail (ou usuário) da conta. |
password | sim | Senha da conta. |
{
"status": 1,
"user_api_hash": "$2y$10$cGz...YIBKu",
"permissions": { ... }
}
Guarde o valor de user_api_hash e reutilize-o nas próximas chamadas.
Este é o endpoint principal da integração. Retorna a frota do usuário agrupada, com a posição atual, ignição, sensores, serviços e status de cada veículo em uma única chamada.
| Parâmetro | Padrão | Descrição |
|---|---|---|
user_api_hash | obrigatório | Token do usuário. |
lang | opcional | Idioma dos rótulos, ex.: pt. |
s | opcional | Busca por nome/placa/IMEI. |
page | 1 | Página, quando paginando. |
limit | 25 | Itens por página. |
curl -G "https://gps.declatrack.com.br/api/get_devices" \
--data-urlencode "user_api_hash=SEU_TOKEN" \
--data-urlencode "lang=pt"
// A resposta é uma LISTA de grupos; cada grupo tem "items" (veículos).
// Os campos de posição vêm no NÍVEL do veículo (não aninhados).
[
{
"id": 0, "title": "Desagrupados",
"items": [
{
"id": 170907,
"name": "RMM2G18 GARRA",
"online": "stopped", // moving | stopped | offline
"lat": -7.11532,
"lng": -34.8641,
"speed": 0,
"course": 218,
"altitude": 12,
"time": "2026-07-06 18:33:45",
"address": "Av. Governador...",
"protocol": "gt06",
"engine_status": false, // ignição (booleano)
"engine_hours": "ignition", // fonte do horímetro
"stop_duration": "2mes 5d 15h",
"total_distance": 5084.76, // hodômetro (km)
"unit_of_distance": "km",
"tail": [ {"lat":"-21.8404", "lng":"-43.3742"} /* rastro */ ],
"sensors": [
{ "type": "ignition", "name": "Ignição", "value": "Ligado", "val": "True" },
{ "type": "battery", "name": "Bat. Veículo", "value": "14.42 v", "val": "14.42" }
]
}
]
}
]
Versão enxuta para atualização frequente do mapa. Retorna um envelope { items, events, time, version } com as mudanças desde a última consulta — mais leve que get_devices. Para o retrato completo da frota, use get_devices; para atualizar, faça polling deste.
Mesma autenticação por user_api_hash. Recomendamos intervalo de ≥ 10–15 segundos entre chamadas para não sobrecarregar o servidor.
curl -G "https://gps.declatrack.com.br/api/get_devices_latest" \
--data-urlencode "user_api_hash=SEU_TOKEN"
Retorna as posições registradas de um veículo em um intervalo — usado para reconstruir trajetos, distância percorrida e tempo de ignição ao longo do período.
| Parâmetro | Obrigatório | Descrição |
|---|---|---|
user_api_hash | sim | Token do usuário. |
device_id | sim | ID do veículo (campo id retornado em get_devices). |
from_date | sim | Data inicial AAAA-MM-DD. |
from_time | sim | Hora inicial HH:MM. |
to_date | sim | Data final AAAA-MM-DD. |
to_time | sim | Hora final HH:MM. |
limit | 100 | Máximo de pontos retornados. |
curl -G "https://gps.declatrack.com.br/api/get_history" \
--data-urlencode "user_api_hash=SEU_TOKEN" \
--data-urlencode "device_id=170907" \
--data-urlencode "from_date=2026-07-01" \
--data-urlencode "from_time=00:00" \
--data-urlencode "to_date=2026-07-01" \
--data-urlencode "to_time=23:59"
Para grandes volumes, use /api/get_history_messages, que retorna as posições paginadas.
Lista os eventos gerados pelos veículos do usuário (ignição ligada/desligada, entrada/saída de cerca, excesso de velocidade, etc.) — útil para calcular tempo de ignição ligado/desligado e alertas.
| Parâmetro | Obrigatório | Descrição |
|---|---|---|
user_api_hash | sim | Token do usuário. |
device_id | opcional | Filtra por um veículo. |
from_date / to_date | opcional | Intervalo de datas. |
limit | 100 | Máximo de eventos. |
Campos retornados por veículo em get_devices (validados na resposta real, app v3.7.7). Atenção: os campos de posição ficam no nível principal do veículo — não há bloco position aninhado.
| Campo | Tipo | Significado |
|---|---|---|
id | int | ID do veículo (use em get_history/get_events). |
name | string | Nome/apelido do veículo. |
online | string | Status: moving, stopped ou offline. |
alarm | int | Indicador de alarme ativo. |
protocol | string | Protocolo do rastreador (ex.: gt06). |
engine_status | bool | Ignição ligada/desligada. |
detect_engine | string | Como a ignição é detectada (ex.: gps, ignition). |
engine_hours | string | Horímetro — tempo de motor ligado. |
stop_duration / stop_duration_sec | string / int | Tempo parado (formatado e em segundos). |
total_distance | number | Hodômetro — distância acumulada (na unit_of_distance). |
address | string | Endereço aproximado da última posição. |
sim_expiration_date | string | Vencimento do chip, quando disponível. |
| Campo | Tipo | Significado |
|---|---|---|
lat | float | Latitude. |
lng | float | Longitude. |
speed | number | Velocidade (unidade em distance_unit_hour, ex.: kph). |
course | number | Direção em graus (0–360). |
altitude | number | Altitude. |
time / timestamp | string / int | Momento da posição (formatado e epoch). |
tail | array | Rastro recente: lista de { lat, lng } para desenhar o trajeto no mapa. |
inaccuracy | number | Imprecisão estimada da posição. |
sensors[]| Campo | Tipo | Significado |
|---|---|---|
id | int | ID do sensor. |
type | string | Tipo (ex.: ignition, battery, gsm). |
name | string | Nome exibido (ex.: Ignição, Bat. Veículo, Sinal GPRS). |
value | string | Valor formatado para exibição (ex.: 14.42 v, Ligado). |
val | string | Valor bruto (ex.: 14.42, True). |
show_in_popup | bool | Se aparece no popup do mapa. |
| HTTP | Significado | Como tratar |
|---|---|---|
200 | Sucesso | Corpo contém os dados solicitados. |
401 | Não autenticado / conta suspensa ou expirada | Verifique o user_api_hash e a situação da conta. |
403 | Sem permissão | O usuário não tem a permissão necessária para o recurso. |
422 | Parâmetros inválidos | Campos obrigatórios ausentes/mal formatados. |
Respostas de erro também trazem "status": 0 e uma mensagem no corpo. Sempre verifique status antes de consumir os dados.
get_devices_latest (≥ 10–15 s). Para telemetria instantânea, consulte a equipe DeclaTrack sobre o canal WebSocket.id de cada veículo para cruzar com get_history e get_events.