Zum Inhalt springen
LOGICAR Entwickler Suchen

#Zustellung und Wiederholungen

Auf dieser Seite

#Wann wiederholt wird

VersuchWannSeit dem Ereignis
1sofort
21 min nach dem 1. Versuchca. 1 min
35 min nach dem 2. Versuchca. 6 min
415 min nach dem 3. Versuchca. 21 min
51 h nach dem 4. Versuchca. 1 h 21 min
66 h nach dem 5. Versuchca. 7 h 21 min
724 h nach dem 6. Versuchca. 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 200 oder 204, 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 id aus dem Umschlag und verarbeiten Sie jedes Ereignis nur einmal — sie ist bei jedem Versuch und an jedem Ihrer Endpunkte dieselbe. X-LogiCar-Delivery kennzeichnet 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 createdAt und data.status, nicht die Ankunft. Im bisherigen Format: timestamp und newStatus.
  • 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:

StandBedeutung
PENDINGVorgemerkt, der erste Versuch läuft gleich.
DELIVEREDZugestellt.
FAILED_RETRYINGGescheitert, der nächste Versuch ist geplant.
DEAD_LETTEREndgü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.