osrmroute

Integration und Migration

Ausführbare Einstiegsbeispiele

Node.js 24 und die Python-3-Standardbibliothek. Speichern Sie OSRM_API_KEY als Server-Umgebungsvariable, niemals im Browser-Bundle. Die Beispiele senden echte Anfragen und verbrauchen reguläre Credits.

SDK · API v1.1

JavaScript-SDK-Version im Repository: 1.1.0. Die JavaScript- und Python-SDKs unterstützen asynchrone Jobs sowie Sandbox- und Metadaten-Endpunkte. Installieren Sie JavaScript über npm und Python über PyPI.

Checkliste zur Migration

  1. Prüfen Sie die Antwortverarbeitung mit Beispieldaten in der Sandbox, bevor Sie kostenpflichtige Live-Anfragen senden.
  2. OSRM verwendet longitude,latitude. Die point- und matrix-Arrays von /api/1 verwenden latitude,longitude. Der Beispieladapter zeigt die Umwandlung ausdrücklich.
  3. Vergleichen Sie Endpunkt, Profil, Antwortfelder und Tariflimits. Kompatibilität bedeutet keinen vollständigen direkten Ersatz für jeden Anbieter.
  4. Beschränken Sie den Live-Schlüssel nach Dienst, origin/IP, Ablaufdatum und Projektbudget. Testen Sie anschließend mit wenigen echten Anfragen.
  5. Nutzen Sie eine Übergangsfrist von 1 oder 24 Stunden, prüfen Sie den neuen Schlüssel und widerrufen Sie anschließend alte Aliase.

Asynchrone Jobs

Operationen: geocode_batch, matrix, optimize. POST /api/jobs liefert 202 und eine Job-ID. Derselbe Idempotency-Key mit gleichem Inhalt liefert den vorhandenen Job; anderer Inhalt ergibt 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.

Signierte Rückmeldungen

Erstellen Sie einen öffentlichen HTTPS-Webhook, speichern Sie das einmalige Geheimnis sicher und übergeben Sie webhook_id beim Erstellen eines Jobs. Prüfen Sie X-OSRM-Timestamp und X-OSRM-Signature anhand des unveränderten Bodys.

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.

Fehler, Verfolgung und Quellenmetadaten

Fehlerantworten behalten error bei und ergänzen type, title, status, detail, code, request_id und retryable. Verwenden Sie X-Request-Id für Support und Anfrageverfolgung.

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.
Support-Team

OSRMRoute Support

Schreiben Sie direkt unserem Team

WIR HELFEN IHNEN

Wie können wir helfen?

Fragen Sie zu Integration, Abrechnung oder Konto. Unsere Antworten erscheinen in diesem Gespräch.

Ihre Chats

Ihre Chats erscheinen hier.