Skip to content
Innopulse Consulting
SaaS & Engineering

Was ist ein Webhook?

Kurzdefinition

Ein Webhook ist eine Benachrichtigung, die ein System bei einem Ereignis von sich aus an eine hinterlegte Adresse sendet. Er kehrt die Richtung um: Statt wiederholt nachzufragen, wird das empfangende System informiert, sobald etwas passiert.

Ein Webhook ist eine Benachrichtigung, die ein System bei einem bestimmten Ereignis von sich aus an eine vorher hinterlegte Adresse sendet. Er dreht die übliche Richtung um: Nicht das interessierte System fragt nach, sondern das auslösende System meldet sich.

Der Unterschied zum Abfragen

Die Alternative ist, in regelmässigen Abständen nachzufragen, ob etwas Neues vorliegt. Das ist einfach umzusetzen und in zweifacher Hinsicht ineffizient: Die meisten Abfragen liefern nichts Neues, und zwischen zwei Abfragen entsteht eine Verzögerung. Webhooks beseitigen beides — dafür verlagern sie die Komplexität auf die empfangende Seite, die nun jederzeit erreichbar sein und mit unzuverlässiger Zustellung umgehen muss.

Mehrfachzustellung ist der Normalfall

Das wichtigste praktische Merkmal: Ein Webhook kann mehrfach eintreffen. Das passiert, wenn die Antwort des Empfängers verloren geht, wenn eine Zeitüberschreitung auftritt oder wenn der Sender vorsichtshalber wiederholt. Ein Empfänger, der davon ausgeht, jedes Ereignis genau einmal zu sehen, erzeugt doppelte Rechnungen, doppelte E-Mails oder doppelte Buchungen. Die Verarbeitung muss deshalb idempotent sein — dieselbe Nachricht zweimal zu verarbeiten muss denselben Zustand ergeben wie einmal.

Reihenfolge ist nicht garantiert

Ebenso wenig lässt sich darauf verlassen, dass Ereignisse in der Reihenfolge ihres Auftretens ankommen. Eine Statusänderung kann vor der Erstellung eintreffen. Robuste Empfänger prüfen deshalb den Zeitstempel oder eine Versionsnummer des Ereignisses und verwerfen, was älter ist als der bereits verarbeitete Stand.

Echtheitsprüfung

Eine Webhook-Adresse ist öffentlich erreichbar, damit der Sender sie erreichen kann. Damit kann grundsätzlich jeder Nachrichten dorthin schicken. Seriöse Anbieter signieren deshalb jede Zustellung mit einem gemeinsamen Geheimnis, und der Empfänger prüft diese Signatur, bevor er die Nachricht verarbeitet. Diese Prüfung wegzulassen bedeutet, jedem im Internet zu erlauben, Zustandsänderungen im eigenen System auszulösen.

Schnell antworten, langsam arbeiten

Ein Empfänger sollte die Zustellung sofort bestätigen und die eigentliche Arbeit danach erledigen. Wer die Verarbeitung vor der Antwort abschliesst, läuft in Zeitüberschreitungen, was zu Wiederholungen führt, was die Last erhöht — eine Rückkopplung, die unter Last eskaliert. Die übliche Lösung ist, das Ereignis entgegenzunehmen, zu speichern, zu bestätigen und asynchron zu verarbeiten.

Praktische Konsequenz

Ein belastbarer Webhook-Empfänger braucht vier Dinge: Signaturprüfung, idempotente Verarbeitung, Unempfindlichkeit gegenüber der Reihenfolge und eine schnelle Bestätigung mit nachgelagerter Arbeit. Fehlt eines davon, funktioniert die Integration in der Demonstration und bricht im Betrieb.

SaaS & Engineering ist unser Fachgebiet

Innopulse erklärt nicht nur Begriffe — wir setzen sie für DACH-Unternehmen in die Praxis um.