Webhooks
Webhooks werken als meldingen: ze waarschuwen een toepassing wanneer er in een andere toepassing een specifieke gebeurtenis plaatsvindt. Dit systeem zorgt voor naadloze communicatie tussen verschillende softwaretoepassingen en verbetert interactie en reacties in real time.
Webhooks in WebinarGeek
Webhooks in WebinarGeek verzamelen in real time informatie voor je. Ze werken als gepersonaliseerde meldingen die specifieke acties activeren op basis van gebeurtenissen in onze app. Wanneer je bijvoorbeeld een webinar aan het hosten bent en iemand zich inschrijft, stuurt onze webhookfunctie meteen een overzichtelijk pakket met abonneedata naar de URL die je hebt ingesteld. Zo blijf je op de hoogte en kun je dynamisch reageren op interacties, zonder voortdurend handmatig op updates te moeten controleren. Onze webhooks stroomlijnen je workflow en houden je verbonden met wat belangrijk is in je app.
Een webhookintegratie maken
Aangepast label
Voeg een aangepast label toe aan een webhook om je webhooks in het menu Integraties van elkaar te onderscheiden. Dit veld is verplicht.
URL
URL's voor webhooks moeten een schema, een host en een pad bevatten. Alleen HTTPS-URL's worden geaccepteerd. Dit veld is verplicht.
Geldige URL:
https://hooks.zapier.com/hooks
Ongeldige URL's:
hooks.zapier.com/ (schema ontbreekt)
https://.com/ (host ontbreekt)
https://hooks.zapier.com/ (pad ontbreekt)
http://hooks.zapier.com/hooks (http in plaats van https)
Geheim
Het is optioneel om de webhook te configureren met een geheim waarmee je de oorsprong van het verzoek kunt valideren. Raadpleeg de sectie Webhookleveringen valideren om te begrijpen waarom het gebruik van een geheim wordt aanbevolen. Dit veld is optioneel.
Headers
Content-Type: "application/json"
User-Agent: "WebinarGeek”
ID: Unieke ID van de gebeurtenis
Signature: Deze header wordt verzonden als de webhook met een geheim is geconfigureerd. Dit is de HMAC-hex-digest van de aanvraagbody en wordt gegenereerd met de SHA-256-hashfunctie en het geheim als HMAC-sleutel.
Payload
De webhookpayload bestaat uit informatie over de gebeurtenis die het
verzoek activeert en gegevens over de entiteit waaraan de gebeurtenis is gekoppeld.
Informatie over de gebeurtenis:
ID: ID van de gebeurtenis
Event: Naam van de gebeurtenis
Timestamp: Tijdstempel van het verzoek in UNIX-tijd
Entity Type: Het type object dat de entiteitssleutel bevat
Entity: Het object waaraan de gebeurtenis is gekoppeld. Momenteel ondersteunen we alleen Subscriptions. Onze webhooks serialiseren Subscriptions op dezelfde manier als onze API:
https://webinargeek.docs.apiary.io/#reference/0/subscriptions/retrieve-a-subscription
Hieronder zie je een voorbeeld van hoe een verzoek eruitziet.
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": {
> ...
> }
> }
Let op! De client moet kunnen reageren op HEAD-verzoeken.
Webhookleveringen valideren
Wanneer je server is ingesteld om gegevens te ontvangen, luistert hij naar payloads die naar het ingestelde eindpunt worden gestuurd. Om ervoor te zorgen dat deze payloads legitiem zijn en niet zijn gewijzigd, raden we sterk aan hun handtekeningen te valideren. Dit validatieproces helpt je te beschermen tegen ongeautoriseerde bronnen en mogelijke beveiligingsrisico's, zoals man-in-the-middle-aanvallen.
Stappen voor validatie
Maak een geheim token voor je webhook:
Dit token moet een willekeurige tekenreeks met hoge entropie zijn.
Je kunt een nieuwe webhook maken met dit token of het aan een bestaande webhook toevoegen.
Sla het geheime token veilig op:
Bewaar het token op een veilige plaats die toegankelijk is voor je server.
Vermijd het hardcoderen of openbaar maken van het token.
Valideer inkomende webhookpayloads:
Elke payload moet een hashhandtekening bevatten, die je vindt in de header ‘Signature’.
Gebruik je geheime token om een hash te berekenen en vergelijk die met de handtekening die met de payload is verzonden.
Belangrijke punten bij validatie:
De hash is een HMAC-hex-digest.
De handtekening begint met een voorvoegsel zoals sha256=.
De hash wordt gegenereerd met het geheime token van je webhook en de inhoud van de payload.
Verwerk de payload als UTF-8, vooral als deze Unicode-tekens bevat.
Gebruik voor de vergelijking veilige methoden zoals secure_compare of crypto.timingSafeEqual om kwetsbaarheden voor timingaanvallen te voorkomen.
De validatie van de webhookpayload testen
Je kunt de volgende waarden voor geheim en payload gebruiken om te controleren of je implementatie correct is:
secret: "It's a secret"
payload: "\"Hello World!\"" (as JSON)
Als je implementatie correct is, moeten de handtekeningen die je genereert overeenkomen met de volgende handtekeningswaarden:
Signature: sha256=a6353e505082e0614d4f1760c1d25e523ee34141bd2d2e5ef1e4648fc1ed128b
Webhookinstellingen bijwerken
Het aangepaste label, de URL en het geheim van een actieve webhookintegratie kun je bewerken in het menu Integraties.
Logboeken voor geactiveerde webhookgebeurtenissen
De logboeken van alle gebeurtenissen die door een bepaalde trigger zijn geactiveerd, vind je op de logboekpagina van de trigger. Je opent die via een trigger in het menu Integraties.
Lijst met beschikbare triggers
De volgende triggers zijn beschikbaar voor webhooks:
Nieuwe inschrijving
Uitgeschreven voor webinar
Nieuwe webinarbetaling
Nieuwe kijker
Nieuwe livekijker
Nieuwe replaykijker
Nieuwe kijker is beginnen kijken
Niet verschenen
Toetsing geslaagd
Webinar beëindigd
Uitzending geannuleerd
Nieuwe Q&A-vraag
Nieuw evaluatieformulier
Nieuwe stem voor een poll
Nieuw quizantwoord
Nieuwe call-to-action
Nieuw bericht in het vragenvak van het webinar
Nieuwe specifieke call-to-action is ingediend of aangeklikt
Bekijk ons artikel ‘Triggers’ voor meer informatie over deze triggers.
Zapier gebruiken voor je webhookintegratie
Door een webhook te maken om informatie over een gebeurtenis van WebinarGeek naar Zapier over te dragen, kun je je WebinarGeek-account eenvoudig verbinden met meer dan 6000 apps. Hieronder wordt het proces uitgelegd.
Een Zap maken
Open Zapier.
Meld je aan op de website of maak een account als je er nog geen hebt.
Klik op ‘Create’ > ‘Zaps’.
Klik op ‘Trigger’.
Zoek naar ‘Webhooks’ en selecteer ‘Webhooks by Zapier’.
Selecteer onder ‘Event’ ‘Catch Hook’ om alleen met de payload te werken (aanbevolen), of ‘Catch Raw Hook’ als je de headers en payload wilt gebruiken (geavanceerd).
Als je ‘Catch Raw Hook’ gebruikt, kun je met ‘Pick off a Child Key’ kiezen of je met de volledige payload of een onderdeel ervan wilt werken.
Zapier genereert een URL om de verzoeken van WebinarGeek te ontvangen. Kopieer deze URL en bewaar hem ergens voordat je naar de volgende stap gaat.
De webhook verbinden in WebinarGeek
Open WebinarGeek en meld je aan bij je account.
Ga naar ‘Account’ > ‘Integrations’.
Selecteer ‘Webhooks’ en plak de URL van Zapier in het URL-veld.
Klik op ‘Connect’.
De webhook maken
Klik nadat je WebinarGeek met Zapier-webhooks hebt verbonden op ‘Add trigger’.
Selecteer de gewenste trigger voor je webhook.
Klik op ‘Add trigger’.
De webhook testen
Zapier heeft een testrecord nodig om te configureren wat het met de payload moet doen. Daarom moeten we de webhook één keer activeren voordat we verdergaan.
Voer je gekozen trigger uit in WebinarGeek (bijvoorbeeld: als je ‘Nieuwe inschrijving’ hebt geselecteerd, schrijf je als testabonnee in voor een webinar) en ga daarna terug naar Zapier.
De Zap voltooien
Klik terug in Zapier op ‘Test trigger’.
Klik zodra de test is voltooid en geslaagd op ‘Continue with the selected record’.
Selecteer welke software de webhookgegevens moet ontvangen.
De rest van de Zap is aan jou! Bekijk zeker onze Zapier-documentatie voor tips en tricks.

