Zum Inhalt springen

Glossar · W

Webhook

HTTP-Callback, den ein System bei einem Ereignis an eine vorab konfigurierte URL schickt. Standard für Server-zu-Server-Benachrichtigungen.

Definition

Ein Webhook ist ein Mechanismus zur serverseitigen Kommunikation, bei dem ein System bei Auftreten eines bestimmten Ereignisses automatisch eine HTTP-Anfrage an eine zuvor konfigurierte URL sendet. Diese Anfrage enthält Informationen über das Ereignis und ermöglicht es dem empfangenden System, darauf zu reagieren. Webhooks werden häufig als HTTP-Callbacks bezeichnet, da sie eine Rückmeldung in Echtzeit ermöglichen.

Im Gegensatz zu klassischen APIs, bei denen ein Client aktiv Daten abruft, erfolgt die Kommunikation bei Webhooks ereignisgesteuert und passiv. Das sendende System initiiert die Übertragung von Daten, sobald ein definiertes Ereignis eintritt, wodurch eine zeitnahe und effiziente Benachrichtigung gewährleistet wird.

Was bedeutet das für Ihr Unternehmen?

Webhooks sorgen dafür, dass Systeme sich sofort gegenseitig informieren, etwa wenn eine Zahlung eingeht, ein Formular abgeschickt wird oder ein Paket versendet ist. So entfallen manuelles Übertragen und zeitverzögerte Abgleiche zwischen Shop, Buchhaltung und CRM. Weil Webhooks auch einmal ausfallen oder doppelt ankommen können, braucht die Empfangsseite eine Prüfung der Herkunft und eine Strategie für verpasste Meldungen.

Hintergrund und Entstehung

Der Begriff Webhook wurde 2007 von dem Entwickler Jeff Lindsay geprägt und gewann mit der zunehmenden Verbreitung von Web-APIs an Bedeutung. Die Idee basiert auf dem Konzept von Callbacks in der Softwareentwicklung, das eine asynchrone Kommunikation ermöglicht. Webhooks wurden populär, um serverseitige Ereignisse ohne ständiges Abfragen (Polling) zu übermitteln.

Viele Plattformen und Dienste wie GitHub, Stripe oder Slack integrieren Webhooks, um Drittanwendungen über Statusänderungen oder neue Daten zu informieren. Dies erleichtert die Automatisierung von Prozessen und die Integration verschiedener Systeme im Web.

Funktionsweise

Ein Webhook funktioniert, indem das sendende System bei einem definierten Ereignis eine HTTP-Anfrage, meist vom Typ POST, an eine vorher festgelegte URL schickt. Diese Anfrage enthält typischerweise eine Nutzlast mit Informationen zum Ereignis, oft im JSON-Format. Der Empfänger kann diese Daten verarbeiten und entsprechende Aktionen ausführen.

Die Konfiguration eines Webhooks umfasst die Angabe der Ziel-URL sowie die Definition der Ereignisse, die eine Benachrichtigung auslösen. Die Kommunikation erfolgt ohne Authentifizierung oder mit verschiedenen Sicherheitsmechanismen wie HMAC-Signaturen, um die Integrität und Authentizität der Nachrichten sicherzustellen.

Einsatzgebiete

Webhooks werden in zahlreichen Anwendungsfällen eingesetzt, insbesondere zur Integration von Webdiensten und zur Automatisierung von Workflows. Beispiele sind Benachrichtigungen über neue Zahlungen in Zahlungsdienstleistern, Updates in Versionsverwaltungssystemen oder das Auslösen von Build-Prozessen in Continuous Integration (CI) Umgebungen.

Darüber hinaus ermöglichen Webhooks die Echtzeit-Synchronisation von Daten zwischen verschiedenen Systemen und reduzieren die Last durch wiederholtes Abfragen von APIs. Sie sind ein zentraler Bestandteil moderner Microservice-Architekturen und Event-Driven-Designs.

Abgrenzung zu verwandten Technologien

Webhooks unterscheiden sich von klassischen API-Abfragen (Polling) dadurch, dass sie ereignisgesteuert sind und eine sofortige Benachrichtigung ermöglichen, anstatt periodisch Daten abzurufen. Dies führt zu geringerer Latenz und weniger Netzwerkverkehr. Im Gegensatz zu Websockets, die eine dauerhafte bidirektionale Verbindung aufbauen, sind Webhooks einfache unidirektionale HTTP-Anfragen.

Alternativ zu Webhooks können auch Messaging-Systeme wie MQTT oder AMQP verwendet werden, die jedoch meist komplexere Infrastruktur erfordern. Webhooks sind einfacher zu implementieren und eignen sich besonders für server-zu-server-Kommunikation im Web.