iWatch (Trackers)
Conjunto de endpoints para consulta de dispositivos rastreados (/iwatch/devices/*).
Autenticação
Os endpoints do iWatch usam API Key (header ifw-public-hub-key), diferente do esquema Bearer usado pelos endpoints de fornecedor (/api/...).
Cada API Key está associada a um conjunto de views permitidas no schema ifw_public_hub. A view utilizada é sempre derivada do cliente autenticado — nunca vem do request — garantindo isolamento total entre clientes.
| Header | Valor |
|---|---|
ifw-public-hub-key | <api-key-do-cliente> |
Respostas relevantes:
200 OK— sucesso.400 Bad Request— parâmetros inválidos (page,pageSize,filtermal formatado).403 Forbidden— API Key ausente, inválida ou cliente sem nenhuma view permitida.500 Internal Server Error— erro inesperado ao consultar a base.
Endpoints disponíveis
| Endpoint | Descrição |
|---|---|
GET /iwatch/devices/trackers | Lista paginada com filtro por dt_carga (data da carga). Pode retornar várias linhas para o mesmo dispositivo. |
GET /iwatch/devices/trackers/snapshot | Foto da frota: um único registro por dispositivo na última data_de_ping (D-1) ou em uma data específica. |
Quando usar cada um
- Use
/trackerspara análises do dia/carga específica — útil quando o cliente quer ver toda a movimentação carregada em um determinado dia. - Use
/trackers/snapshotquando o cliente precisa apenas do estado atual de cada dispositivo (último ping). É o caso de dashboards, ETLs incrementais e qualquer integração que sincronize "estado", e não "eventos".
Filtro de data
O parâmetro de query filter segue o formato:
filter=date:eq:YYYY-MM-DD
A coluna alvo do filtro depende do endpoint:
| Endpoint | Coluna filtrada |
|---|---|
/iwatch/devices/trackers | dt_carga |
/iwatch/devices/trackers/snapshot | data_de_ping |
Quando filter é omitido:
/trackers— não aplica filtro de data (retorna tudo o que está na view, ordenado)./trackers/snapshot— calculaMAX(data_de_ping)da view (na operação normal isso é D-1).