#Zustellung und Wiederholungen
#Wann wiederholt wird
| Versuch | Wann | Seit dem Ereignis |
|---|---|---|
| 1 | sofort | — |
| 2 | 1 min nach dem 1. Versuch | ca. 1 min |
| 3 | 5 min nach dem 2. Versuch | ca. 6 min |
| 4 | 15 min nach dem 3. Versuch | ca. 21 min |
| 5 | 1 h nach dem 4. Versuch | ca. 1 h 21 min |
| 6 | 6 h nach dem 5. Versuch | ca. 7 h 21 min |
| 7 | 24 h nach dem 6. Versuch | ca. 31 h 21 min |
Zugestellt ist eine Nachricht, wenn Ihr Endpunkt innerhalb von 10 Sekunden mit einem Status 2xx antwortet. Weiterleitungen (3xx) werden nicht verfolgt und zählen als Fehlschlag. Nach 7 Versuchen ist die Zustellung endgültig gescheitert (DEAD_LETTER); im Echtbetrieb bekommt Ihr technischer Ansprechpartner dann eine E-Mail. Im Portal lässt sich jede Zustellung erneut senden.
Ein endgültig gescheiterter Webhook hält den Auftrag nicht auf — die Überführung läuft weiter, nur Ihr System erfährt es nicht. Deshalb die Meldung an Ihren technischen Ansprechpartner, und deshalb der Stand jederzeit über GET /api/v1/extern/orders/{id}/status.
#So antwortet Ihr Endpunkt richtig
- Schnell bestätigen, dann verarbeiten. Antworten Sie mit
200oder204, sobald die Signatur stimmt und die Nachricht gespeichert ist. Lange Verarbeitung (ERP-Buchung, Folgeaufrufe) gehört in eine Warteschlange. Nach zehn Sekunden gilt der Versuch als gescheitert — auch wenn Ihr System danach erfolgreich war. - Doppelt ist normal. Ist Ihre Bestätigung unterwegs verloren gegangen, kommt dieselbe Nachricht noch einmal. Merken Sie sich die
idaus dem Umschlag und verarbeiten Sie jedes Ereignis nur einmal — sie ist bei jedem Versuch und an jedem Ihrer Endpunkte dieselbe.X-LogiCar-Deliverykennzeichnet dagegen die Zustellung an genau diesen Endpunkt. - Reihenfolge nicht voraussetzen. Nach einer Störung kommen Wiederholungen später als jüngere Nachrichten. Maßgeblich sind
createdAtunddata.status, nicht die Ankunft. Im bisherigen Format:timestampundnewStatus. - Fehler ehrlich melden. Antwortet Ihr Endpunkt mit 2xx, obwohl er nichts gespeichert hat, gibt es keine Wiederholung. Mit 5xx sagen Sie: bitte später noch einmal.
- Keine Weiterleitung. Eine 3xx-Antwort zählt als Fehlschlag.
#Erneut senden
Im Portal unter Einstellungen → Webhooks zeigt das Protokoll jedes Endpunkts die Zustellungen mit Stand:
| Stand | Bedeutung |
|---|---|
PENDING | Vorgemerkt, der erste Versuch läuft gleich. |
DELIVERED | Zugestellt. |
FAILED_RETRYING | Gescheitert, der nächste Versuch ist geplant. |
DEAD_LETTER | Endgültig gescheitert, oder der Endpunkt war pausiert. |
Jede Zustellung lässt sich erneut senden — mit derselben id und derselben X-LogiCar-Delivery, damit Ihr System sie als Wiederholung erkennt. Ein Klick bricht einen laufenden Plan nicht ab, und eine schon zugestellte Nachricht bleibt zugestellt, auch wenn der Nachversand scheitert.
Tipp
Nach einer längeren Störung Ihres Endpunkts: erst die DEAD_LETTER-Zustellungen erneut senden, dann über GET /api/v1/extern/orders/{id}/status abgleichen, ob alles angekommen ist.