Ein Webhook ist eine Benachrichtigung, die ein System bei einem bestimmten Ereignis von sich aus an eine Adresse eines anderen Systems schickt. Statt immer wieder nachzufragen, wird das empfangende System angerufen, sobald etwas passiert.
- Webhook
Eine HTTP-Anfrage, die ein System bei einem Ereignis automatisch an eine vorher hinterlegte Adresse schickt.
Beispiel: „Sobald im Shop eine Zahlung eingeht, ruft der Zahlungsanbieter unseren Webhook auf, und die Bestellung wird freigegeben.“Auch: HTTP-Callback, ein Rückruf über HTTP.
Abgrenzung zum Polling: Beim Polling fragt das eigene System regelmäßig nach. Beim Webhook meldet sich das andere System von selbst.
Wie ein Webhook funktioniert
Im sendenden System hinterlegst du eine Adresse auf deinem Server und wählst die Ereignisse, die dich interessieren. Tritt eines davon ein, schickt das System eine POST-Anfrage mit den Daten des Ereignisses an diese Adresse, meist als JSON.
Dein Server nimmt die Anfrage entgegen, antwortet schnell mit 200 und verarbeitet die Daten danach, am besten in einer Warteschlange. Antwortet er nicht, versuchen die meisten Anbieter es später noch einmal.
Wofür Webhooks eingesetzt werden
Zahlungsanbieter melden eingegangene Zahlungen, Versanddienste den Status einer Sendung, Formulardienste neue Einsendungen, Git-Plattformen neue Commits für ein automatisches Deployment.
Werkzeuge wie Zapier oder Make bauen ganze Abläufe aus Webhooks: Ein Formular auf der Website löst einen aus, und der legt einen Kontakt im CRM an und schickt eine Nachricht in den Team-Chat.
Einen Webhook absichern
Die Adresse ist öffentlich erreichbar, also kann sie jeder aufrufen. Gute Anbieter signieren deshalb jede Anfrage mit einem geheimen Schlüssel, und dein Server prüft die Signatur, bevor er die Daten glaubt.
Außerdem sollte die Verarbeitung damit umgehen können, dass dasselbe Ereignis zweimal kommt, etwa nach einem erneuten Versuch des Anbieters.