Zum Inhalt springen

Grundlagen

Idempotenz

Netzwerke fallen aus. Mit einem Idempotency-Key wiederholst du einen Schreibzugriff nach einem Timeout und kannst sicher sein, dass STRYK ihn nur einmal ausführt.

Wann ein Schlüssel nötig ist

OperationIdempotency-Key
POST /bookingsPflicht
POST /bookings/{id}/cancelPflicht
PATCH-Anfragenoptional, empfohlen
GET, POST /quotesnicht nötig (ohne Nebenwirkung)
curl
curl -X POST https://app.staystryk.com/api/partner/v1/bookings \
  -H "Authorization: Bearer $STRYK_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: web-checkout-7f3a9c21" \
  --data @booking.json

Regeln

  • Ein Schlüssel hat 1 bis 160 Zeichen aus A-Z a-z 0-9 . _ : -. Eine UUID v4 ist eine gute Wahl.
  • STRYK speichert Schlüssel, Anfrage und Ergebnis 24 Stunden, je API-Schlüssel.
  • Gleicher Schlüssel, gleicher Body: du erhältst das gespeicherte Ergebnis der ersten Anfrage mit demselben Statuscode. Nichts wird doppelt ausgeführt.
  • Gleicher Schlüssel, anderer Body: 422 idempotency_key_reused.
  • Erste Anfrage läuft noch: 409 idempotency_in_progress. Kurz warten und wiederholen.
  • Fehlender Schlüssel, wo er Pflicht ist: 400 idempotency_key_required.

In der Praxis

  • Erzeuge den Schlüssel vor dem ersten Versuch und speicher ihn mit deinem eigenen Datensatz (Checkout, Auftrag, Sync-Job). Ein bei jeder Wiederholung neu erzeugter Schlüssel schützt nichts.
  • Ändert sich die Anfrage selbst, der Gast bestätigt einen neuen Preis, , verwende einen neuen Schlüssel.
  • Für Stornierungen macht ein aus der Buchungs-ID abgeleiteter Schlüssel (cancel-<id>) aus Doppelklicks eine einzige Stornierung.