Wat is een API-koppeling?
Een API-koppeling verbindt twee systemen zodat ze automatisch gegevens uitwisselen. In plaats van handmatig data overtikken van je webshop naar je boekhoudprogramma, laat je de systemen rechtstreeks met elkaar praten. Dat bespaart tijd, voorkomt fouten en maakt je bedrijfsprocessen schaalbaar.
API staat voor Application Programming Interface — een set afspraken waarmee software met andere software communiceert. Denk aan een ober in een restaurant: jij (het ene systeem) geeft je bestelling door aan de ober (de API), die het doorgeeft aan de keuken (het andere systeem) en met je gerecht terugkomt.
Inmiddels bestaat ruim de helft van al het internetverkeer uit API-requests (Nordic APIs, 2025) en het gemiddelde bedrijf beheert honderden API's — een stijging van 77% in twee jaar (Postman State of the API, 2024). API-koppelingen zijn het fundament van moderne bedrijfssoftware.
Hoe werkt een API-koppeling in de praktijk?
Laten we een concreet voorbeeld nemen dat ik regelmatig bouw: een webshop die automatisch synchroniseert met Exact Online.
- Klant plaatst een bestelling — de webshop registreert de order met klantgegevens, producten en bedragen.
- Webhook stuurt signaal — de webshop stuurt automatisch een bericht naar je koppeling: "er is een nieuwe order".
- Koppeling ontvangt en vertaalt — de data wordt omgezet naar het formaat dat Exact Online verwacht. Productcodes worden gematcht, BTW-percentages gecontroleerd, klantgegevens opgezocht of aangemaakt.
- Factuur wordt aangemaakt — via de Exact Online API wordt automatisch een verkoopfactuur geboekt.
- Bevestiging terugkoppeling — de koppeling registreert dat de factuur succesvol is aangemaakt. Het factuurnummer wordt teruggekoppeld naar de webshop.
- Foutafhandeling als vangnet — gaat er iets mis (Exact Online is even offline, een productcode klopt niet)? Dan bewaart de koppeling de order, probeert het later opnieuw en stuurt jou een melding.
Dit hele proces duurt seconden en vervangt werk dat een boekhouder anders handmatig zou doen. Bij een bedrijf met 50 orders per dag bespaart dit al snel 10-15 uur per week.
Handmatig data overtypen tussen systemen is niet alleen inefficiënt; het is een tikkende tijdbom van fouten die je bedrijf geld kost.
Hoe weet ik of mijn systeem een API heeft?
De meeste moderne zakelijke software biedt een API aan. Zo controleer je het:
- Zoek op de website van je leverancier — zoek naar "API", "developers", "integraties" of "koppelingen". Veel partijen hebben een aparte API-documentatiepagina.
- Check de help-sectie — zoek in de kennisbank of FAQ naar "API" of "koppeling".
- Vraag je leverancier — een korte e-mail volstaat. Vraag specifiek naar REST API-toegang en documentatie.
- Laat het onderzoeken — een ontwikkelaar kan binnen een uur beoordelen of een koppeling technisch mogelijk is en wat de beperkingen zijn.
Populaire Nederlandse systemen als Exact Online, Moneybird, Mollie, PostNL en Bol.com hebben allemaal uitgebreide API's. Oudere of niche-software soms niet — dan zijn er vaak alternatieve routes zoals CSV-import of directe database-koppelingen.
REST vs GraphQL
De twee meest gebruikte API-stijlen zijn REST en GraphQL. Voor de meeste zakelijke integraties werk je met REST, simpelweg omdat vrijwel alle business-software REST-API's aanbiedt. Lees het uitgebreide artikel over API-types voor een diepere vergelijking.
REST
REST-API's werken met vaste afspraken voor het uitwisselen van data. Je kunt gegevens ophalen, nieuwe records aanmaken, bestaande gegevens wijzigen of verwijderen. Elk type data heeft een eigen adres binnen de API — zo kun je bijvoorbeeld alle facturen opvragen of een specifieke factuur ophalen op basis van het factuurnummer.
REST is eenvoudig te begrijpen, breed ondersteund en goed genoeg voor 90% van de integraties die je tegenkomt. De OpenAPI Specification is de standaard voor het documenteren van REST-API's.
GraphQL
GraphQL laat de client precies specificeren welke data hij nodig heeft. In plaats van een vast antwoord per endpoint, stuur je een query die beschrijft welke velden je wilt. Dit is handig bij complexe, geneste data.
In de praktijk bieden de meeste Nederlandse zakelijke applicaties (Exact Online, Moneybird, Mollie, Bol.com) REST-API's aan. GraphQL zie je vaker bij producten als Shopify en moderne SaaS-platforms.
Authenticatie: wie mag wat?
Elke API moet weten wie er aanklopt. Er zijn drie veelgebruikte methoden:
API keys
De eenvoudigste vorm. Je krijgt een unieke sleutel die je meestuurt bij elk verzoek. Simpel en effectief voor directe server-naar-server communicatie. Nadeel: als de sleutel uitlekt, heeft iemand volledige toegang.
OAuth 2.0
De standaard voor integraties waarbij een gebruiker toestemming geeft. De gebruiker logt in bij de externe dienst, geeft jouw applicatie toestemming, en je ontvangt een access token en een refresh token. Het access token verloopt na korte tijd; het refresh token gebruik je om automatisch een nieuw access token op te halen. Exact Online, Moneybird en de meeste grote platforms gebruiken OAuth 2.0.
OAuth is complexer om te implementeren, maar veiliger. De gebruiker kan altijd de toegang intrekken en je hoeft geen wachtwoorden op te slaan.
Tokens (JWT)
Een methode waarbij het systeem een beveiligd digitaal pasje uitgeeft. Dit pasje bevat informatie over wie de gebruiker is en welke rechten hij heeft. Het is beveiligd met een digitale handtekening zodat de ontvanger kan controleren of het pasje echt en geldig is.
Webhooks vs polling
Er zijn twee manieren om te weten of er iets veranderd is in het externe systeem:
Polling
Je vraagt periodiek aan het andere systeem: "Is er iets nieuws?" Bijvoorbeeld elke 5 minuten alle nieuwe orders opvragen. Dit is eenvoudig op te zetten maar niet efficiënt — je maakt veel onnodige verzoeken en er zit altijd vertraging tussen het moment dat data verandert en het moment dat jij het oppikt.
Webhooks
Het externe systeem stuurt automatisch een bericht naar je applicatie zodra er iets verandert. Dit is sneller en efficiënter. Je systeem ontvangt de update direct en kan er meteen op reageren.
In de praktijk gebruiken we webhooks waar mogelijk. Als een systeem geen webhooks aanbiedt, of als extra vangnet voor gemiste berichten, combineren we het met periodieke controles. Uit onze ervaring: bij de meeste koppelingen is een combinatie van webhooks met dagelijkse reconciliatie de meest betrouwbare aanpak.
Rate limiting: slim omgaan met limieten
Elke API heeft limieten op het aantal verzoeken dat je per minuut mag versturen. Afhankelijk van de dienst en je abonnement mag je 60 tot 1000 verzoeken per minuut doen.
Als de limiet wordt overschreden, weigert het externe systeem tijdelijk verdere verzoeken. Een goed gebouwde koppeling handelt dit automatisch af: even wachten en het opnieuw proberen, zonder dat je er iets van merkt.
Bij grotere synchronisaties (bijvoorbeeld het importeren van alle klanten uit een CRM) houdt de koppeling hier automatisch rekening mee door de data in behapbare porties te verwerken.
Data mapping: de verborgen complexiteit
De technische verbinding is vaak het makkelijke deel. De echte uitdaging zit in data mapping: hoe vertaal je gegevens van het ene systeem naar het andere?
Klant-ID's zijn anders, productcategorieën komen niet overeen, datumformaten verschillen en verplichte velden in het ene systeem bestaan niet in het andere. Dit vereist duidelijke afspraken en transformatieregels die vooraf worden vastgelegd.
Uit onze ervaring met meer dan 150 koppelingen: data mapping is in 70% van de gevallen de fase die het meeste tijd kost. Niet de technische verbinding, maar het vertalen van bedrijfslogica naar heldere regels. Welk gegeven in het ene systeem komt overeen met welk gegeven in het andere? Wat gebeurt er als informatie ontbreekt? Hoe ga je om met waarden die niet bestaan in het doelsysteem? Wij leggen dit vast voordat we beginnen met bouwen.
Foutafhandeling: verwacht het onverwachte
Externe systemen gaan soms offline, verbindingen vallen weg of data wordt afgewezen. Een professionele koppeling houdt hier rekening mee en handelt problemen automatisch af.
Waar een goede koppeling aan voldoet:
- Volledige registratie — elke communicatie wordt vastgelegd zodat je bij problemen snel kunt achterhalen wat er is misgegaan.
- Automatisch opnieuw proberen — bij tijdelijke storingen probeert de koppeling het automatisch opnieuw, met steeds iets langere wachttijden (exponential backoff).
- Je systeem blijft werken — als de koppeling tijdelijk niet beschikbaar is, draait je applicatie gewoon door. Acties worden bewaard en later alsnog verwerkt.
- Actieve bewaking — je krijgt een melding als er structureel iets misgaat zodat je snel kunt ingrijpen.
- Idempotency — zorgt ervoor dat dezelfde actie niet twee keer wordt uitgevoerd, zelfs als een bericht dubbel binnenkomt.
Een koppeling die stilletjes faalt is erger dan eentje die luid klaagt. Bouw je integraties alsof ze morgen kapot gaan — want dat doen ze.
Wat als een koppeling uitvalt?
Dit is de vraag die elke ondernemer stelt — terecht. Dit zijn de meest voorkomende scenario's en hoe een goed gebouwde koppeling ermee omgaat:
- Het externe systeem is tijdelijk offline — de koppeling bewaart alle data in een wachtrij en verwerkt alles zodra het systeem weer beschikbaar is. Jij merkt er niets van.
- De API wijzigt zonder waarschuwing — monitoring detecteert de fout, stuurt een melding en de ontwikkelaar past de koppeling aan. Bij goed onderhoud is dit binnen uren opgelost.
- Token verloopt — bij OAuth-koppelingen verloopt het access token regelmatig. Een goed gebouwde koppeling vernieuwt dit automatisch via het refresh token. Alleen als het refresh token verloopt (doorgaans na maanden) is handmatige herautenticatie nodig.
- Volume-piek — tijdens Black Friday of een marketingcampagne kan het volume tientallen keren hoger liggen. Queues en rate limiting zorgen ervoor dat alles verwerkt wordt, alleen iets trager.
De sleutel is proactieve monitoring. Wij zetten bij elke koppeling dashboards en alerts op zodat problemen opvallen voordat ze impact hebben op je bedrijfsvoering.
Zelf doen of laten bouwen?
Er zijn drie routes om systemen te koppelen. Welke past bij jou hangt af van de complexiteit, het volume en hoe kritisch het proces is.
No-code tools: Zapier en Make
Zapier en Make zijn visuele tools waarmee je zonder programmeerkennis eenvoudige koppelingen maakt. Je betaalt maandelijks op basis van het aantal taken dat de koppeling uitvoert.
Geschikt voor: eenvoudige, laagvolume koppelingen. Bijvoorbeeld: een nieuw contactformulier-inzending automatisch in je CRM plaatsen, of een Slack-melding sturen bij een nieuwe bestelling.
Niet geschikt voor: complexe datavertaling, hoog volume, tweezijdige synchronisatie, bedrijfskritische processen. Bij hoog volume worden de maandkosten van Zapier op termijn duurder dan een eenmalige maatwerk koppeling.
Maatwerk API-koppeling
Een koppeling die specifiek voor jouw situatie wordt gebouwd en direct in je systeem draait. Eenmalige investering, geen maandelijkse licentiekosten voor de koppeling zelf.
Geschikt voor: bedrijfskritische processen, hoog volume, complexe datavertaling, tweezijdige synchronisatie. Als je meer dan 100 taken per dag verwerkt, is maatwerk vrijwel altijd voordeliger dan no-code op jaarbasis.
Wanneer kies je wat?
- Minder dan 50 taken per dag, eenvoudige data — Zapier of Make is prima
- Meer dan 100 taken per dag of complexe data — maatwerk is betrouwbaarder en goedkoper op termijn
- Bedrijfskritisch proces (facturatie, voorraad, bestellingen) — altijd maatwerk met foutafhandeling
- Je wilt starten en later opschalen — begin met Zapier, migreer naar maatwerk als het volume groeit
Wil je weten wat jouw koppeling kost? Lees het artikel over API-koppeling kosten voor een eerlijk overzicht van prijzen en doorlooptijden.
Veelvoorkomende integraties voor bedrijven
Dit zijn de koppelingen die wij het vaakst bouwen voor Nederlandse bedrijven:
- Boekhouding — Exact Online, Moneybird, SnelStart, Xero. Facturen en financiële data automatisch verwerken.
- Betalingen — Mollie, Stripe. Betaalstatussen synchroniseren met je ordersysteem.
- Logistiek — PostNL, DPD, GLS, DHL, SendCloud. Verzendlabels genereren en track & trace koppelen.
- E-commerce — Shopify, WooCommerce, Bol.com. Orders, voorraad en producten koppelen.
- CRM — Salesforce, HubSpot, Pipedrive. Klantgegevens en deals synchroniseren.
- Overheid — KVK, RDW, Kadaster. Bedrijfs- en voertuiggegevens automatisch ophalen.
- Communicatie — Slack, Microsoft Teams, e-mail. Notificaties en updates automatiseren.
Hoe wij een API-koppeling aanpakken
Een succesvolle koppeling begint niet met bouwen. In zestien jaar en meer dan 150 koppelingen heb ik geleerd dat voorbereiding het verschil maakt tussen een koppeling die jaren meedraait en eentje die na drie maanden problemen geeft. Dit zijn de stappen die wij doorlopen:
- Doel bepalen — welk probleem lossen we op? Welke data moet waar naartoe? Wat is het verwachte volume?
- API-mogelijkheden inventariseren — wat biedt het externe systeem? Welke beperkingen gelden er? Is de documentatie compleet?
- Data-afspraken vastleggen — welke gegevens koppelen we? Hoe gaan we om met uitzonderingen en ontbrekende data?
- Synchronisatiestrategie kiezen — real-time webhooks, periodieke controles of een combinatie?
- Foutafhandeling inrichten — wat als het misgaat? Hoe herstelt het systeem automatisch? Wie wordt gewaarschuwd?
- Bouwen en testen — eerst in een testomgeving, pas daarna live met echte data.
- Bewaking opzetten — overzichtelijke dashboards en meldingen zodat je weet dat alles draait.
Sla geen stap over. De meeste mislukte koppelingen falen niet op de techniek maar op onduidelijke afspraken vooraf of ontbrekende foutafhandeling.
De meeste mislukte koppelingen falen niet op techniek — ze falen op slechte voorbereiding en ontbrekend foutbeheer.
Wij bouwen koppelingen op maat met onder andere Exact Online, Mollie en Moneybird. Bekijk ook waarom je systemen zou willen koppelen voor de strategische achtergrond, of het artikel over kosten voor een eerlijke prijsindicatie.