Webhooks
Webhooks funktionieren wie Benachrichtigungen, die eine Anwendung benachrichtigen, wenn ein bestimmtes Ereignis in einer anderen Anwendung eintritt. Dieses System ermöglicht eine nahtlose Kommunikation zwischen verschiedenen Programmen und verbessert die Interaktion und Reaktion in Echtzeit.
Webhooks in WebinarGeek
Webhooks in WebinarGeek sind als deine Echtzeit-Informationssammler konzipiert. Sie fungieren als personalisierte Warnmeldungen, die bestimmte Aktionen auf der Grundlage von Ereignissen innerhalb unserer App auslösen. Wenn du beispielsweise ein Webinar veranstalten und sich jemand anmeldet, sendet dir unsere Webhook-Funktion umgehend ein übersichtliches Paket mit den Daten des Teilnehmers direkt an die von dir eingerichtete URL. So bleiben Sie auf dem Laufenden und können dynamisch auf Interaktionen reagieren, ohne ständig manuell nach Aktualisierungen suchen zu müssen. Unsere Webhooks sind dazu da, dein Workflow zu optimieren und dich mit dem zu verbinden, was in deiner App am wichtigsten ist.
Erstellen einer Webhook-Integration
Benutzerdefiniertes Etikett
Fügst du einem Webhook eine benutzerdefinierte Bezeichnung hinzu, um deine Webhooks im Integrationsmenü besser unterscheiden zu können. Dieses Feld ist erforderlich.
URL
URLs für Webhooks müssen ein Schema, einen Host und einen Pfad enthalten. Es werden nur HTTPS-URLs akzeptiert. Dieses Feld ist erforderlich.
Gültige URL:
https://hooks.zapier.com/hooks
Ungültige URLs:
hooks.zapier.com/ (missing scheme)
https://.com/ (missing host)
https://hooks.zapier.com/ (missing path)
http://hooks.zapier.com/hooks (http instead of https)
Geheimnis
Es ist optional, den Webhook mit einem Geheimnis zu konfigurieren, das zur Überprüfung der Herkunft der Anfrage verwendet werden kann. Warum die Verwendung eines Geheimnisses empfohlen wird, erfahre im Abschnitt über die Validierung von Webhook-Übertragungen. Dieses Feld ist optional.
Kopfzeilen
Inhalt-Typ: "application/json"
Benutzer-Agent: "WebinarGeek"
ID: Eindeutige ID der Veranstaltung
Unterschrift: Dieser Header wird gesendet, wenn der Webhook mit einem Geheimnis konfiguriert ist. Es handelt sich um den HMAC-Hex-Digest des Anfragekörpers, der mit der Hash-Funktion SHA-256 und dem Geheimnis als HMAC-Schlüssel erzeugt wird.
Nutzlast
Die Webhook-Nutzlast besteht aus Informationen über das Ereignis, das die Anfrage auslöst und Daten für die Entität, mit der das Ereignis verknüpft ist.
Informationen über das Ereignis:
ID: ID des Ereignisses
Ereignis: Name des Ereignisses
Zeitstempel: Zeitstempel der Anfrage in UNIX-Zeit
Entitätstyp: Der Typ des Objekts, das der Entitätsschlüssel enthält
Entität: Das Objekt, mit dem das Ereignis verknüpft ist. Wir unterstützen derzeit nur Abonnements. Unsere Webhooks serialisieren Abonnements auf dieselbe Weise wie unsere API: https://webinargeek.docs.apiary.io/#reference/0/subscriptions/retrieve-a-subscription
Unten siehst du ein Beispiel, wie eine Anfrage aussieht.
POST /payload HTTP/2
> Content-Type: application/json
> User-Agent: WebinarGeek
> ID: 11111111
> Signature: sha256=d57c68ca6f92289e6987922ff26938930f6e66a2d
> {
> "id": "2222222",
> "event": "webinar_subscribed",
> "timestamp": 1238716248712,
> "entity_type": "Subscription"
> "entity": {
> ...
> }
> }
Bitte beachte! Der Klient muss in der Lage sein, auf HEAD-Anfragen zu reagieren.
Validierung von Webhook-Zustellungen
Wenn dein Server für den Empfang von Daten eingerichtet ist, wartet er auf Nutzdaten, die an den von dir festgelegten Endpunkt gesendet werden. Um sicherzustellen, dass diese Nutzdaten legitim sind und nicht verändert wurden, wird dringend empfohlen, ihre Signaturen zu validieren. Dieser Validierungsprozess trägt zum Schutz vor nicht autorisierten Quellen und potenziellen Sicherheitsbedrohungen wie Man-in-the-Middle-Angriffen bei.
Schritte zur Validierung
Erstelle ein geheimes Token für deinen Webhook:
dieses Token sollte eine zufällige, hochentropische Textfolge sein
Du kannst entweder einen neuen Webhook mit diesem Token erstellen oder ihn zu einem bestehenden Webhook hinzufügen.
Bewahre den geheimen Token sicher auf:
Bewahre den Token an einem sicheren Ort auf, der für deinen Server zugänglich ist.
Vermeide es, das Token fest zu kodieren oder in irgendeiner Weise öffentlich zugänglich zu machen.
Eingehende Webhook-Payloads validieren:
Jede Nutzlast sollte mit einer Hash-Signatur versehen sein, die in der Kopfzeile "Signature" zu finden ist.
Verwende deinen geheimen Token, um einen Hash zu berechnen und ihn mit der Signatur zu vergleichen, die mit der Nutzlast gesendet wurde.
Schlüsselpunkte der Validierung:
Der Hash ist ein HMAC-Hex-Digest.
Die Signatur beginnt mit einem Präfix wie sha256=.
Der Hash wird mit dem geheimen Token deines Webhooks und dem Inhalt der Nutzlast generiert.
Behandele die Nutzdaten als UTF-8, insbesondere wenn sie Unicode-Zeichen enthalten.
Verwende für den Vergleich sichere Methoden wie secure_compare oder crypto.timingSafeEqual, um Schwachstellen bei Timing-Angriffen zu vermeiden.
Testen der Webhook-Nutzdatenvalidierung
Du kannst die folgenden Geheim- und Nutzlastwerte verwenden, um zu überprüfen, ob dein Implementierung korrekt ist:
secret: "It's a secret"
payload: "\"Hello World!\"" (as JSON)
Wenn dein Implementierung korrekt ist, sollten die von dir erstellten Signaturen mit den folgenden Signaturwerten übereinstimmen:
Signature: sha256=a6353e505082e0614d4f1760c1d25e523ee34141bd2d2e5ef1e4648fc1ed128b
Aktualisieren der Webhook-Einstellungen
Das benutzerdefinierte Label, die URL und das Geheimnis einer aktiven Webhook-Integration können über das Menü "Integrationen" bearbeitet werden.
Protokolle für ausgelöste Webhook-Ereignisse
Die Protokolle aller Ereignisse, die für einen bestimmten Trigger ausgelöst wurden, findest du auf der Trigger-Protokollseite, auf die du über einen Trigger im Menü "Integrationen" zugreifen kannst.
Zapier für dein Webhook-Integration verwenden
Wenn du einen Webhook erstellst, um Informationen über ein Ereignis von WebinarGeek an Zapier zu übertragen, kannst du dein WebinarGeek-Konto ganz einfach mit über 6000 Apps verbinden. Der Vorgang wird im Folgenden erklärt.
Erstelle einen Zapier
Öffne Zapier.
Melde dich sich auf der Website an oder erstelle ein Konto, wenn du noch keines hast.
Klicke auf "Erstellen" > "Zaps".
Klicke auf "Auslöser".
Suche nach "Webhooks" und wähle "Webhooks von Zapier".
Wähle unter "Ereignis" die Option "Catch Hook", um nur mit der Nutzlast zu arbeiten (empfohlen), oder "Catch Raw Hook", wenn du die Kopfzeilen und die Nutzlast verwenden möchtest (erweitert).
a) Wenn du "Catch Raw Hook" verwendest, kannst du unter "Pick off a Child Key" wählen, ob du mit der gesamten Nutzlast oder einem Teilbereich arbeiten möchten.
Zapier generiert eine URL für den Empfang der WebinarGeek-Anfragen. Kopiere diese URL und speichere sie irgendwo, bevor du mit dem nächsten Schritt fortfährst.
Verbinden Sie den Webhook in WebinarGeek
Öffne WebinarGeek und melde sich bei deinem Konto an.
Gehe zu "Konto" > "Integrationen".
Wähle "Webhooks" und füge die URL von Zapier in das URL-Feld ein.
Drücke auf 'Verbinden'.
Erstelle den Webhook
Nachdem du WebinarGeek mit Zapier-Webhooks verbunden hast, klicke auf "Auslöser hinzufügen".
Wähle den gewünschten Auslöser für deinen Webhook.
Klicke auf "Auslöser hinzufügen".
Testen des Webhooks
Zapier benötigt einen Testdatensatz, um zu konfigurieren, was es mit der Nutzlast tun soll. Deshalb müssen wir den Webhook einmal auslösen, bevor wir fortfahren.
Schließe den von dir gewählten Auslöser auf WebinarGeek ab (z. B. wenn du "Neue Registrierung" ausgewählt hast, abonniere ein Webinar als Testteilnehmer) und kehre dann zu Zapier zurück.#
Fertigstellung des Zap
Zurück bei Zapier, klicke auf "Auslöser testen".
Wenn der Test abgeschlossen und erfolgreich ist, klicke auf "Mit dem ausgewählten Datensatz fortfahren".
Wähle aus, welche Software die Webhook-Daten erhalten soll.
Der Rest des Zap ist dir überlassen! Schaue in unserer Zapier-Dokumentation nach Tipps und Tricks.