Wat is een webhook? Uitleg zonder techniek

Wat is een webhook? Een webhook is een melding die een systeem zelf naar een ander systeem stuurt zodra er iets gebeurt, zonder dat iemand ernaar vraagt.

Kort antwoord

Een webhook is een automatische melding van het ene systeem naar het andere. Zodra er iets gebeurt, bijvoorbeeld een betaling die slaagt, stuurt het systeem een bericht naar een adres dat jij hebt opgegeven. Je hoeft dus niet steeds te vragen of er iets nieuws is: het nieuws komt naar jou toe. Dat verschilt van periodiek ophalen, waarbij je op vaste momenten zelf navraagt wat er is veranderd.

Je hoort het steeds vaker bij koppelingen en automatiseringen: “dat doen we met een webhook”. Het klinkt technisch, maar het idee is simpel. Dit stuk legt uit wat een webhook is, hoe hij verschilt van periodiek ophalen en waar je op let.

Een webhook als melding

Een webhook is een bericht dat een systeem zelf verstuurt, op het moment dat er iets gebeurt. Je geeft het systeem een adres op en zegt welke gebeurtenissen je wilt horen. Daarna stuurt het systeem bij elke zo’n gebeurtenis een bericht naar dat adres. Bij Stripe gaat het bijvoorbeeld om gebeurtenissen als een betaling die slaagt of een terugboeking die wordt aangevraagd.

Het is te vergelijken met een pakketmelding. Je hoeft niet elk uur de website van de bezorger te openen: je krijgt een bericht als het pakket onderweg is. Een webhook gebruikt dezelfde techniek als een API, maar draait de richting om: het systeem neemt het initiatief.

Webhook of periodiek ophalen

Het alternatief is periodiek ophalen, in vaktaal polling. Dan vraag jij op vaste momenten aan het systeem wat er sinds de vorige keer is veranderd. Dat is eenvoudig, omdat jij zelf bepaalt wanneer er iets gebeurt en je geen adres nodig hebt dat meldingen ontvangt.

Het verschil zit in de snelheid en de inspanning. Een webhook meldt een gebeurtenis meteen. Periodiek ophalen ziet een wijziging pas bij de volgende ronde. Dat is voor veel gebruik prima. APIboard werkt zo: de gegevens uit je gekoppelde systemen worden periodiek opgehaald, wekelijks, dagelijks of drie keer per dag, afhankelijk van je pakket. Dat past bij dashboards en rapportages, waar de stand van gisteren of van vanochtend genoeg is. APIboard ontvangt of verstuurt zelf nog geen webhooks.

Wanneer is een webhook handig

Een webhook loont als iets direct moet gebeuren nadat er iets is gebeurd: een bevestiging sturen nadat een betaling is gelukt, of een medewerker waarschuwen bij een nieuwe aanvraag. Dat is de kern van elke automatisering: een gebeurtenis, een voorwaarde en een actie. Hoe die drie samenhangen lees je in trigger, voorwaarde en actie, en een bredere uitleg staat in wat is data-automatisering.

Voor inzicht over een periode, zoals omzet per maand of openstaande facturen per klant, is een melding per gebeurtenis niet nodig. Dan wil je juist de volledige stand, en die haal je met een regelmatige ophaalronde binnen, bijvoorbeeld uit je boekhouding in Moneybird.

Waar je op let

Controleer altijd de afzender. Het adres dat meldingen ontvangt is bereikbaar voor iedereen die het kent, dus iemand kan er valse berichten naartoe sturen. Stripe ondertekent daarom elke melding en schrijft voor dat je die handtekening verifieert voordat je iets doet, bijvoorbeeld een bestelling als betaald markeren. Behandel het geheim waarmee je controleert zoals een wachtwoord, en vernieuw het als je vermoedt dat het is uitgelekt.

Reken daarnaast op meldingen die niet in perfecte volgorde of dubbel aankomen. Stripe geeft zelf aan dat de volgorde niet gegarandeerd is en dat dezelfde melding soms meer dan eens binnenkomt. Houd bij welke meldingen je al hebt verwerkt. Beantwoord elke melding bovendien snel, en doe het zware werk daarna: antwoordt je adres te laat of met een fout, dan telt de melding als mislukt en wordt hij opnieuw verstuurd.

Gemiste meldingen opvangen

Een webhook is geen garantie dat je alles ontvangt. Ligt je ontvangende systeem een tijd plat, dan kan een melding gemist worden. Stripe probeert het in live-modus tot drie dagen opnieuw met steeds langere pauzes, en je kunt gebeurtenissen ook handmatig opnieuw laten versturen. Daarna is de melding weg.

Daarom combineren veel teams meldingen met een regelmatige controle: de melding zorgt voor snelheid, de controle voor volledigheid. Dat is dezelfde gedachte als bij periodiek ophalen, waar je bij elke ronde de werkelijke stand binnenhaalt en dus niets kunt missen.

Onze tip: kies een webhook als iets direct moet gebeuren, en periodiek ophalen als je een betrouwbaar overzicht wilt. Verifieer bij een webhook altijd de afzender en controleer af en toe de werkelijke stand.

Veelgestelde vragen

Wat is het verschil tussen een webhook en een API?

Bij een API stel jij een vraag en krijg je een antwoord terug. Bij een webhook draait dat om: het systeem stuurt jou een bericht zodra er iets gebeurt. Beide gebruiken dezelfde techniek om gegevens uit te wisselen en ze vullen elkaar vaak aan. Een webhook meldt dat er iets is gebeurd, en via de API kun je daarna de volledige gegevens opvragen.

Wat is het verschil tussen een webhook en polling?

Bij polling vraag je op vaste momenten aan een systeem wat er nieuw is, bijvoorbeeld elke dag. Bij een webhook stuurt het systeem zelf een melding op het moment dat er iets gebeurt. Een webhook is sneller, maar jij moet dan een adres hebben dat meldingen kan ontvangen. Periodiek ophalen is eenvoudiger op te zetten en past goed bij rapportages die niet per seconde actueel hoeven te zijn.

Is een webhook veilig?

Dat hangt af van hoe je de ontvangst inricht. Omdat iedereen die het adres kent er een bericht naartoe kan sturen, controleren goede systemen met een handtekening dat een melding echt van het verwachte systeem komt. Stripe ondertekent bijvoorbeeld elke melding en raadt aan die handtekening altijd te controleren voordat je iets met de melding doet. Zonder die controle kan iemand valse meldingen sturen.

Wat gebeurt er als ik een webhook mis?

Meestal probeert het systeem de melding opnieuw als jouw adres niet antwoordt. Stripe doet dat in live-modus tot drie dagen lang, met steeds langere pauzes. Toch kan een melding te laat, dubbel of in een andere volgorde binnenkomen. Controleer daarom af en toe de werkelijke stand bij het bronsysteem, in plaats van alleen op meldingen te vertrouwen.

Hier meer over weten?

Koppel binnen minuten met je software, zonder zelf te hoeven knutselen. Wij maken het eenvoudig voor je.