Entegrasyon ve geçiş
Çalıştırılabilir başlangıç örnekleri
Node.js 24 ve Python 3 standart kitaplığı. OSRM_API_KEY sunucu ortam değişkenini kullanın; gizli anahtarı tarayıcı paketine eklemeyin. Örnekler canlı istek yapar ve normal kredi tüketir.
SDK · API v1.1
Depodaki JavaScript SDK sürümü: 1.1.0. JavaScript ve Python SDK’ları asenkron görevleri, sandbox ve metadata uç noktalarını destekler. JavaScript’i npm, Python’u PyPI üzerinden kurun.
Geçiş kontrol listesi
- Ücretli canlı isteğe geçmeden önce örnek verili sandbox ortamında yanıt ayrıştırmasını doğrulayın.
- OSRM koordinat sırası longitude,latitude; /api/1 point ve matrix dizileri latitude,longitude kullanır. Örnek adaptör bu dönüşümü açıkça yapar.
- Uç nokta, profil, yanıt alanları ve plan sınırlarını karşılaştırın. Her sağlayıcıyla eksiksiz ve doğrudan uyumluluk garanti edilmez.
- Canlı anahtarı servis, origin/IP, son kullanma tarihi ve proje bütçesiyle sınırlandırın; ardından düşük hacimli canlı test yapın.
- Anahtar değişiminde 1 veya 24 saatlik geçiş süresi kullanın; yenisini doğruladıktan sonra eski anahtar takma adlarını iptal edin.
Asenkron görevler
İşlemler: geocode_batch, matrix, optimize. POST /api/jobs, 202 ve görev kimliği döndürür. Aynı Idempotency-Key ve içerik mevcut görevi döndürür; farklı içerik 409 döndürür.
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.İmzalı bildirimler
Panelde herkese açık HTTPS webhook oluşturun, tek seferlik sırrı güvenle saklayın ve görev oluştururken webhook_id gönderin. X-OSRM-Timestamp ve X-OSRM-Signature başlıklarını ham gövde üzerinden doğrulayın.
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.
Hatalar, izleme ve kaynak metaverileri
Hata yanıtları error alanını korur; type, title, status, detail, code, request_id ve retryable ekler. Destek ve istek takibi için X-Request-Id kullanın.
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.