osrmroute

İnteqrasiya və miqrasiya

İşlək başlanğıc nümunələri

Node.js 24 və Python 3 standart kitabxanası. Açarı OSRM_API_KEY mühit dəyişənində saxlayın; brauzer paketinə daxil etməyin. Nümunə canlı sorğu edir və normal kredit istifadə edir.

SDK · API v1.1

Repozitoriyadakı JavaScript SDK versiyası: 1.1.0. JavaScript və Python SDK-ları async tapşırıqları, sandbox və metadata endpoint-lərini dəstəkləyir. JavaScript paketini npm-dən, Python paketini PyPI-dən quraşdırın.

Mövcud inteqrasiyanı köçürmək

  1. Əvvəl sandbox-da cavab strukturunu yoxlayın. Cavab fixture-dir; canlı geocoding və yol hesablaması deyil.
  2. OSRM üçün koordinat sırası longitude,latitude; /api/1 üçün point və matrix nöqtələri latitude,longitude-dur. Nümunə adapter bu fərqi açıq göstərir.
  3. Uyğun endpoint, profil, cavab sahələri və limitləri sənədlərlə müqayisə edin. Bütün provayderlər üçün tam drop-in uyğunluq vəd edilmir.
  4. Canlı açarı servis, origin/IP, bitmə tarixi və layihə büdcəsi ilə məhdudlaşdırın. Sonra aşağı yüklə real test edin.
  5. Keçiddə köhnə açara 1 və ya 24 saat vaxt verin. Yeni açarın işlədiyini gördükdən sonra köhnəni ləğv edin.

Asinxron tapşırıqlar

Əməliyyatlar: geocode_batch, matrix, optimize. POST /api/jobs 202 və iş ID-si qaytarır. Eyni Idempotency-Key və eyni məzmun eyni işi qaytarır; dəyişmiş məzmun 409 qaytarı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.

İmzalanmış bildirişlər

Paneldə HTTPS webhook yaradın, birdəfəlik secret-i təhlükəsiz saxlayın və POST /api/jobs üçün webhook_id verin. X-OSRM-Timestamp və X-OSRM-Signature başlıqlarını xam body ilə yoxlayı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.

Xətalar, sorğu izi və mənbə məlumatları

Xəta cavabları köhnə error sahəsini saxlayır və type, title, status, detail, code, request_id, retryable əlavə edir. X-Request-Id dəstək və sorğu izi üçün istifadə olunur.

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.
Dəstək komandası

OSRMRoute Dəstək

Komandamıza birbaşa yazın

KÖMƏK ÜÇÜN BURADAYIQ

Sizə necə kömək edək?

İnteqrasiya, ödəniş və ya hesabınız barədə yazın. Cavablarımız bu söhbətdə görünəcək.

Sizin çatlarınız

Çatlarınız burada görünəcək.