Voltar ao blog
Desenvolvimento12 min de leitura

Integrando o DN Tracker ao seu ERP via API REST

DN

Diego Nunes

Engineering

D
Desenvolvimento

Tutorial passo a passo para desenvolvedores: autenticação, endpoints de posições em tempo real, webhooks de eventos e exemplos de código em Node.js e Python.

A API REST do DN Tracker permite integrar dados de rastreamento diretamente ao seu ERP, TMS ou sistema de despacho. Este tutorial cobre os casos de uso mais comuns com exemplos de código prontos para uso.

Autenticação

A API usa tokens Bearer. Gere seu token em Configurações → API → Novo token. Tokens têm escopo configurável (leitura, escrita, webhooks) e podem ser rotacionados sem downtime.

bash
curl https://api.dntracker.com.br/v1/vehicles \
  -H "Authorization: Bearer SEU_TOKEN"

Listando veículos

javascript
const res = await fetch("https://api.dntracker.com.br/v1/vehicles", {
  headers: { Authorization: `Bearer ${process.env.DNTRACKER_TOKEN}` },
})
const { vehicles } = await res.json()
// [{ id, name, plate, deviceId, ... }]

Posições em tempo real

Para posições em tempo real, use o endpoint SSE (Server-Sent Events). A conexão é mantida aberta e eventos chegam em menos de 2 segundos após a transmissão do dispositivo.

javascript
const evtSource = new EventSource(
  "https://api.dntracker.com.br/v1/stream?orgId=ORG_ID&token=SEU_TOKEN"
)

evtSource.addEventListener("position", (e) => {
  const { deviceId, lat, lng, speed, timestamp } = JSON.parse(e.data)
  updateMap(deviceId, lat, lng)
})

Webhooks

Webhooks são ideais para eventos discretos: entrada/saída de geofence, ignição ligada/desligada, excesso de velocidade. Configure a URL de destino no painel e o DN Tracker fará um POST com o payload do evento.

javascript
// Payload de evento de geofence
{
  "event": "geofence.enter",
  "vehicleId": "veh_abc123",
  "geofenceId": "geo_xyz789",
  "geofenceName": "Depósito Central",
  "position": { "lat": -23.5505, "lng": -46.6333 },
  "timestamp": "2026-02-20T14:32:00Z"
}

Histórico de posições

python
import httpx

token = "SEU_TOKEN"
device_id = "dev_abc123"

res = httpx.get(
    f"https://api.dntracker.com.br/v1/devices/{device_id}/history",
    headers={"Authorization": f"Bearer {token}"},
    params={"from": "2026-02-01T00:00:00Z", "to": "2026-02-02T00:00:00Z"},
)
positions = res.json()["positions"]
A documentação completa da API, com referência de todos os endpoints e schemas, está disponível em docs.dntracker.com.br/api.

Rate limits

  • Endpoints REST: 60 req/min por token
  • Stream SSE: 1 conexão por organização no plano Starter, ilimitado nos planos Pro e Enterprise
  • Webhooks: sem limite de eventos recebidos
DN

Escrito por Diego Nunes

Engineering · DN Tracker

Começar grátis

Gostou? Receba mais artigos por e-mail

Sem spam. Conteúdo sobre rastreamento, frotas e segurança uma vez por semana.