Was ist ein Webhook?
Ein Webhook ist eine Art von API oder Anwendungsprogrammierschnittstelle, die es einer bestimmten Webanwendung ermöglicht, Daten an eine andere Anwendung zu senden, wenn vordefinierte Ereignisse eintreten. Während die meisten APIs den Datenaustausch zwischen verschiedenen Softwareanwendungen auf der Grundlage von Benutzeranfragen in beide Richtungen abwickeln, senden Webhooks Daten einseitig, wenn bestimmte Ereignisse eintreten. Beispielsweise könnte ein Webhook die Verweildauer eines Benutzers auf einer Seite senden, sobald der Benutzer die Seite verlässt. Webhooks können auch als „Web-Callbacks“ oder „HTTP-Push-APIs“ bezeichnet werden.
Entwickler verwenden Webhooks zusammen mit anderen APIs, um Verbindungen zwischen ihrer eigenen Software und anderen Anwendungen zu erstellen und zu verwalten. Da Webhooks Daten senden, die durch Ereignisse ausgelöst werden, werden sie typischerweise gegenüber APIs bevorzugt, wenn der Entwickler Daten über einen längeren Zeitraum sammeln möchte. Im Gegensatz dazu sind APIs nützlicher, wenn Entwickler möchten, dass der Datenaustausch zu von Benutzerverhalten definierten Zeitpunkten erfolgt. Während andere Arten von APIs Daten anfordern und ein Ergebnis zurückgeben, warten Webhooks passiv darauf, dass Datenereignisse eintreten.
Um einen Webhook einzurichten, erstellen Kunden eine Webhook-URL, die sie dem Webhook-Anbieter zur Verfügung stellen. Von da an sendet der bereitstellende Webhook Daten an diese Webhook-URL zur Aufnahme durch die Anwendung des Kunden. Die Anwendung des Kunden validiert eingehende Webhook-Anfragen, um sicherzustellen, dass die eingehenden Daten vom Anbieter stammen und keine Sicherheitsbedrohung darstellen, und empfängt dann die Daten.
Wie bei anderen APIs wird die Information, die von einem bestimmten Webhook überwacht und gesendet werden kann, durch umfassende Dokumentation sowohl von der Host-Site als auch von der Client-Site geregelt und verstanden. Dieser gegenseitige „Vertrag“ ermöglicht es beiden Parteien, sensible Daten zu schützen, da ein Webhook nicht mehr Daten verpackt, als notwendig ist, um das gewünschte Ergebnis des Webhook-Besitzers zu erfüllen. Auf diese Weise gibt keine der Anwendungen ihre eigenen oder die Daten ihrer Benutzer vollständig preis.
Vorteile der Verwendung von Webhooks
- Reduzierte Arbeitsbelastung: Entwickler verlassen sich auf Webhooks, um ihren Softwareanwendungen Informationen bereitzustellen, sobald Ereignisse eintreten. Anstatt diese Ereignisse selbst zu überwachen, können Entwickler einfach einen Informationsfluss mit einem Webhook einrichten, der Ereignisse für sie verfolgt. Dies reduziert die Arbeitsbelastung und ermöglicht es Entwicklern, sich auf andere Aspekte der Projekte zu konzentrieren, an denen sie arbeiten.
- Reibungslosere Web-Operationen: Webhooks ermöglichen es Unternehmen, ihre ansonsten unterschiedlichen Webanwendungen zu verbinden, was den direkten und effizienten Datenaustausch zwischen diesen Systemen unterstützt. Dies verbessert die Webpräsenz und Leistung eines Unternehmens, indem es hilft, seine Web-Apps automatisch miteinander zu synchronisieren.
- Benachrichtigungen: Wenn Entwickler Benachrichtigungen für ihre Benutzer implementieren möchten, bieten Webhooks eine einfache Möglichkeit, dies zu tun, ohne Entwicklungsaufwand für robustere Formen von APIs zu investieren. Webhooks erfordern weniger Zeit und Ressourcen für den Aufbau und die Implementierung als andere Arten von APIs, sodass sie in Anwendungsfällen wie diesem eine effiziente Lösung darstellen.
- Verbesserte Benutzererfahrungen: Die Datenfreigabefähigkeiten von Webhooks haben viele Anwendungsfälle, einschließlich der Möglichkeit, Benutzererfahrungen basierend auf Datenerfassung zu personalisieren und zu verbessern. Beispielsweise kann ein Unternehmen, das das Benutzerverhalten seiner Webanwendung analysiert, das durch Webhooks offengelegt wird, Schwachstellen in der Customer Journey entdecken und daran arbeiten, diese zu beheben. Gleichzeitig können Unternehmen Webhooks nutzen, um herauszufinden, welche Teile ihrer Webanwendungen am meisten Engagement erhalten, und darauf aufbauen.
- Gezieltes Marketing: In ähnlicher Weise, wie Unternehmen Benutzererfahrungen verbessern können, indem sie das durch Webhooks offengelegte Verhaltensdaten analysieren, profitieren Marketingbemühungen von denselben Daten und ermöglichen es Unternehmen, Anzeigen auf bestimmte Zielgruppen auszurichten. Indem sie Inhalte basierend auf Verhaltens- und demografischen Daten auf Benutzer zuschneiden, gewinnen Vermarkter einen Vorteil, der das Engagement wahrscheinlicher macht. Unternehmen können dann weiterhin dieses Engagement verfolgen und so eine positive Rückkopplungsschleife schaffen, die die Effektivität der Kampagne maximiert.
Auswirkungen der Verwendung von Webhooks
Softwareentwicklungsunternehmen könnten durch die Abhängigkeit von Webhooks negativ beeinflusst werden:
- Sicherheitsrisiken: Unternehmen, die Webhooks verwenden, müssen Maßnahmen ergreifen, um sicherzustellen, dass ihre Verbindungen sie nicht Sicherheitsanfälligkeiten aussetzen. Webhook-Clients können eingehende Webhook-Anfragen überprüfen, indem sie die Signatur der Anfrage mit der des Host-Unternehmens validieren. Benutzer können auch ihre Webhook-URL mit einem Passwort schützen, sodass nur der Host und der Client Zugriff haben. Diese Praktiken helfen, Bedrohungen wie Spoofing-Angriffe zu verhindern – eine Art von Angriff, bei dem böswillige Akteure Daten fälschen, um die Identität eines Webhook-Hosts anzunehmen.
- Fehlende Funktionalität: Webhooks sind leichter als andere APIs, was sie zu einem attraktiven Werkzeug für Entwickler macht, die Daten von anderen Webanwendungen aufnehmen möchten. Die einfach zu implementierende Natur von Webhooks macht sie jedoch nicht automatisch zu einer besseren Lösung als robustere APIs. In vielen Fällen wird es Entwicklern besser dienen, den zusätzlichen Aufwand zu betreiben, um Zwei-Wege-APIs zu verbinden, die Daten austauschen können, wenn API-Anfragen gestellt werden, als ein Webhook es kann. Ab einem bestimmten Punkt wird der Versuch, Webhooks als tragfähige Lösung zu erzwingen, tatsächlich Zeit und Ressourcen der Entwickler kosten.

Adam Crivello
Adam is a research analyst focused on dev software. He started at G2 in July 2019 and leverages his background in comedy writing and coding to provide engaging, informative research content while building his software expertise. In his free time he enjoys cooking, playing video games, writing and performing comedy, and avoiding sports talk.