Wat is een API-koppeling?
API staat voor application programming interface. Een API beschrijft hoe software gegevens mag opvragen, toevoegen of wijzigen in een ander systeem. Een API-koppeling gebruikt die afspraken om gegevens automatisch te laten stromen.
Een voorbeeld. Een klant bestelt in je webshop. Via een koppeling komt de bestelling automatisch in je boekhoudpakket, wordt de voorraad bijgewerkt en krijgt het magazijn een opdracht. Niemand hoeft iets over te typen.
De API zelf is de technische toegang die een softwareleverancier biedt. De koppeling is wat eromheen gebouwd wordt: welke gegevens wanneer worden opgehaald, hoe ze worden omgezet, wat er gebeurt bij fouten en wie het in de gaten houdt.
Wanneer is een API-koppeling laten maken zinvol?
Een koppeling loont als gegevens nu met de hand tussen systemen gaan. Herkenbare situaties:
- Orders, klanten of facturen worden overgetypt van het ene systeem naar het andere.
- Leads uit je website of formulieren komen in een mailbox in plaats van in het CRM.
- Je team werkt in meerdere systemen en niemand weet welke gegevens actueel zijn.
- Rapportages worden handmatig samengesteld uit exports van verschillende pakketten.
- Je wilt klanten in een portaal gegevens laten zien die in een ander systeem staan.
Ook kleine koppelingen kunnen veel opleveren. Een terugkerende, duidelijke taak is al genoeg reden voor een kleine oplossing.
Voorbeelden van API-koppelingen
- Webshop en boekhouding: orders en betalingen automatisch als verkoopfactuur in je boekhoudpakket.
- Formulier en CRM: aanvragen van je website direct als lead of deal in het CRM, met een melding aan de juiste collega.
- CRM en mailing: contacten en segmenten automatisch bijgewerkt in je e-mailsoftware.
- Planning en klantportaal: afspraken uit je planningssoftware zichtbaar voor klanten in een portaal.
- Advertentieplatform en website: conversies van je website teruggekoppeld naar het advertentieplatform.
- Meerdere systemen en een dashboard: cijfers uit boekhouding, CRM en webshop samen in één overzicht.
Hoe werkt een API-koppeling?
Een koppeling werkt met verzoeken en antwoorden. Het ene systeem stuurt een verzoek naar de API van het andere, bijvoorbeeld "geef me de nieuwe orders van vandaag" of "maak deze klant aan". Het andere systeem stuurt een antwoord terug, meestal in een gestructureerd formaat als JSON.
Er zijn twee manieren waarop een koppeling weet dat er iets veranderd is:
- Ophalen op een vast moment. De koppeling vraagt bijvoorbeeld elke vijf minuten of er nieuwe gegevens zijn.
- Webhooks. Het andere systeem stuurt zelf een seintje zodra er iets gebeurt, zoals een nieuwe bestelling. Dat is sneller en efficiënter, maar niet elk systeem biedt het.
Daarnaast heeft elke koppeling authenticatie nodig: een manier om te bewijzen dat de koppeling toegang mag hebben. Vaak gebeurt dat met een API-sleutel of met OAuth, waarbij je in het andere systeem toestemming geeft en de koppeling een tijdelijk toegangsbewijs krijgt.
Wat een stabiele koppeling nodig heeft
Een koppeling die in een demo werkt, is nog geen koppeling die een jaar betrouwbaar draait. Deze onderdelen maken het verschil.
Een bron van waarheid
Leg per gegeven vast welk systeem leidend is. Is het adres van een klant leidend in het CRM of in de boekhouding? Zonder die afspraak overschrijven systemen elkaars gegevens.
Datamapping
Systemen gebruiken verschillende velden en formaten. Het ene systeem kent "voornaam" en "achternaam", het andere alleen "naam". Per veld leg je vast hoe het wordt omgezet, en wat er gebeurt als een veld ontbreekt.
Foutafhandeling
Systemen zijn soms tijdelijk onbereikbaar, toegangsbewijzen verlopen en API's hebben limieten op het aantal verzoeken. Een goede koppeling probeert het later opnieuw, zet mislukte gegevens in een wachtrij en waarschuwt iemand als het blijft misgaan. Zonder dat verdwijnen gegevens stilletjes.
Geen dubbele records
Als een verzoek twee keer wordt verstuurd, mag er niet twee keer een factuur of klant ontstaan. Dat vraagt bewuste keuzes in de opbouw van de koppeling.
Logging en monitoring
Leg vast wat de koppeling doet: welke gegevens zijn verwerkt, wat is mislukt en waarom. Zo kun je een vraag als "waarom staat deze order niet in de boekhouding?" in een paar minuten beantwoorden.
Beheer
API's veranderen. Leveranciers brengen nieuwe versies uit en zetten oude uit. Spreek af wie dat bijhoudt, wie waarschuwingen krijgt en wie een storing oplost.
Eén richting of twee richtingen?
Een belangrijke keuze in elke koppeling is de richting van de gegevens.
- Eenrichtingskoppeling. Gegevens gaan van systeem A naar systeem B, bijvoorbeeld orders van de webshop naar de boekhouding. Eenvoudiger te bouwen en te beheren.
- Tweerichtingskoppeling. Gegevens gaan heen en weer, bijvoorbeeld klantgegevens die in zowel het CRM als de boekhouding kunnen worden aangepast. Krachtiger, maar ook complexer: wat gebeurt er als iemand in beide systemen tegelijk iets wijzigt?
Begin waar het kan met één richting en één leidend systeem. Een tweerichtingskoppeling is alleen nodig als mensen echt in beide systemen gegevens moeten kunnen aanpassen.
Welke gegevens gaan mee, en wanneer?
Niet alles hoeft gekoppeld te worden. Leg per gegevensstroom vast:
| Vraag | Voorbeeld |
|---|---|
| Welke gegevens? | Klantnaam, adres, ordernummer, bedrag, btw |
| Welke richting? | Van webshop naar boekhouding |
| Wanneer? | Direct bij elke order, of één keer per uur |
| Wat bij een nieuw record? | Klant aanmaken als hij nog niet bestaat |
| Wat bij een wijziging? | Alleen bijwerken als de webshop leidend is |
| Wat bij een fout? | In de wachtrij, na drie pogingen een melding |
Dit overzicht is de kern van de blauwdruk. Het voorkomt dat er tijdens het bouwen discussie ontstaat over wat de koppeling eigenlijk moet doen.
Connector, n8n of maatwerk?
Er zijn grofweg drie routes naar een koppeling.
| Route | Past bij | Let op |
|---|---|---|
| Standaardconnector | Een veelgebruikte koppeling die het pakket zelf of een marktplaats aanbiedt | Werkt zoals de leverancier het bedacht heeft; weinig ruimte voor eigen regels |
| Automatiseringsplatform (n8n, Make, Zapier) | Eén of enkele gegevensstromen met eenvoudige logica | Kosten groeien met het aantal taken; foutafhandeling moet je zelf inrichten |
| Maatwerk koppeling | Eigen regels, grote hoeveelheden data, meerdere systemen, bedrijfskritische processen | Hogere startinvestering; beheer nodig |
Ik onderzoek eerst of een bestaand pakket, een koppeling of maatwerk het beste past. Bestaat er een goede standaardconnector, dan is dat vaak de beste start. Maatwerk loont als de connector net niet doet wat je nodig hebt, als de koppeling onderdeel is van een applicatie of portaal, of als je volledige controle wilt over foutafhandeling en logging.
Koppelingen en je bestaande pakketten
Veel mkb-bedrijven werken met bekende pakketten voor boekhouding, CRM, webshop en planning. Die bieden vaak een API, maar de mogelijkheden verschillen sterk. Let bij elk pakket op:
- Is er een openbare, gedocumenteerde API? Zo niet, dan is een koppeling lastig of onmogelijk.
- Welk abonnement is nodig? Sommige leveranciers bieden API-toegang alleen in duurdere pakketten.
- Zijn er limieten? Veel API's beperken het aantal verzoeken per minuut of per dag. Bij grote hoeveelheden data moet de koppeling daar rekening mee houden.
- Hoe gaat de leverancier om met wijzigingen? Krijg je op tijd bericht als een API verandert of wordt uitgezet?
- Bestaat er al een connector? Kijk eerst in de marktplaats van het pakket, voordat je iets laat bouwen.
Deze vragen beantwoord ik in de blauwdruk, zodat je vooraf weet wat mogelijk is en welke kosten er bij de leverancier zelf bij komen.
Beveiliging van een koppeling
Een koppeling heeft toegang tot je systemen en gegevens. Daarom let ik op:
- Minimale rechten. De koppeling krijgt alleen toegang tot de gegevens en acties die nodig zijn.
- Veilige opslag van sleutels. API-sleutels en toegangsbewijzen staan nooit in de code van een website of in een spreadsheet.
- Versleutelde verbindingen voor alle gegevens die over het internet gaan.
- Controle op binnenkomende gegevens, zeker bij webhooks die van buitenaf binnenkomen.
- Bekende risico's. De OWASP API Security Top 10 is een veelgebruikte lijst van de belangrijkste beveiligingsrisico's bij API's en een goed vertrekpunt om een koppeling op te toetsen.
Gaan er persoonsgegevens door de koppeling, sluit dan verwerkersovereenkomsten met de partijen die gegevens verwerken, en leg vast welke gegevens echt nodig zijn.
Wat kost een API-koppeling laten maken?
De kosten hangen af van het aantal systemen, de hoeveelheid gegevens, de complexiteit van de regels en de kwaliteit van de API's. Een systeem met een goede, gedocumenteerde API is veel sneller te koppelen dan een systeem zonder.
Een fictief rekenvoorbeeld om de opbouw te laten zien: een koppeling tussen een webformulier en een CRM, met datamapping, foutafhandeling, logging en testen, kost bijvoorbeeld 20 tot 40 uur. Bij een gemiddeld Nederlands uurtarief voor een medior ontwikkelaar van €85 tot €120 (Searchlab) komt dat uit op ongeveer €1.700 tot €4.800. Een koppeling tussen meerdere systemen met veel regels en grote hoeveelheden data kan een veelvoud daarvan kosten.
Daarnaast zijn er lopende kosten:
- Platformkosten, als de koppeling op een automatiseringsplatform draait. Searchlab noemt voor Zapier €20 tot €100 per maand, voor Make €9 tot €99 per maand en voor n8n in de cloud vanaf ongeveer €20 per maand.
- Hosting, als de koppeling als maatwerk op een eigen server draait.
- Beheer, voor monitoring, storingen en aanpassingen als een API verandert.
- Kosten van de API zelf, als een leverancier rekent voor gebruik van zijn API.
Bij mij volgen prijs en planning uit de blauwdruk, waarin de gegevensstroom precies is afgebakend.
Hoe lang duurt het om een koppeling te laten maken?
Een eenvoudige koppeling tussen twee systemen met goede API's kan binnen enkele weken live staan, inclusief testen. Wat de doorlooptijd vooral bepaalt:
- hoe snel je toegang krijgt tot de API's, bijvoorbeeld via een testomgeving of een ontwikkelaarsaccount bij de leverancier;
- hoe goed de API's gedocumenteerd zijn;
- hoeveel gegevens moeten worden opgeschoond voordat de koppeling live gaat;
- hoeveel uitzonderingen het proces kent.
Wat heb je nodig om te starten?
Voor een eerste gesprek is genoeg:
- welke systemen je gebruikt en welke versies of abonnementen;
- welke gegevens nu met de hand worden overgezet, en hoe vaak;
- wie in je team met de gegevens werkt;
- of je toegang hebt tot de beheeromgeving van de systemen, zodat we koppelrechten kunnen aanvragen.
Hoe ik een API-koppeling bouw
Ik wil vooraf duidelijk hebben wat we met een eerste versie bedoelen. Daarom werk ik in vier stappen.
- Procesgesprek. In ongeveer twintig minuten bespreken we welke systemen je gebruikt, welke gegevens nu met de hand worden overgezet en wie ermee werkt.
- Blauwdruk. Een betaalde, afgebakende uitwerking: welke systemen, welke gegevens, welke richting, welk systeem leidend is, wat er gebeurt bij fouten en hoe we testen. Daarbij controleer ik de API-documentatie van de betrokken systemen.
- Eerste versie. Ik bouw de koppeling voor de belangrijkste gegevensstroom en test met echte voorbeelddata, inclusief foutscenario's.
- Beheer en verbetering. Na de livegang houd ik de koppeling in de gaten en pas ik hem aan als een API verandert.
De techniek achter koppelingen, architectuur en beveiliging lees je ook in webapplicatie bouwen.
Uit eigen werk: Marketooo
Marketooo is een platform voor marketingprocessen dat ik in actieve ontwikkeling heb. Het werkt met Meta Ads, campagnes, creatives, OAuth en een pixelkoppeling. Wat ik daarin steeds scherp houd: maak verantwoordelijkheden zichtbaar voordat een systeem iets uitvoert. Bij een koppeling betekent dat: wie geeft toestemming, welk systeem is leidend, en wie ziet het als er iets misgaat?
Testen voor de livegang
Voordat een koppeling bedrijfskritisch wordt, test ik:
- met echte voorbeelddata, niet alleen met nette testgevallen;
- met ontbrekende velden, onverwachte waarden en dubbele verzoeken;
- wat er gebeurt als een systeem tijdelijk onbereikbaar is;
- of fouten bij de juiste persoon terechtkomen;
- of er een handmatige route is om een fout te herstellen.
Veelgemaakte fouten bij koppelingen
- Geen bron van waarheid. Systemen overschrijven elkaars gegevens.
- Alleen het gelukkige pad bouwen. De koppeling werkt tot de eerste storing, en daarna verdwijnen gegevens.
- Sleutels op de verkeerde plek. API-sleutels in code of spreadsheets zijn een veiligheidsrisico.
- Geen eigenaar na livegang. Niemand merkt dat de koppeling al weken stilligt.
- Testdata en live data door elkaar. Testorders die in de echte boekhouding belanden.
Veelgestelde vragen
Wat kost het om een API-koppeling te laten maken?
Een eenvoudige koppeling tussen twee systemen met goede API's kost enkele tientallen uren werk, bij Nederlandse uurtarieven van ongeveer €85 tot €120 voor een medior ontwikkelaar. Koppelingen tussen meerdere systemen met veel regels kosten meer. Daarnaast komen platformkosten, hosting en beheer.
Kan ik zelf een API-koppeling maken zonder programmeur?
Voor eenvoudige gegevensstromen tussen populaire pakketten kan dat met platforms als Zapier, Make of n8n. Voor bedrijfskritische koppelingen blijft technische kennis nodig voor beveiliging, foutafhandeling, logging en beheer.
Wat als een systeem geen API heeft?
Dan zijn er alternatieven, zoals een regelmatige export en import van bestanden, of een softwarerobot die handelingen in het scherm nabootst. Die oplossingen zijn kwetsbaarder dan een API-koppeling en vragen meer controle.
Bronnen
- Searchlab, "Wat kost een app laten maken?": uurtarieven van ontwikkelaars in Nederland.
- Searchlab, "Wat kost een AI agent laten bouwen?": platformkosten van Zapier, Make en n8n.
- OWASP API Security Top 10: overzicht van de belangrijkste beveiligingsrisico's bij API's.
Alle bedragen zijn marktindicaties uit deze bronnen en geen prijsopgave.
