Skip to main content

Willkommen in unserem Help Center!

Erklärung für ausstehende Webhooks

Manchmal bleiben Webhooks in der Warteschleife und es scheint, dass sie nicht einmal an Ihren Server gesendet werden.

Inhalt:

First in, first out

Alle Webhooks werden in FIFO (first in first out) für jeden Kunden sortiert.

Das bedeutet, dass Sie davon ausgehen können, dass Sie für jeden Kunden Ereignisse in der richtigen Reihenfolge erhalten.

Beispiel: Sie erhalten keinen CUSTOMER_UPDATED vor CUSTOMER_CREATED.

Anmerkung

Wenn Ihr Dienst keinen HTTP-Code zwischen 200 und 299 zurückgibt:

  • betrachten wir den Webhook als fehlgeschlagen

  • wir werden die nächsten Webhooks für diesen bestimmten Kunden blockieren

Erwägungen für Webhooks
  • Ihr Endpunkt muss innerhalb von 30 Sekunden antworten.

  • Eine Antwort mit HTTP-Code 2XX wird als erfolgreichbetrachtet. Alle anderen Antworten werden als Fehler betrachtet.

  • Der Inhalt eines Webhook informiert über ein Ereignis im Billwerk+ Payment System, die betroffenen Ressourcen und den Ereignistyp, aber trägt an sich keinen Status. Es wird empfohlen, anschließend die API zu verwenden, um den aktualisierten Status einer Ressource zu erhalten.

  • Ihr Endpunkt muss idempotent sein, so dass mehrere Aufrufe desselben Webhooks mit demselben Ergebnis als ein Abruf möglich sind.

    Dies ist darauf zurückzuführen, dass Kommunikationsfehler dazu führen können, dass Billwerk+ Payments einen Aufruf als fehlgeschlagen betrachtet, obwohl er empfangen wurde. Wir werden fehlgeschlagene Aufrufe erneut versuchen. Siehe unten.

  • Bei Ausfallszenarien können Webhooks aus dem Verkehr gezogen werden. Daher verwendet immer die API, um den aktuellen Status einer Ressource zu erhalten.

    Ein Beispiel ist die Kündigung eines Abonnements, gefolgt von einer Rücknahme der Kündigung. Der Webhook für die Kündigung könnte nach der Rücknahme der Kündigung empfangen werden.

Best Practices

Billwerk+ Payment schickt maximal 10 Webhook-Anfragen gleichzeitig an Ihren Server.

Eine gute Praxis ist es, Ereignisse in eine lokale Warteschlange auf Ihrer Seite auszulagern und 200 OK on each zurückzugeben.

Das bedeutet, dass Sie schnell reagieren können und dass sich keine Ereignisse gegenseitig blockieren. Sie können dann jedes Ereignis aus Ihrer Warteschlange verarbeiten und Ihre Anlagen problemlos aktualisieren.