Webhooks

Webhooks zijn een perfecte oplossing voor het bijhouden van je webinars. Ze zorgen voor naadloze communicatie tussen verschillende software.

Dewi avatar
Geschreven door Dewi
Meer dan een week geleden bijgewerkt

Webhooks

Webhooks functioneren als meldingen, waarbij één toepassing wordt gewaarschuwd wanneer een specifiek evenement plaatsvindt in een andere. Dit systeem maakt naadloze communicatie tussen verschillende software mogelijk, wat de real-time interactie en reactietijd verbetert.

Webhooks in WebinarGeek

Webhooks in WebinarGeek zijn ontworpen om jouw realtime informatie-verzamelaars te zijn. Ze fungeren als gepersonaliseerde waarschuwingen die specifieke acties activeren op basis van de gebeurtenissen binnen onze app. Bijvoorbeeld, als je een webinar organiseert en iemand zich abonneert, stuurt onze webhook-functie je direct een netjes georganiseerd pakket met de gegevens van de abonnee naar de URL die je hebt ingesteld. Dit zorgt ervoor dat je op de hoogte blijft en dynamisch kunt reageren op interacties, zonder dat je constant handmatig naar updates hoeft te zoeken. Onze webhooks zijn er om je workflow te stroomlijnen en je verbonden te houden met wat het belangrijkst is in jouw app.

Het aanmaken van een Webhook-integratie

Custom Label

Voeg een Eigen Label toe aan een webhook om jouw webhooks gemakkelijk te herkennen. Dit veld is vereist.

URL

URL's voor Webhooks moeten een schema, een host en een pad hebben. Alleen HTTPS-URL's worden geaccepteerd.

Geldige URL:

Ongeldige URL's:

hooks.zapier.com/ (ontbrekend schema)

https://.com/ (ontbrekende host)

https://hooks.zapier.com/ (ontbrekend pad)

http://hooks.zapier.com/hooks (http in plaats van https)

Secret

Je kan de webhook instellen met een secret die je kan gebruiken om de bron van de request te valideren. De reden waarom wij het gebruik van een secret adviseren is de vinden in het 'Het valideren van Webhook Leveringen' deel van dit artikel. Dit is niet vereist.

Headers

  • Content-Type: "application/json"

  • User-Agent: "WebinarGeek”

  • ID: Unique ID of the event

  • Signature: This header is sent if the webhook is configured with a secret. This is the HMAC hex digest of the request body, and is generated using the SHA-256 hash function and the secret as the HMAC key.

Payload

De Webhook-payload bestaat uit informatie over het evenement dat de aanvraag triggert en gegevens voor de entiteit waarmee het evenement is geassocieerd.

Informatie over het evenement:

Hieronder staat een voorbeeld van hoe een aanvraag 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": {
> ...
> }
> }

Het valideren van Webhook Leveringen

Wanneer je server is ingesteld om gegevens te ontvangen, luistert het naar payloads die naar het eindpunt zijn gestuurd dat je hebt ingesteld. Om ervoor te zorgen dat deze payloads legitiem zijn en niet zijn gewijzigd, wordt het sterk aanbevolen om hun handtekeningen te valideren. Dit validatieproces beschermt je tegen ongeautoriseerde bronnen en potentiële beveiligingsdreigingen, zoals man-in-the-middle aanvallen.

Stappen voor validatie

  1. Maak een geheim token aan voor je webhook:

    • Dit token moet een willekeurige, high-entropy tekstreeks zijn.

    • Je kunt een nieuwe webhook aanmaken met dit token of het toevoegen aan een bestaande.

  2. Bewaar het geheime token veilig:

    • Bewaar het token op een veilige plek die toegankelijk is voor je server.

    • Vermijd het hardcoderen of openbaar blootstellen van het token op enige wijze.

  3. Valideer inkomende webhook-payloads::

    • Elke payload wordt vergezeld door een hash-handtekening, te vinden in de kop 'Signature'.

    • Gebruik je geheime token om een hash te berekenen en vergelijk deze met de handtekening die met de payload is verzonden.

  4. Belangrijke punten in validatie:

    • De hash is een HMAC hex digest.

    • De handtekening begint met een prefix zoals sha256=.

    • De hash wordt gegenereerd met behulp van het geheime token van je webhook en de inhoud van de payload.

    • Behandel de payload als UTF-8, vooral als deze Unicode-tekens bevat.

    • Gebruik voor vergelijking veilige methoden zoals secure_compare of crypto.timingSafeEqual om kwetsbaarheden in timingaanvallen te vermijden.

Het testen van de validatie van de webhook-payload

Je kunt de volgende secret en payloadwaarden gebruiken om te verifiëren dat 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 handtekeningwaarden:

Signature: sha256=a6353e505082e0614d4f1760c1d25e523ee34141bd2d2e5ef1e4648fc1ed128b

Webhook-instellingen veranderen

Het Eigen Label, de URL en de Secret van een actieve Webhook integratie kunnen altijd bewerkt worden vanuit het Integraties menu.

Logs van de Webhook events

De logs van alle events die getriggered zijn voor een Webhook kunnen gevonden worden in de logs pagina van de Webhook. Deze kan je vanuit het integraties menu openen.

Zapier gebruiken voor een webhook integratie

Via Zapier kan je met een webhook informatie vanuit WebinarGeek naar meer dan 6000 andere software versturen. We leggen je uit hoe je dat instelt.

Een Zap aanmaken

  1. Ga naar Zapier.

  2. Log in op de website of maak een account aan als je die nog niet hebt.

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

  4. Klik op ‘Trigger’.

  5. Zoek op ‘Webhooks’ en kies ‘Webhooks by Zapier’.

  6. Kies bij ‘Event’, ‘Catch Hook’ om alleen met de payload te werken (aangeraden) of ‘Catch Raw Hook’ als je de headers en payload wilt gebruiken (geavanceerd).

    1. Als je ‘Catch Raw Hook’ gebruikt, kan je met ‘Pick off a Child Key’ kiezen of je met de hele payload wilt werken of een deel hiervan.

  7. Zapier zal een URL genereren die bedoeld is om de WebinarGeek requests te ontvangen. Kopieer deze URL en sla hem ergens op voordat je verder gaat naar de volgende stap.

De webhook verbinden in WebinarGeek

  1. Ga naar WebinarGeek en log in met je account.

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

  3. Kies ‘Webhooks’ en plak de URL van Zapier in het tekstveld.

  4. Klik op ‘Verbinden’.

De webhook aanmaken

  1. Nadat je WebinarGeek hebt verbonden met Zapier Webhooks klik je op ‘Nieuwe trigger’.

  2. Kies de trigger die je wilt gebruiken voor de webhook.

  3. Klik op ‘Voeg trigger toe’.

De webhook testen

Om in te stellen wat Zapier moet doen met de payload heeft Zapier een test record nodig. Daarom moeten we de webhook eenmalig activeren voordat we doorgaan.

Trigger de webhook op WebinarGeek (bijvoorbeeld door je in te schrijven voor een webinar als je voor ‘Nieuwe registratie’ gekozen hebt) en ga dan terug naar Zapier.

De Zap afmaken

  1. Klik in Zapier op ‘Test trigger’.

  2. Zodra de test gelukt is, klik je op ‘Continue with the selected record’.

  3. Kies de software die de webhook data moet ontvangen.

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

Was dit een antwoord op uw vraag?