osrmroute

Integração e migração

Exemplos iniciais executáveis

Node.js 24 e biblioteca padrão do Python 3. Configure OSRM_API_KEY no ambiente do servidor; nunca inclua segredos no código do navegador. Os exemplos fazem chamadas reais e consomem créditos normais.

SDK · API v1.1

Versão do SDK JavaScript no repositório: 1.1.0. Os SDKs JavaScript e Python suportam tarefas assíncronas e endpoints de sandbox e metadados. Instale JavaScript pelo npm e Python pelo PyPI.

Lista de verificação de migração

  1. Valide a leitura das respostas no sandbox com dados de teste antes de uma chamada real paga.
  2. OSRM usa longitude,latitude. Os arrays point e matrix de /api/1 usam latitude,longitude. O adaptador de exemplo demonstra essa conversão.
  3. Compare endpoint, perfil, campos de resposta e limites do plano. A compatibilidade não garante a substituição direta completa de todos os provedores.
  4. Restrinja a chave real por serviço, origin/IP, validade e orçamento do projeto; depois execute um teste real de baixo volume.
  5. Use um período de transição de 1 ou 24 horas, verifique a nova chave e revogue os aliases antigos.

Tarefas assíncronas

Operações: geocode_batch, matrix, optimize. POST /api/jobs retorna 202 e um ID de tarefa. O mesmo Idempotency-Key e conteúdo retornam a tarefa existente; conteúdo diferente retorna 409.

curl -X POST https://osrmroute.com/api/jobs \
  -H "Authorization: Bearer $OSRM_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: your-durable-operation-id-001" \
  -d '{"operation":"geocode_batch","input":{"queries":["Baku, Azerbaijan"]}}'
GET    /api/jobs/{id}
GET    /api/jobs/{id}?result=1
DELETE /api/jobs/{id}     # queued jobs only
States: queued → running → completed | failed | unknown
queued → cancelled | expired
Inputs/results: encrypted, 24-hour expiry
Unknown outcomes: investigate X-Request-Id; never auto-retry
Normal API entitlement, origin/IP policy and credits apply at dispatch.

Notificações assinadas

Crie um webhook HTTPS público, guarde o segredo de uso único com segurança e envie webhook_id ao criar uma tarefa. Verifique X-OSRM-Timestamp e X-OSRM-Signature com o corpo original.

signature = "sha256=" + HMAC_SHA256(secret, timestamp + "." + rawBody)
Reject timestamps outside ±300 seconds.
Compare signatures in constant time. Persist event IDs to deduplicate.
Callbacks contain event ID, job ID and state; fetch results with the API key.
Timeout: 10s. At most 5 attempts with backoff. No redirects.
Treat repeated delivery as normal; do not repeat a charge or job.

Erros, rastreamento e metadados de origem

Os erros mantêm error e acrescentam type, title, status, detail, code, request_id e retryable. Use X-Request-Id para suporte e rastreamento de solicitações.

GET /api/source-metadata   # live key, info scope
Coverage/freshness/source evidence only; no inferred legal speed limit.
Trace retention: 7 days; service names, durations and status only.
No request coordinates, payload, raw keys or SQL text in traces.
Equipa de suporte

Suporte OSRMRoute

Escreva diretamente à nossa equipa

ESTAMOS PARA AJUDAR

Como podemos ajudar?

Pergunte sobre integração, faturação ou a sua conta. As respostas aparecem nesta conversa.

Suas conversas

Suas conversas aparecerão aqui.