Webhooks vind je onder Instellingen >> Webhooks.
Het webhooksysteem biedt realtime meldingen zodra er belangrijke gebeurtenissen plaatsvinden binnen je abonnees- of campagnegegevens. Je kunt meerdere webhooks aanmaken per endpoint en daarbij zelf kiezen welke combinatie van gebeurtenissen je wilt ontvangen, afgestemd op de behoeften van jouw applicatie.
Elke webhook krijgt een unieke geheime sleutel (secret) toegewezen, die je moet gebruiken om de payloads te verifiëren (en indien nodig te ontsleutelen) die door de software worden verzonden.
Onze webhook-implementatie volgt de beste industriestandaarden om veilige en betrouwbare levering van gebeurtenissen te garanderen.
Beschikbare Webhook-gebeurtenissen
Je kunt je abonneren op een of meer van de volgende gebeurtenissen. Elke gebeurtenis wordt zowel in het Engels als Nederlands weergegeven:
Abonnee-gebeurtenissen
-
Subscriber Created (SUBSCRIBER.CREATED)
Getriggerd wanneer een nieuwe abonnee aan het systeem wordt toegevoegd. -
Subscriber Subscribed (SUBSCRIBER.SUBSCRIBED)
Vindt plaats wanneer een abonnee zich succesvol aanmeldt om communicatie te ontvangen. -
Subscriber Unsubscribed (SUBSCRIBER.UNSUBSCRIBED)
Wordt geactiveerd wanneer een abonnee zich uitschrijft of van de lijst wordt verwijderd. -
Subscriber Bounced (SUBSCRIBER.BOUNCED)
Getriggerd wanneer een e-mail aan een abonnee niet kan worden afgeleverd. -
Subscriber Updated (SUBSCRIBER.UPDATED)
Duidt aan dat de gegevens of voorkeuren van de abonnee zijn gewijzigd. -
Campaign Sent (SUBSCRIBER.CAMPAIGN_SENT)
Vindt plaats wanneer een campagne-e-mail succesvol wordt afgeleverd. -
Campaign Opened (SUBSCRIBER.CAMPAIGN_OPENED)
Wordt geactiveerd wanneer een abonnee een campagne-e-mail opent. -
Campaign Link Clicked (SUBSCRIBER.CAMPAIGN_LINK_CLICKED)
Getriggerd wanneer een abonnee op een link in de campagne klikt. -
Subscriber Email Changed (SUBSCRIBER.EMAIL_CHANGED)
Vindt plaats wanneer het e-mailadres van een abonnee wordt bijgewerkt. -
Subscriber Deleted (SUBSCRIBER.DELETED)
Wordt geactiveerd wanneer een abonnee uit het systeem wordt verwijderd.
Campagne-gebeurtenissen
-
Campaign Created (CAMPAIGN.CREATED)
Getriggerd wanneer een nieuwe campagne wordt aangemaakt. -
Campaign Updated (CAMPAIGN.UPDATED)
Vindt plaats wanneer de gegevens van een bestaande campagne worden gewijzigd. -
Campaign Deleted (CAMPAIGN.DELETED)
Wordt geactiveerd wanneer een campagne wordt verwijderd.
Instellen van je webhooks
Je kunt meerdere webhooks registreren voor één endpoint. Dit geeft je de flexibiliteit om meldingen te organiseren per gebeurtenistype of door te sturen naar verschillende onderdelen van je systeem.
Gebeurtenissen selecteren
Bij het aanmaken van een webhook kies je eenvoudigweg welke specifieke gebeurtenissen je wilt ontvangen uit de bovenstaande lijst. Door gericht te selecteren, ontvang je alleen de meldingen die je daadwerkelijk nodig hebt.
Webhook-secret
Elke webhook krijgt bij het aanmaken een unieke geheime sleutel. Deze sleutel is essentieel voor de verificatie van de echtheid van de payload.
-
Authenticatie: Gebruik de secret om te verifiëren dat het inkomende webhook-verzoek daadwerkelijk afkomstig is van de software.
-
Payload ontsleutelen: Als de payload versleuteld is, wordt deze secret gebruikt om deze te ontsleutelen en zo veilig toegang te krijgen tot de gegevens.
Verifiëren van de handtekening van inkomende webhooks
Voor een PHP-applicatie vind je hier de beste manier om een webhook-handtekening te controleren:
🔗 Spatie Laravel Webhook Client – Signature verificatie
Best practices voor webhook-integratie
Om maximale veiligheid en betrouwbaarheid te garanderen, raden we aan de volgende best practices te hanteren:
✅ Verifieer de handtekening
Gebruik altijd de secret om de handtekening van inkomende verzoeken te controleren. Zo weet je zeker dat de gegevens authentiek zijn.
✅ Valideer de payload
Controleer of de payload het verwachte formaat heeft en alle noodzakelijke gegevens bevat vóór je hem verwerkt.
✅ Snel bevestigen
Stuur zo snel mogelijk een HTTP 2xx-statuscode terug zodra je endpoint een event ontvangt. Snelle bevestigingen voorkomen onnodige retries.
✅ Implementeer idempotentie
Omdat webhook-events mogelijk meerdere keren worden verstuurd (vooral bij retries), moet je verwerking bestand zijn tegen duplicaten en elk event veilig maar één keer afhandelen.
Beveilig je endpoint
-
Gebruik HTTPS om gegevensversleuteling tijdens transport te garanderen.
-
Overweeg aanvullende beveiliging zoals IP-whitelisting om toegang tot je webhook-endpoint te beperken.
Log activiteit van webhooks
Houd gedetailleerde logs bij van binnenkomende webhook-events. Dit helpt bij foutopsporing en bij het bewaken van de integratie.
Retry-strategie
Het systeem heeft een robuuste retry-strategie voor een betrouwbare levering van gebeurtenissen:
-
Automatische retries: Als je endpoint geen 2xx-status teruggeeft, probeert de software het event automatisch opnieuw te verzenden.
-
Exponential backoff: De tijd tussen retries neemt toe bij elke mislukte poging, om je server te ontzien tijdens downtime.
-
Idempotente verwerking: Zorg dat je endpoint duplicaten correct verwerkt, zonder negatieve gevolgen.
Het webhooksysteem is ontworpen met flexibiliteit, veiligheid en betrouwbaarheid in gedachten. Door gericht gebeurtenissen te selecteren, je endpoints goed te beveiligen en bovenstaande best practices toe te passen, kun je webhook-notificaties moeiteloos integreren in jouw workflow.
Voor meer informatie of ondersteuning kun je contact opnemen met ons supportteam.