Skip to navigation

Webhooks gebruiken voor wijzigingen in een lijst

Met een webhook stuurt Laposta een bericht naar jouw server zodra er iets verandert in een lijst. Zo houd je jouw eigen bestand gelijk zonder dat je Laposta continu hoeft te bevragen of er iets nieuws is.

Wanneer gebruik je een webhook?

Je gebruikt een webhook voor wijzigingen die in Laposta plaatsvinden: iemand meldt zich aan via een aanmeldformulier, past zijn gegevens aan in het voorkeurencentrum of meldt zich af via de afmeldlink. Voor wijzigingen die vanuit jouw eigen systeem komen, kun je kijken bij relaties synchroniseren.

Je kunt een webhook instellen voor drie gebeurtenissen:

GebeurtenisWanneer wordt het bericht verstuurd?
subscribedEr komt een relatie bij in de lijst.
modifiedDe gegevens van een bestaande relatie veranderen.
deactivatedEen relatie meldt zich af of wordt verwijderd.

Een webhook instellen

1

Bouw een URL die berichten kan ontvangen

Maak op je eigen server een adres dat een POST met JSON accepteert. Antwoord snel met een 200 en verwerk het bericht daarna op de achtergrond.

2

Registreer de webhook

Registreer je URL en de gewenste gebeurtenis bij Laposta:

curl
curl https://api.laposta.nl/v2/webhook \
-u JOUW_API_SLEUTEL: \
-d list_id=BaImMu3JZA \
-d event=subscribed \
-d url=https://example.net/laposta-webhook \
-d blocked=false
PHP
$laposta = new Laposta('JOUW_API_SLEUTEL');
$webhook = $laposta->webhookApi()->create('BaImMu3JZA', [
'event' => 'subscribed',
'url' => 'https://example.net/laposta-webhook',
'blocked' => false,
]);

Bewaar het secret dat in het antwoord staat. Daarmee kun je later controleren of een binnenkomend bericht echt van Laposta komt.

3

Controleer de handtekening bij elk bericht

Laposta ondertekent elk bericht met dat secret. Vergelijk de handtekening voordat je iets met de inhoud doet, anders kan iedereen die je URL kent gegevens in je systeem zetten.

Waar je op moet letten

  • Verwerk het bericht op de achtergrond, dus nadat je op het verzoek hebt geantwoord. Duurt het aan jouw kant te lang, dan loopt de aanroep in een time-out en weet je niet zeker of je alles hebt ontvangen.
  • Reken op dubbele berichten. Bij twijfel stuurt Laposta een bericht opnieuw. Zorg er dus voor dat je systeem hetzelfde bericht twee keer kan verwerken zonder dat er bijvoorbeeld een dubbele relatie ontstaat.
  • Zet een webhook tijdelijk uit in plaats van hem te verwijderen. Ga je onderhoud doen aan je server, zet dan blocked op true met Webhook wijzigen. De registratie en het secret blijven dan behouden.
  • Wijzigingen via de API activeren de webhook ook. Werk je zelf een relatie bij via de API, dan gaat de modified-webhook ook af. Houd daar rekening mee in je eigen code, anders stuur je dezelfde wijziging meteen weer terug naar Laposta.

Gerelateerde artikelen