API-koppelingen uitgelegd: zo praten systemen met elkaar
API's laten systemen automatisch met elkaar communiceren. Wat is het precies, hoe werkt het en wanneer kies je voor een API versus een platform als Zapier of Make?
Elke keer dat jij in één systeem iets aanpast en dat automatisch zichtbaar is in een ander systeem, is er een API-koppeling actief. Een gewonnen deal in HubSpot die direct als concept-factuur verschijnt in Exact Online. Een nieuwe klant in het CRM die automatisch wordt toegevoegd aan de e-mailmarketinglijst. Een Mollie-betaling die de orderstatus in de webshop bijwerkt.
Dat zijn allemaal API-koppelingen. En elke dag dat ze niet bestaan, typt iemand in jouw organisatie dezelfde informatie handmatig over van het ene systeem naar het andere.
Wat een API concreet is
API staat voor Application Programming Interface. Het is de interface waarvia softwaresystemen met elkaar communiceren. Vergelijk het met een stopcontact: het stopcontact heeft een gestandaardiseerde interface (twee of drie pinnen op vaste posities). Elk apparaat dat die interface kent, kan ermee verbinding maken. Een API is de digitale versie van dat stopcontact.
Een API heeft eindpunten, vergelijkbaar met specifieke stopcontacten voor specifieke doeleinden. Eén eindpunt om klanten op te halen (/api/klanten), één om een nieuwe klant aan te maken (/api/klanten/nieuw), één om een klant bij te werken (/api/klanten/123). Elk eindpunt accepteert verzoeken en stuurt antwoorden terug in een gestandaardiseerd formaat (JSON of XML).
De twee meest voorkomende API-typen
REST API (Representational State Transfer) is verreweg het meest voorkomende type. Het gebruikt standaard HTTP-verzoeken die je ook kent van gewoon surfen:
| HTTP-methode | Wat het doet | Voorbeeld |
|---|---|---|
| GET | Data ophalen | Haal klant 123 op |
| POST | Nieuw record aanmaken | Maak nieuwe klant aan |
| PUT | Bestaand record volledig vervangen | Vervang klantgegevens 123 |
| PATCH | Bestaand record gedeeltelijk bijwerken | Wijzig alleen het adres van klant 123 |
| DELETE | Record verwijderen | Verwijder klant 123 |
Webhook is de "omgekeerde API". In plaats van dat jouw systeem aan het andere systeem vraagt wat er is veranderd (polling), stuurt het andere systeem automatisch een bericht zodra er iets verandert. Als een betaling binnenkomt in Mollie, stuurt Mollie direct een webhook naar jouw webshop: "Betaling X is geslaagd." Jouw webshop verwerkt die melding en werkt de orderstatus bij.
Webhooks zijn efficiënter dan polling (steeds opnieuw vragen "is er al iets veranderd?") maar vereisen dat jouw systeem een openbaar bereikbaar URL-endpoint heeft om meldingen te ontvangen.
API vs integratieplatform: wanneer kies je wat?
Dit is de praktische vraag voor het MKB. Zelf een API-koppeling bouwen of een platform als Zapier, Make of Power Automate gebruiken?
| Criterium | Zelf API-koppeling | Integratieplatform (Zapier/Make) |
|---|---|---|
| Technische kennis vereist | Ontwikkelaar nodig | Geen code nodig |
| Eenmalige opzetkosten | 500 tot 5.000 euro | 0 tot 2 uur configuratie |
| Doorlopende licentiekosten | Serverkosten (10-50 euro/maand) | 9 tot 100 euro/maand |
| Betrouwbaarheid | Hoog (direct systeem-tot-systeem) | Hoog (afhankelijk van platform) |
| Complexe logica mogelijk | Ja | Beperkt |
| Snelheid van implementatie | Weken | Uren tot dagen |
| Onderhoud bij API-updates | Intern of extern | Platform zorgt voor updates |
| Geschikt voor | Hoog volume, complexe logica | Standaard koppelingen |
Voor de meeste MKB-koppelingen is een integratieplatform de betere keuze: sneller, goedkoper, geen technische kennis vereist. Lees de vergelijking van Zapier vs Make voor details.
Een directe API-koppeling is beter als: je meer dan 100.000 API-aanroepen per maand verwacht (dan worden integratieplatformen duur), de logica te complex is voor een visuele workflow-builder, of de vereisten voor foutafhandeling en betrouwbaarheid uiterst hoog zijn.
Authenticatie: hoe API's weten dat je bent wie je zegt te zijn
Elke API is beveiligd. Je kunt niet zomaar data ophalen bij een systeem zonder te bewijzen dat je recht hebt op die data. De drie meest voorkomende authenticatiemethoden:
API-sleutel (API Key): Een unieke code die je bij de aanvraag meestuurt. Simpel maar minder veilig als de sleutel uitlekt. Sla API-sleutels nooit op in code die je deelt of in openbare repositories. Gebruik per koppeling een aparte sleutel zodat je individuele koppelingen kunt deactiveren zonder andere koppelingen te breken.
OAuth 2.0: Een standaard waarbij een gebruiker eenmalig toestemming geeft aan jouw applicatie om namens hem te handelen. Dit is de methode achter "Log in met Google" en "Verbind met Salesforce". Veiliger dan een API-sleutel omdat de gebruiker de toegang op elk moment kan intrekken.
Basic Authentication: Gebruikersnaam en wachtwoord, base64-gecodeerd meegestuurd bij elk verzoek. Verouderd en minder veilig. Wordt door moderne API's nauwelijks nog gebruikt.
Foutafhandeling: wat er mis kan gaan
API's geven foutmeldingen terug via HTTP-statuscodes. De meest voorkomende die je tegenkomt:
| Code | Betekenis | Meest voorkomende oorzaak |
|---|---|---|
| 200 | Succes | Alles werkt |
| 201 | Aangemaakt | POST-verzoek geslaagd |
| 400 | Foutief verzoek | Verplicht veld ontbreekt in de data |
| 401 | Niet geauthenticeerd | API-sleutel ontbreekt of verlopen |
| 403 | Verboden | Je hebt geen rechten voor dit eindpunt |
| 404 | Niet gevonden | Het record of eindpunt bestaat niet |
| 429 | Te veel verzoeken | Rate limit overschreden |
| 500 | Serverfout | Probleem aan de kant van de API-aanbieder |
Zorg dat je koppeling de foutmeldingen afhandelt en logt. Een stille fout die niemand merkt, is gevaarlijker dan een harde fout die direct zichtbaar is.
Rate limits: het plafondbegrip dat elk bedrijf moet kennen
Bijna elke API heeft een rate limit: een maximum aantal verzoeken per tijdseenheid. Salesforce staat standaard 1.000 API-aanroepen per dag toe per licentie. HubSpot staat 100 aanroepen per 10 seconden toe. Als je de rate limit overschrijdt, blokkeer de API de verbinding tijdelijk en krijg je een 429-foutcode terug.
Voor koppelingen met hoge volumes is dit een kritische factor in het ontwerp. Batchverwerking (meerdere records in één verzoek) en caching (data opslaan zodat je minder hoeft op te vragen) zijn de twee meest voorkomende oplossingen.
Praktijkscenario: CRM koppelen aan boekhouding
Het meest gevraagde integratieproject in het MKB: een gewonnen deal in het CRM moet automatisch leiden tot een concept-factuur in het boekhoudpakket. Via de CRM-boekhoudkoppeling zijn er twee routes:
Via integratieplatform (aanbevolen voor de meeste MKB-bedrijven): Trigger in Make of Zapier: "Als deal in HubSpot wordt gemarkeerd als gewonnen." Actie: "Maak concept-factuur aan in Exact Online met klantgegevens en bedrag uit de deal." Configuratietijd: 2 tot 4 uur. Kosten: 15 tot 50 euro/maand voor het integratieplatform.
Via directe API-koppeling: Een ontwikkelaar bouwt een connector die direct de HubSpot API en de Exact Online API aanspreekt. Eenmalige bouwkosten: 2.000 tot 8.000 euro. Daarna lagere doorlopende kosten. Zinvol bij meer dan 500 deals per maand.
Documentatie: de kwaliteitstest voor elke API
De kwaliteit van een API is voor een groot deel zichtbaar in de documentatie. Goede API-documentatie bevat: een overzicht van alle eindpunten, voorbeeldverzoeken en voorbeeldantwoorden, uitleg van alle vereiste en optionele parameters, authenticatie-instructies, rate limits en foutcodes.
Controleer altijd de documentatie van een systeem voor je besluit of de koppeling haalbaar is. Slechte of verouderde documentatie is een voorteken van moeizame implementatie en instabiele integratie.
Veelgestelde vragen
Moet ik een ontwikkelaar inhuren voor een API-koppeling?
Niet voor standaardkoppelingen via Make, Zapier of Power Automate. Wel voor directe API-koppelingen met complexe logica, hoge volumes of maatwerkvereisten. Zie ook de integratiestrategie voor het MKB.
Zijn API's altijd beschikbaar of gaan ze ook offline?
API's zijn afhankelijk van de uptime van de aanbieder. Grote aanbieders als Salesforce en Microsoft garanderen 99,9 procent uptime via SLA's, wat neerkomt op maximaal 8,7 uur downtime per jaar. Ontwerp kritieke koppelingen met een retry-mechanisme voor tijdelijke fouten.
Wie is verantwoordelijk voor de AVG bij een API-koppeling?
Als je via een API persoonsgegevens uitwisselt met een externe partij, gelden de AVG-vereisten. Controleer of er een verwerkersovereenkomst is met de API-aanbieder als die persoonsgegevens namens jou verwerkt.
API-beveiliging: wat er mis kan gaan
API's zijn een geliefd aanvalsdoelwit. De OWASP API Security Top 10 (2023) beschrijft de meest voorkomende kwetsbaarheden. De drie meest relevante voor het MKB:
API1 - Gebroken objectautorisatie: Een API geeft toegang tot records van andere gebruikers als het ID in de URL wordt aangepast. Aanvaller vraagt /api/orders/1001 op in plaats van /api/orders/1000 en ziet de bestellingen van een andere klant. Oplossing: controleer altijd of de ingelogde gebruiker rechten heeft op het specifieke object.
API2 - Gebroken authenticatie: API-sleutels hardcoded in de code die is geüpload naar een publieke GitHub-repository. GitHub scant actief op API-sleutels en waarschuwt aanbieders. In 2022 werden via GitHub meer dan 5 miljoen API-sleutels blootgesteld. Oplossing: bewaar API-sleutels in omgevingsvariabelen, nooit in de code.
API4 - Onbeperkt resource gebruik: Geen rate limiting op een API-eindpunt. Een aanvaller stuur 10.000 verzoeken per seconde, waardoor de service crasht (denial of service). Oplossing: implementeer rate limiting op elk eindpunt.
Relevante verwerkersovereenkomst aandachtspunt: als een API persoonsgegevens verwerkt, documenteer dan welke API-eindpunten persoonsgegevens bevatten in het AVG-register van verwerkingsactiviteiten.
*Zie ook: Zapier vs Make vergelijking, Integratiestrategie opstellen, CRM koppelen aan boekhouding, Middleware uitgelegd en Verwerkersovereenkomst voor API-aanbieders.*