So funktionieren Webhooks technisch
An einem Webhook sind immer zwei Seiten beteiligt. Der Sender ist die Anwendung, in der das Ereignis stattfindet, etwa ein Git-Repository, ein Formular-Tool oder ein Bezahldienst. Der Empfänger ist ein Endpoint: eine öffentlich erreichbare URL auf Ihrem Server, hinter der ein Skript die eingehenden Daten verarbeitet.
Der Ablauf folgt einem festen Muster. Tritt das Ereignis ein, baut der Sender eine HTTP-Anfrage mit den Ereignisdaten (Payload) und schickt sie an die hinterlegte URL. Ihr Endpoint nimmt die Anfrage entgegen, prüft sie und antwortet mit einem Statuscode der 2xx-Klasse, in der Regel 200. Bleibt diese Antwort aus, wiederholen viele Dienste die Zustellung nach einem festen Zeitplan.
Webhooks oder API-Polling: der Unterschied
Ohne Webhooks bleibt nur das Polling: Ihr System fragt eine API in kurzen Abständen, ob es Neuigkeiten gibt. Das funktioniert, erzeugt aber viele Anfragen ohne Ergebnis und verzögert die Information bis zur nächsten Abfrage.
| Kriterium |
Webhooks |
API-Polling |
|
Datenfluss
|
Sender meldet sich aktiv
|
Empfänger fragt wiederholt an
|
|
Aktualität
|
Nahezu in Echtzeit
|
Abhängig vom Abfrageintervall
|
|
Serverlast
|
Nur bei echten Ereignissen
|
Dauerhaft, auch ohne Änderungen
|
|
Aufwand
|
Endpoint einrichten und absichern
|
Abfragelogik und Intervalle pflegen
|
Sobald es um unregelmäßig auftretende Ereignisse geht, sind Webhooks die effizientere Wahl. Polling bleibt sinnvoll, wenn die Gegenseite keine Webhooks anbietet oder Sie vollständige Datenbestände abgleichen müssen.
Typische Einsatzszenarien für Webhooks
In der Praxis begegnen Ihnen Webhooks an vielen Stellen, oft ohne dass Sie es merken:
- Zahlungen: Ein Bezahldienst meldet erfolgreiche oder fehlgeschlagene Transaktionen an Ihren Shop.
- Entwicklung: Ein Push in ein Git-Repository startet automatisch einen Build oder ein Deployment.
- Formulare: Eine neue Anfrage über Ihr Kontaktformular landet direkt im CRM oder in einem Team-Chat.
- Monitoring: Ein Überwachungsdienst schickt Alarme bei Ausfällen an Ihren Messenger.
- Automatisierung: Plattformen wie n8n starten ganze Workflows, sobald ein Webhook eintrifft.
Webhooks erstellen: Schritt für Schritt
Wer Webhooks erstellen möchte, braucht keine komplexe Infrastruktur. Ein Server mit öffentlich erreichbarer URL und ein kleines Skript genügen für den Anfang. So gehen Sie vor:
- Endpoint festlegen: Definieren Sie eine URL auf Ihrem Server, zum Beispiel
https://ihre-domain.de/webhook/zahlung. Der Pfad sollte nicht erratbar sein.
- Empfänger-Skript schreiben: Das Skript nimmt den POST-Request entgegen, liest die JSON-Daten aus und antwortet mit Statuscode 200. Mit Node.js und dem Framework Express ist ein solcher Endpoint in wenigen Zeilen umgesetzt, PHP oder Python funktionieren genauso gut.
- Webhook beim Sender registrieren: Tragen Sie die URL in den Einstellungen des sendenden Dienstes ein und wählen Sie die Ereignisse aus, über die Sie informiert werden wollen. Hinterlegen Sie dort auch ein Secret, falls der Dienst es anbietet.
- Zustellung testen: Viele Dienste bieten Test-Events an. Alternativ simulieren Sie den Sender selbst, etwa mit
curl -X POST -H "Content-Type: application/json" -d '{"test": true}' https://ihre-domain.de/webhook/zahlung.
- Protokollieren und Fehler behandeln: Schreiben Sie jede eingehende Anfrage in ein Log. So erkennen Sie ausbleibende Zustellungen und können fehlgeschlagene Verarbeitungen nachholen.
Webhooks auf dem eigenen Server hosten
Ein Webhook-Empfänger muss durchgehend laufen und aus dem Internet erreichbar sein. Klassisches Webhosting reicht für einfache PHP-Endpoints, stößt aber an Grenzen, sobald eigene Dienste wie ein Node.js-Prozess oder eine Automatisierungsplattform dauerhaft laufen sollen. Für solche Anforderungen eignet sich ein eigener Server.
Mit einem VPS von STRATO richten Sie Ihre Webhook-Umgebung genau so ein, wie Ihr Projekt es verlangt: Laufzeitumgebung installieren, Endpoint hinter einem Reverse Proxy betreiben, Zertifikat einbinden. Ein Linux Server eignet sich dafür besonders, weil Werkzeuge wie nginx, Node.js oder Python dort zum Standardrepertoire gehören. Wenn Sie Webhooks ohne eigenen Code verarbeiten möchten, betreiben Sie auf dem Server n8n self-hosted und bauen Ihre Workflows per Oberfläche zusammen.
Das bietet der STRATO VPS für Ihren Webhook-Betrieb:
- Volle Root-Rechte für die eigene Konfiguration
- SSL-Zertifikat inklusive
- Unlimitierter Traffic
- Wählbarer Serverstandort, auf Wunsch Deutschland
Passende Server-Angebote von STRATO