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.