Eine Bestellung im Shop, eine Anfrage über die Website, eine neue Newsletter-Anmeldung: Solche Ereignisse können in anderen Anwendungen automatisch etwas auslösen. Webhooks liefern dafür den Anstoss. Wie daraus ein praktischer Ablauf wird, zeigt ein Blick hinter die Kulissen.
Inhaltsverzeichnis
Im Onlineshop geht eine Bestellung ein. Kurz darauf erscheint im Teamchat eine Nachricht: Zwei Artikel sind bestellt, das Paket kann vorbereitet werden. Niemand hat dafür die Bestellübersicht geöffnet oder Angaben in den Chat kopiert. Trotzdem wissen alle Bescheid, die sich um den Versand kümmern.
Was wie eine selbstverständliche Verbindung wirkt, muss zunächst eingerichtet werden. Shop und Chatdienst haben unterschiedliche Aufgaben und wissen von sich aus wenig voneinander. Damit die Bestellung im Chat auftaucht, braucht es einen Weg, das Ereignis weiterzumelden. Genau dafür sind Webhooks gedacht.
Automatisieren Sie Ihre Workflows mit n8n
Hosten Sie n8n auf einem METANET Server in der Schweiz – flexibel, zuverlässig und mit voller Kontrolle über Ihre Daten.
Der Shop meldet sich von selbst
Dazu wird im Shop festgelegt, welches Ereignis eine Benachrichtigung auslösen soll und wohin diese gesendet wird. Sobald eine neue Bestellung angelegt wurde, schickt der Shop eine HTTP-Anfrage an die hinterlegte Adresse und liefert Angaben zur Bestellung mit.
Diese ereignisgesteuerte Benachrichtigung ist der Webhook. Die Zieladresse wird auch als Endpunkt bezeichnet. Sie sieht wie eine gewöhnliche Webadresse aus, dient aber als Empfangsstelle für Anfragen anderer Anwendungen.
Der Shop muss dabei nicht wissen, wie aus seinen Angaben später eine Chatnachricht wird. Er meldet lediglich die Bestellung. Was daraufhin geschieht, wird auf der Empfangsseite eingerichtet. Dieselbe Meldung könnte deshalb auch eine Aufgabe zur Versandvorbereitung anstossen.
Ein vereinfachter Aufruf könnte so aussehen, übertragen über HTTPS:
POST /webhook/bestellung HTTP/1.1
Host: automation.example
Content-Type: application/json
{
"ereignis": "bestellung.erstellt",
"bestellnummer": 1042,
"anzahl_artikel": 2
}
Die ersten Zeilen beschreiben das Ziel und das Datenformat. Darunter folgt die Meldung: Bestellung 1042 wurde angelegt und enthält zwei Artikel. Das Format JSON macht diese Angaben für andere Anwendungen lesbar.
Adresse und Feldnamen sind hier frei gewählt. Welche Daten tatsächlich mitkommen und wie sie aufgebaut sind, bestimmt der sendende Dienst. Der Empfänger muss sie entsprechend verarbeiten können.
Warum nicht regelmässig nachfragen?
Eine Anwendung könnte auch alle paar Minuten beim Shop nach neuen Bestellungen fragen. Dieses regelmässige Abfragen heisst Polling. Häufig lautet die Antwort allerdings: nichts Neues. Geht kurz nach einer Abfrage eine Bestellung ein, bleibt sie wiederum bis zur nächsten Runde unentdeckt. Beim Webhook meldet der Shop das Ereignis selbst, sodass die Verarbeitung zeitnah beginnen kann.
Webhooks und APIs ergänzen sich dabei. Eine Benachrichtigung kann beispielsweise die Bestellnummer liefern, während der Empfänger anschliessend über eine API weitere Details abruft. Mehr dazu erklärt unser Beitrag «Was ist eine REST API?».
Mit n8n wird aus der Meldung ein Ablauf
Für den Weg vom Shop zum Teamchat eignet sich beispielsweise n8n. Die Automatisierungsplattform nimmt die Bestellmeldung entgegen und verarbeitet sie in einem eingerichteten Ablauf, einem sogenannten Workflow. n8n lässt sich auch auf einem eigenen Server betreiben, beispielsweise mit n8n-Hosting auf einem VPS von METANET.
Am Anfang steht ein Webhook-Baustein. Er stellt die Empfangsadresse bereit, die im Shop hinterlegt wird. WooCommerce bringt dafür bereits Webhook-Einstellungen mit. Dort lassen sich unter anderem das Ereignis und die Zieladresse auswählen.
Trifft eine Bestellmeldung ein, startet der Workflow. Er übernimmt die benötigten Angaben, setzt daraus einen Nachrichtentext zusammen und sendet diesen über eine passende Integration an den Chatdienst.
WooCommerce meldet die Bestellung, n8n verarbeitet die Meldung, der Chatdienst zeigt das Ergebnis an. n8n empfängt also zuerst eine Anfrage und sendet später selbst eine weitere. Für den ausgehenden Schritt kann auch sein HTTP-Request-Baustein eine API ansprechen. Ein solcher Aufruf ist nicht automatisch ein weiterer Webhook.
Wo sich Webhooks noch nutzen lassen
Das Prinzip lässt sich auf viele Aufgaben übertragen. Eine Formularanfrage könnte direkt als Aufgabe im Planungstool erscheinen. Mailchimp kann Newsletter-Anmeldungen und Abmeldungen melden, damit eine andere Anwendung ihren Kontaktbestand aktualisiert.
Der Ausgangspunkt ist ähnlich: Eine Anwendung erfährt etwas, das auch anderswo gebraucht wird. Ein Blick in ihre Webhook-Einstellungen zeigt häufig schon, welche Ereignisse sich dafür nutzen lassen.
Unterstützt der Dienst das gewünschte Ereignis und bietet n8n passende Bausteine, lässt sich vieles über Einstellungen verbinden. Zugänge und Datenzuordnung müssen trotzdem eingerichtet werden. Auch die Prüfung, ob eingehende Meldungen echt sind, gehört dazu. Fehlt eine geeignete Empfangsmöglichkeit, kann ein eigener Endpunkt nötig werden. Dabei ist technische Unterstützung sinnvoll.
Ein zusätzlicher Server ist für Webhooks zwischen bereits betriebenen Diensten nicht automatisch erforderlich.
Was im Betrieb zählt
Eine Testbestellung zeigt, ob die Chatnachricht ankommt und die richtigen Angaben enthält. Für einen verlässlichen Ablauf verdienen auch die weniger sichtbaren Teile der Verbindung Aufmerksamkeit:
- HTTPS schützt die Übertragung. Die Daten werden auf dem Weg zum Empfänger verschlüsselt.
- Die Herkunft muss geprüft werden. Viele Dienste verwenden dafür eine Signatur auf Basis eines vereinbarten Geheimnisses. Der Empfänger muss diese prüfen. HTTPS allein bestätigt nicht, dass die Nachricht vom erwarteten Shop stammt.
- Fehler müssen nachvollziehbar sein. Protokolle zeigen, ob eine Zustellung oder ein späterer Schritt gescheitert ist. Ob fehlgeschlagene Zustellungen automatisch wiederholt werden, hängt vom Dienst ab.
- Doppelte Meldungen müssen berücksichtigt werden. Dasselbe Ereignis kann mehrfach eintreffen und sollte dann keine unbeabsichtigte zweite Aktion auslösen.
Beim Testen lohnt es sich deshalb, auch eine Unterbrechung oder eine doppelte Meldung durchzuspielen. Danach kann die Verbindung im Hintergrund arbeiten. Im Teamchat bleibt davon nur eine kurze Nachricht sichtbar. Doch genau diese kleine Verbindung erspart das Nachschauen und Weiterreichen von Informationen.
VPS Server von METANET
Finden Sie den Server der zu Ihren Anforderungen passt – jetzt einfach vergleichen.