Naar de hoofdinhoud

Webhooks

Webhooks houden je op de hoogte van je webinars en zorgen voor naadloze communicatie tussen verschillende softwaretoepassingen.

Geschreven door Dewi

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.

Verschillende webhooktriggers.

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

  1. 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.

  2. 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.

  3. 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.

  4. 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

  1. Open Zapier.

  2. Meld je aan op de website of maak een account als je er nog geen hebt.

  3. Klik op ‘Create’ > ‘Zaps’.

  4. Klik op ‘Trigger’.

  5. Zoek naar ‘Webhooks’ en selecteer ‘Webhooks by Zapier’.

  6. 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).

    1. 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.

  7. 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

  1. Open WebinarGeek en meld je aan bij je account.

  2. Ga naar ‘Account’ > ‘Integrations’.

  3. Selecteer ‘Webhooks’ en plak de URL van Zapier in het URL-veld.

  4. Klik op ‘Connect’.

De webhook maken

  1. Klik nadat je WebinarGeek met Zapier-webhooks hebt verbonden op ‘Add trigger’.

  2. Selecteer de gewenste trigger voor je webhook.

  3. 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

  1. Klik terug in Zapier op ‘Test trigger’.

  2. Klik zodra de test is voltooid en geslaagd op ‘Continue with the selected record’.

  3. Selecteer welke software de webhookgegevens moet ontvangen.

De rest van de Zap is aan jou! Bekijk zeker onze Zapier-documentatie voor tips en tricks.

Was dit een antwoord op uw vraag?