Sofortantwort
Webhook einfach erklärt
Ein Server sendet automatisch HTTP-Anfragen bei Ereignissen.
- Kurz gesagt
- Server-zu-Server-Benachrichtigung bei Ereignissen (Push statt Pull)
- Typischer Einsatz
- Zahlungsbenachrichtigung, CI/CD-Trigger, KI-Workflows
- Wichtig zu wissen
- Standard für Integrationen: Zahlungen, CI/CD, Chat-Bots, KI-Workflows
Webhook im Überblick
Ein Webhook ist eine automatische Benachrichtigung von Server zu Server – “Don’t call us, we’ll call you”. Statt ständig nachzufragen, sagt der Server dir Bescheid, sobald etwas passiert.
Polling vs. Webhook:
Polling: App → "Neue Zahlung?" → Server → "Nein"
App → "Neue Zahlung?" → Server → "Nein"
App → "Neue Zahlung?" → Server → "Ja!" → Verarbeitung
Webhook: (App wartet)
Server → "Neue Zahlung!" → App → Verarbeitung
Typische Anwendungen: Zahlungsbenachrichtigungen (Stripe), CI/CD-Trigger (GitHub), Chat-Bots (Slack), KI-Workflow-Benachrichtigungen.
Technisch betrachtet
Ablauf
- Du registrierst eine Webhook-URL bei einem Service
- Ein Ereignis tritt ein (z.B. Zahlung erfolgreich)
- Der Service sendet einen HTTP POST an deine URL
- Dein Server verarbeitet die Daten und antwortet mit 200 OK
- Bei Fehler: Retry-Logik (exponentielles Backoff)
Sicherheit
- HMAC-Signatur: Payload wird mit einem Shared Secret signiert
- Timestamp-Validierung: Schutz vor Replay-Attacken
- HTTPS: Verschlüsselte Übertragung
- Idempotenz: Gleicher Webhook darf mehrfach verarbeitet werden ohne Seiteneffekte
Praxisbeispiel: Webhook-Handler in Node.js
app.post('/webhook/stripe', (req, res) => {
const sig = req.headers['stripe-signature'];
// Signatur verifizieren
const event = stripe.webhooks.constructEvent(
req.rawBody, sig, process.env.WEBHOOK_SECRET
);
// Event verarbeiten
if (event.type === 'payment_intent.succeeded') {
const payment = event.data.object;
await fulfillOrder(payment.metadata.orderId);
}
res.json({ received: true }); // Schnell mit 200 antworten!
});
Webhooks in KI-Workflows
Webhooks sind ein Kernbaustein für Agentic Workflows und Event-driven AI:
- Async LLM-Jobs: Langer Inference-Job startet, Webhook benachrichtigt wenn fertig
- RAG-Pipelines: Neues Dokument hochgeladen → Webhook triggert Indexierung
- Model Monitoring: Drift erkannt → Webhook löst Alert oder Retraining aus
- CI/CD für ML: Code-Push → Webhook startet automatisches Modell-Training
Webhook vs. Polling vs. WebSocket
| Webhook | Polling | WebSocket | |
|---|---|---|---|
| Richtung | Server → Client | Client → Server | Bidirektional |
| Latenz | Niedrig | Hoch | Sehr niedrig |
| Ressourcen | Effizient | Verschwenderisch | Verbindung offen |
| Ideal für | Seltene Events | Einfache Systeme | Echtzeit-Daten |
Schritt für Schritt
Ereignisse per Webhook zuverlässig verarbeiten
Ein Webhook ist eine zugestellte Benachrichtigung, keine garantierte Einmalnachricht. Empfänger müssen Signatur, Wiederholung und Reihenfolge bewusst behandeln.
Empfangsadresse registrieren
Setup
Der Verbraucher hinterlegt eine sichere URL und vereinbart, welche Ereignisse er empfangen möchte.
Eventtyp → Callback-URLEreignis signiert senden
Delivery
Der Anbieter übermittelt Payload, Kennung und Signatur, wenn ein relevantes Ereignis eintritt.
Event → HTTP POST + SignaturEchtheit und Duplikate prüfen
Sicherheit
Der Empfänger validiert Signatur und Zeit und behandelt eine Ereignis-ID nur einmal wirksam.
Verify + IdempotenzAsynchron weiterverarbeiten
Betrieb
Der Endpoint bestätigt zügig, legt Arbeit in eine Queue und nutzt kontrollierte Retries für Fehlerfälle.
ACK → Queue → Verarbeitung
Konkretes Beispiel
Beispiel: Zahlungseingang verarbeiten
Ein Zahlungsdienst benachrichtigt ein System über eine erfolgreiche Zahlung.
Direkte, einmalige Verarbeitung
Der Endpoint vertraut jeder Anfrage, bucht die Zahlung sofort und behandelt eine Wiederholung als zweite Zahlung.
Gesicherter Webhook-Ablauf
Signatur und Ereignis-ID werden geprüft. Der Eingang wird einmalig in eine Queue geschrieben und bei einem Fehler kontrolliert wiederholt.
Webhook-Zuverlässigkeit entsteht auf Empfängerseite durch Verifikation, Idempotenz und asynchrone Verarbeitung.
Einordnung
Vorteile und Grenzen
Das spricht dafür
- Benachrichtigt Systeme zeitnah ohne ständiges Polling.
- Entkoppelt Ereigniserzeuger und weiterführende Verarbeitung.
- Eignet sich für Integrationen, Automatisierung und Workflow-Trigger.
- Kann mit Queues und Retries robust skaliert werden.
Das solltest du beachten
- Zustellung kann verspätet, doppelt oder in unerwarteter Reihenfolge erfolgen.
- Öffentliche Endpunkte brauchen starke Authentizitätsprüfung.
- Payload-Versionen und Ereignisschemata müssen gepflegt werden.
- Schwere Verarbeitung im Request kann Timeouts und Retries auslösen.
Vertiefung · für FortgeschritteneVom Ereignis zur robusten Verarbeitung
Der Webhook endpoint bestätigt den Empfang schnell; fachliche Arbeit folgt kontrolliert im Hintergrund.
Ereignis zustellen