Webhooks uitgelegd: hoe real-time data-uitwisseling werkt tussen je systemen
Door Clen Mourik
Webhooks zorgen dat je systemen direct reageren op gebeurtenissen — zonder dat je elke 5 minuten moet vragen of er iets nieuws is. Denk aan een deurbel die belt wanneer er iemand voor de deur staat, in plaats van dat je elk kwartier door het raamkozijn moet gluren.
Hoeveel keer per dag log jij in op verschillende systemen om te zien of er iets nieuws is? Orders die je handmatig moet overnemen. Facturen die je moet doorklikken. Voorraadstanden die je moet controleren.
De meeste bedrijven werken zo. Een ERP-systeem, een CRM, misschien een webshop of ordersysteem, een boekhouding. En tussen al die systemen loop jij heen en weer. Of je hebt een CSV-export die elke nacht draait en waar je de volgende ochtend achteraan moet opruimen.
Webhooks werken anders. Je systemen krijgen direct een seintje als er iets gebeurt. Nieuwe order? Direct doorgezet naar je voorraadsysteem. Factuur betaald? Meteen verwerkt in je boekhouding. Zonder dat jij (of een import-script) telkens moet vragen: "Is er al iets nieuws?"
Inhoudsopgave
- Belangrijkste punten
- Wat zijn webhooks eigenlijk?
- Het verschil tussen webhooks en polling
- Hoe werken webhooks technisch?
- Praktijkvoorbeelden uit verschillende sectoren
- Beveiliging en foutafhandeling
- Wanneer zijn webhooks de beste keuze?
- Webhooks implementeren in jouw organisatie
- Veelgestelde vragen
Belangrijkste punten
| Punt | Details |
|---|---|
| Real-time synchronisatie | Webhooks geven direct een seintje bij gebeurtenissen, zonder wachttijd of handmatig ingrijpen |
| Push vs polling | Je systemen krijgen data geduwd (push), in plaats van zelf voortdurend te moeten vragen (polling) |
| Efficiëntie | Geen onnodige API-calls, minder serverbelasting, lagere kosten bij veel platforms |
| Event-driven | Acties worden automatisch getriggerd door gebeurtenissen: nieuwe order → voorraad aanpassen → factuur aanmaken |
| Geschikt voor MKB | Van bouwbedrijven tot groothandels, van productie tot transport — overal waar systemen snel moeten reageren op wijzigingen |
Wat zijn webhooks eigenlijk?
Een webhook is simpelweg een automatisch berichtje dat een systeem naar een ander systeem stuurt zodra er iets gebeurt. Denk aan een deurbel: die gaat af als iemand aanbelt. Je hoeft niet elk kwartier door het raamkozijn te gluren of er toevallig iemand voor de deur staat.
Precies zo werkt een webhook tussen je bedrijfssystemen. Zodra er in systeem A iets gebeurt (een nieuwe order, een gewijzigde voorraadstand, een betaalde factuur), stuurt dat systeem direct een bericht naar systeem B: "Hé, dit is zojuist gebeurd, doe er iets mee."
De technische term is een HTTP POST-request. Systeem A stuurt een pakketje data naar een URL die jij hebt opgegeven in systeem B. Die URL is de "webhook endpoint" — het adresje waar het berichtje naartoe moet.
De anatomie van een webhook
Een webhook bestaat uit drie onderdelen:
- Trigger (gebeurtenis): Wat moet er gebeuren voordat de webhook afgaat? Nieuwe order, statuswijziging, betaling ontvangen, voorraad onder minimum.
- Payload (data): Welke informatie wordt meegestuurd? Ordernummer, klantgegevens, bedrag, artikelen — alles wat systeem B nodig heeft om iets te doen.
- Endpoint (bestemming): Waar moet het berichtje naartoe? Een URL in jouw eigen systeem of een tussenplatform dat de webhook verwerkt.
Bij onze Shopify integraties zie je dit goed terug: zodra een klant een bestelling plaatst, stuurt Shopify een webhook met alle ordergegevens naar het voorraadsysteem. Die kan direct de voorraad aanpassen, een factuur aanmaken en een picklist genereren.
Het verschil tussen webhooks en polling
Polling betekent dat jouw systeem (of een script) elke X minuten vraagt: "Is er al iets nieuws?" Meestal is het antwoord "Nee". Soms is het "Ja, hier is wat er veranderd is."
Dat werkt prima voor een klein bedrijf met 5 orders per dag. Maar wat als je 50 orders per dag hebt? Of 200? Dan doe je honderden onnodige API-calls per dag. Sommige platforms rekenen per API-call. Bij 288 checks per dag (elke 5 minuten) betaal je voor informatie die 280 keer "nee" zegt.
| Methode | Werking | Voor/nadelen | Beste scenario |
|---|---|---|---|
| Polling | Jouw systeem vraagt elke X minuten of er iets nieuws is | Simpel, werkt altijd — maar veel onnodige calls | Weinig wijzigingen (<10/dag), geen real-time nodig |
| Webhooks | Bronsysteem stuurt direct bericht bij wijziging | Real-time, efficiënt — maar vereist endpoint-beheer | Veel wijzigingen, directe actie nodig, kosten besparen |
| Hybride | Webhooks voor real-time + dagelijkse sync als backup | Beste van beide: betrouwbaar én real-time | Kritieke processen waar niks mis mag gaan |
Bij een groothandel die we koppelden aan hun ERP zagen we dat ze van 4.300 API-calls per dag naar 180 gingen door webhooks. Dat scheelde hen €240 per maand aan platform-kosten.
Wanneer is polling nog de betere keuze?
Even eerlijk: webhooks zijn niet altijd nodig. Als je 's ochtends je webshop-orders ophaalt en invoert in je boekhouding, dan is een dagelijkse CSV-export perfect. Sneller hoeft niet.
Polling werkt goed bij:
- Lage frequentie: minder dan 20 wijzigingen per dag
- Geen urgentie: het mag een paar uur duren voordat iets wordt verwerkt
- Simpele setup: je wilt geen endpoints of servers beheren
- Legacy systemen: oude software die webhooks niet ondersteunt
Maar zodra je 50+ transacties per dag hebt, of als snelheid echt uitmaakt (voorraad, verzending, klantcommunicatie), dan win je veel met webhooks.
Hoe werken webhooks technisch?
Laten we het stapje voor stapje doornemen. We nemen een voorbeeld van een productiebedrijf dat artikelen levert aan klanten.
Stap 1: De gebeurtenis (event)
Een klant plaatst via het orderportaal een bestelling van 500 stuks onderdeel X. In het ordersysteem wordt deze order aangemaakt met status "nieuw".
Stap 2: De webhook wordt getriggerd
Het ordersysteem ziet: "Er is een nieuwe order met status 'nieuw'". Het checkt: "Hé, er staat een webhook ingesteld voor gebeurtenis 'order.created'". Het pakt alle relevante orderdata en verpakt die in JSON-format.
Stap 3: De payload wordt verzonden
Het systeem stuurt een HTTP POST-request naar de webhook-URL die je hebt opgegeven. Die request bevat alle ordergegevens: ordernummer, klantgegevens, artikelen, aantallen, leveradres.
Stap 4: Het ontvangende systeem verwerkt de data
Jouw ERP-systeem (of een tussenplatform zoals die wij bouwen) ontvangt de webhook. Het haalt de data eruit, checkt of alles klopt, en zet de order klaar in het productieplanningssysteem. Tegelijk wordt de voorraad gereserveerd en stuurt het een bevestigingsmail naar de klant.
Stap 5: Bevestiging terug
Het ERP-systeem stuurt een HTTP 200 OK-response terug naar het ordersysteem: "Bedankt, ik heb het ontvangen en verwerkt". Het ordersysteem weet nu dat de webhook succesvol is afgeleverd.
Wat zit er in een webhook payload?
De payload is het pakketje data dat wordt meegestuurd. Bij een Shopify order-webhook ziet dat er bijvoorbeeld zo uit (vereenvoudigd):
{ "id": 12345, "order_number": "#1001", "email": "[email protected]", "total_price": "149.95", "line_items": [{ "product_id": 789, "quantity": 2 }] }
Je ontvangt precies de data die je nodig hebt om verder te werken. Geen handmatig overtypen, geen vergissingen.
Praktijkvoorbeelden uit verschillende sectoren
Webhooks zijn niet alleen voor webshops. We zien ze in bijna elke sector waar systemen snel moeten reageren op wijzigingen.
Bouwbedrijf: werkbonnen en materiaalbestelling
Een installateur gebruikt een app voor urenregistratie. Zodra een monteur een werkbon afsluit, gaat er een webhook naar het ERP-systeem. Die checkt welke materialen zijn verbruikt en stuurt automatisch een bestelbon naar de groothandel als de voorraad onder het minimum komt.
Zonder webhook zou dit 's avonds in een batch draaien. Met webhook gebeurt het direct — en kan de groothandel dezelfde dag nog leveren.
Groothandel: order-tot-levering automatisering
Een order komt binnen via het B2B-portaal. Webhook naar Exact Online: factuur aanmaken. Webhook naar Picqer: voorraad reserveren en picklist genereren. Zodra de order is gepickt: webhook naar Sendcloud voor verzendlabel. Klant krijgt automatisch track & trace.
Van order tot verzending, volledig geautomatiseerd. Geen handmatige stappen, fouten of vertragingen.
Productie: voorraadbeheer en productieplanning
Een maakindustrie produceert op basis van klantorders. Zodra een order binnenkomt (webhook), checkt het systeem of de grondstoffen op voorraad zijn. Zo niet: automatisch een inkooporder naar de leverancier. Zodra de leverancier bevestigt (webhook terug): productie wordt ingepland.
Dit soort AFAS-koppelingen met productiesystemen zien we steeds vaker. Real-time inzicht in wat er beschikbaar is en wanneer iets kan worden geproduceerd.
Een productieplanningssysteem dat 4 uur achterliep op de werkelijkheid kostte een klant gemiddeld 2 spoedleveringen per week. Met webhooks verdween dat probleem volledig.
Transport: real-time tracking en statusupdates
Een transportbedrijf werkt met een planning-app voor chauffeurs. Zodra een chauffeur een zending aflevert en laat aftekenen, gaat er een webhook naar het TMS (Transport Management System). Dat stuurt direct een webhook naar het facturatiesysteem én naar de klant: "Je zending is afgeleverd om 14:37 uur".
De klant ziet in real-time waar zijn spullen zijn. De administratie hoeft geen handmatige CMR-documenten meer te verwerken.
Webshop: orderverwerking en voorraadsynchronisatie
Dit is het klassieke voorbeeld, maar nog steeds de meest voorkomende toepassing. Order op Bol.com, webhook naar voorraadsysteem, voorraad wordt gereserveerd, verzendlabel aangemaakt, track & trace terug naar Bol.com. Totale doorlooptijd: 30 seconden.
Bij onze integratie-combinaties zie je hoe verschillende marktplaatsen en webshops tegelijk kunnen worden gekoppeld aan één centrale voorraad.
Beveiliging en foutafhandeling
Een webhook is een publiek toegankelijke URL. Iedereen die dat adres kent, kan er een POST-request naartoe sturen. Hoe weet jouw systeem dat een webhook echt van Shopify komt, en niet van iemand die probeert nep-orders in je systeem te duwen?
Webhook signatures (handtekeningen)
De meeste professionele platforms sturen een digitale handtekening mee met elke webhook. Dat is een soort hash (versleutelde code) die is berekend op basis van de payload én een geheim dat alleen jij en het bronsysteem kennen.
Jouw systeem berekent diezelfde hash opnieuw. Als die matcht met wat er is meegestuurd, weet je zeker dat de webhook echt is en niet onderweg is aangepast.
HTTPS en IP-whitelisting
Webhooks moeten altijd via HTTPS worden verstuurd. Dat betekent dat de data versleuteld is onderweg. Sommige bedrijven voegen nog een extra laag toe: ze accepteren alleen webhooks van specifieke IP-adressen (de servers van het bronsysteem).
Retry-logica: wat als iets misgaat?
Jouw server kan even offline zijn. Of er is een bug in de code die de webhook moet verwerken. Wat gebeurt er dan met die webhook?
Goede systemen proberen het opnieuw. Shopify stuurt bijvoorbeeld maximaal 19 keer een webhook opnieuw als er geen 200 OK-response komt. Eerst na 1 minuut, dan na 5 minuten, dan na een uur, etc. Als het na 48 uur nog steeds niet lukt, wordt de webhook als "failed" gemarkeerd.
In een professionele integratie bouwen we altijd een queue (wachtrij): webhooks die binnenkomen worden eerst opgeslagen, en daarna pas verwerkt. Als de verwerking faalt, blijft de webhook bewaard en kan deze later opnieuw worden geprobeerd.
Monitoring en logging
Je wilt weten als webhooks falen. Daarom loggen we elke webhook: wanneer ontvangen, welke data, wat is het resultaat. Als iets misgaat, krijg je een melding. Zo kun je snel ingrijpen voordat er orders worden gemist.
Wanneer zijn webhooks de beste keuze?
Niet elk bedrijf heeft webhooks nodig. Hier is een eerlijk overzicht van wanneer het wel en niet zinvol is.
| Scenario | Volume | Urgentie | Beste oplossing |
|---|---|---|---|
| Webshop met <20 orders/dag | Laag | Laag | CSV-export of dagelijkse sync |
| Webshop met 50-200 orders/dag | Middel | Middel | Webhooks via tussenplatform (Zapier/Make) |
| Webshop met >200 orders/dag | Hoog | Hoog | Maatwerk webhook-integratie met queue |
| Productie/bouw met urgente bestellingen | Middel | Hoog | Webhooks + fallback polling |
| Transport met real-time tracking | Hoog | Hoog | Webhooks in beiderichtingen |
| Financiële administratie | Laag/Middel | Laag | Dagelijkse batch-sync (geen webhooks nodig) |
De vuistregel: als je meer dan 30 transacties per dag hebt waar je snel op moet reageren, zijn webhooks de moeite waard. Bij minder dan 20 transacties is een dagelijkse sync vaak voldoende en goedkoper.
Kosten van webhook-implementatie
De kosten hangen af van de complexiteit. Een simpele webhook tussen twee systemen die webhooks out-of-the-box ondersteunen? Dat kan via een no-code platform zoals Zapier voor €20-50/maand.
Een maatwerk integratie waarbij we meerdere systemen koppelen, data transformeren en een queue bouwen? Dat begint rond €3.000-5.000 eenmalig voor de bouw, plus eventueel hosting van €50-150/maand.
Maar reken even mee: 50 orders per dag handmatig verwerken kost je 4 uur. Bij €25/uur is dat €100 per dag, oftewel €2.000 per maand. Die investering verdien je in 2-3 maanden terug.
Webhooks implementeren in jouw organisatie
Je hebt besloten dat webhooks zinvol zijn voor jouw bedrijf. Wat nu? Hier is een stapsgewijs overzicht.
Stap 1: Inventariseer welke systemen webhooks ondersteunen
Check in de documentatie van je huidige systemen of ze webhooks kunnen versturen of ontvangen. De meeste moderne platforms (Shopify, HubSpot, Exact, AFAS) hebben dit ingebouwd. Oudere ERP-systemen soms niet.
Bij onze integratieoverzicht zie je voor elk systeem of webhooks worden ondersteund.
Stap 2: Bepaal welke gebeurtenissen belangrijk zijn
Je kunt een webhook instellen voor elke muisklik, maar dat wil je niet. Kies de gebeurtenissen die écht impact hebben:
- Nieuwe order → voorraad reserveren, factuur aanmaken
- Betaling ontvangen → verzending activeren, boekhouding updaten
- Voorraad onder minimum → automatisch bijbestellen
- Status wijziging → klant informeren
Stap 3: Bouw of kies een endpoint
Je hebt een URL nodig waar de webhooks naartoe kunnen. Drie opties:
- No-code platform: Zapier, Make.com, n8n — goed voor simpele flows (1-3 stappen)
- Middleware platform: Bedrock Data, Integromat — beter voor complexe logica met meerdere systemen
- Maatwerk endpoint: Een applicatie die wij (of jouw IT-partner) bouwen — beste controle en schaalbaarheid
Voor bedrijven met >100 transacties/dag raden we meestal maatwerk aan. Onder de 50/dag kan een no-code tool prima werken.
Stap 4: Test grondig voordat je live gaat
Webhooks zijn real-time. Als er iets fout gaat, weet je het pas als het te laat is. Daarom testen we altijd eerst in een testomgeving:
- Verstuur test-webhooks vanuit het bronsysteem
- Check of de data correct wordt verwerkt
- Simuleer fouten: wat gebeurt er als de database even niet bereikbaar is?
- Test de retry-logica: worden webhooks opnieuw verstuurd bij een timeout?
Stap 5: Monitor en optimaliseer
De eerste weken na go-live let je extra op. Komen alle webhooks binnen? Worden ze snel genoeg verwerkt? Zijn er errors die je niet had verwacht?
We bouwen altijd een dashboard waar je kunt zien hoeveel webhooks er zijn ontvangen, hoeveel succesvol zijn verwerkt, en welke zijn gefaald. Zo kun je snel bijsturen.
Veelgestelde vragen
Wat is het verschil tussen een webhook en een API?
Een API is een manier om data op te vragen: jij stuurt een verzoek en krijgt een antwoord terug. Een webhook is andersom: het andere systeem stuurt jou ongevraagd een bericht zodra er iets gebeurt. Je gebruikt een API om te vragen "wat zijn de nieuwe orders?", maar een webhook vertelt je automatisch "er is een nieuwe order".
Kunnen webhooks data missen als mijn server even offline is?
De meeste platforms proberen een webhook meerdere keren opnieuw te versturen als er geen response komt. Shopify probeert het bijvoorbeeld 19 keer over 48 uur. Als jouw server in die tijd weer online komt, wordt de webhook alsnog afgeleverd. Voor extra zekerheid bouwen we vaak een hybride oplossing: webhooks voor real-time + een dagelijkse sync als backup.
Kan ik webhooks gebruiken tussen elk willekeurig systeem?
Alleen als beide systemen het ondersteunen. Het verzendende systeem moet webhooks kunnen versturen, en het ontvangende systeem moet een endpoint hebben waar de webhook naartoe kan. Als één van beide dit niet heeft, heb je een tussenoplossing nodig (zoals een middleware-platform of maatwerk-integratie).
Hoeveel kost het om webhooks te implementeren?
Dat hangt af van de complexiteit. Een simpele koppeling via Zapier kost €20-50/maand. Een maatwerk-integratie tussen meerdere systemen met datavalidatie en foutafhandeling kost eenmalig €3.000-8.000 om te bouwen. Voor grotere bedrijven met hoge volumes reken je op €10.000+ voor een robuuste oplossing met monitoring.
Zijn webhooks veilig genoeg voor gevoelige bedrijfsdata?
Ja, als het goed is ingericht. Gebruik altijd HTTPS voor versleutelde verbindingen. Verifieer webhook signatures om te checken of de webhook echt van de juiste bron komt. En beperk welke IP-adressen toegang hebben tot je webhook-endpoint. De meeste professionele platforms (zoals AFAS, Exact, Shopify) voldoen aan strikte beveiligingsstandaarden.
Kan ik webhooks combineren met andere synchronisatie-methoden?
Absoluut, en dat doen we vaak. Webhooks voor real-time updates (orders, betalingen, voorraad), maar een dagelijkse sync voor minder urgente data (financiële rapportages, historische data). Zo heb je het beste van beide werelden: snelheid waar het nodig is, en een backup voor zekerheid.
Van reactief naar proactief
Webhooks draaien het om. Je systemen zitten niet meer te wachten tot iemand (of een script) vraagt of er nieuws is. Ze nemen zelf actie zodra er iets gebeurt. Orders worden direct verwerkt, voorraad wordt meteen bijgewerkt, klanten krijgen real-time updates.
Voor veel MKB-bedrijven is dat het verschil tussen 4 uur handmatig werk per dag en een paar minuten controleren of alles goed is gegaan. Tussen een klant die 24 uur wacht op een bevestiging en een klant die binnen een minuut een track & trace-code heeft.
Wil je weten of webhooks zinvol zijn voor jouw bedrijf? We denken graag met je mee. Bij een vrijblijvend adviesgesprek bekijken we samen welke systemen je gebruikt, waar de knelpunten zitten, en of webhooks (of een andere vorm van integratie) de beste oplossing is. Geen verplichtingen, gewoon eerlijk advies op basis van wat wij in de praktijk zien werken.