Een API koppeling is een automatische verbinding tussen twee softwaresystemen die via hun API (Application Programming Interface) gegevens met elkaar uitwisselen. Het ene systeem stuurt een gestructureerd verzoek, het andere systeem antwoordt met data of voert een actie uit. Zo komt een order uit je webshop zonder overtypen in je ERP terecht, en gaat de voorraad uit je ERP automatisch terug naar de webshop.
Hieronder lees je wat een API precies is, hoe een API koppeling technisch werkt, welke soorten API’s er zijn en waar je op moet letten als je er een laat bouwen.
Wat is een API?
Een API is de officiële ingang van een softwarepakket voor andere software. Een medewerker logt in via een scherm, een ander systeem klopt aan via de API. De leverancier bepaalt welke gegevens je via die ingang kunt opvragen, aanmaken, wijzigen of verwijderen, en in welk formaat.
Een veelgebruikte vergelijking is die van een ober in een restaurant. Jij bestelt niet zelf in de keuken, maar geeft je bestelling aan de ober. Die brengt hem naar de keuken en komt terug met je gerecht. De API is die ober: hij neemt verzoeken aan volgens vaste regels en levert het resultaat af, zonder dat je hoeft te weten hoe de keuken van binnen werkt.
Bijna alle moderne systemen hebben een API. Denk aan Shopify en Magento, ERP-pakketten zoals Exact Online en Business Central, PIM-systemen zoals Akeneo, CRM-systemen en de grote marketplaces.
Hoe werkt een API koppeling?
Een API koppeling bestaat uit een reeks verzoeken (requests) en antwoorden (responses) tussen systemen. Bij de meeste moderne API’s gaat dat via internet, over HTTPS, net als een webbrowser. Een verzoek bevat een paar vaste onderdelen:
- Endpoint: het adres van de gegevens, bijvoorbeeld het adres voor orders of voor producten.
- Methode: wat je wilt doen. GET om op te halen, POST om iets aan te maken, PUT of PATCH om te wijzigen en DELETE om te verwijderen.
- Authenticatie: een sleutel of token waarmee het systeem weet wie je bent en wat je mag.
- Data: bij aanmaken of wijzigen stuur je de gegevens mee, meestal in JSON en bij oudere systemen vaak in XML.
Het antwoord bevat een statuscode en eventueel data. Code 200 betekent dat het gelukt is, 401 dat je niet bent geautoriseerd, 404 dat iets niet bestaat en 429 dat je te veel verzoeken hebt gestuurd.
Een voorbeeld uit de praktijk
Een klant plaatst een order in je Shopify winkel. De koppeling haalt de order op, zet de velden om naar de structuur van je ERP en maakt daar een verkooporder aan. Het ERP geeft een ordernummer terug, dat de koppeling weer bij de order in Shopify opslaat. Zodra het WMS de order heeft verzonden, gaat de track-and-trace code via dezelfde route terug naar Shopify, zodat de klant een verzendmail krijgt. Dat hele proces duurt seconden tot minuten, zonder dat iemand er iets voor hoeft te doen. Meer voorbeelden vind je bij de ERP koppeling en de Shopify koppeling.
Soorten API’s: REST, GraphQL en SOAP
| Type | Hoe het werkt | Formaat | Waar je het tegenkomt |
|---|---|---|---|
| REST | Vaste endpoints per soort gegeven, met HTTP-methoden als GET en POST | Meestal JSON | De meeste webshops, SaaS-pakketten en moderne ERP-systemen |
| GraphQL | Eén endpoint, waarbij je in de vraag zelf aangeeft welke velden je terug wilt | JSON | Shopify, Magento en steeds meer moderne platforms |
| SOAP | Strikt protocol met berichten volgens een vast contract (WSDL) | XML | Oudere ERP-systemen, overheid, financiële en logistieke systemen |
REST is de meest gebruikte vorm: eenvoudig, goed gedocumenteerd en breed ondersteund. GraphQL is handig als je veel verschillende gegevens in één keer wilt ophalen, omdat je precies vraagt wat je nodig hebt en niet meer. SOAP is ouder en zwaarder, maar nog steeds gangbaar bij systemen waar een strak contract en uitgebreide foutmeldingen belangrijk zijn. Een goede koppeling gebruikt wat het systeem het beste ondersteunt, en soms is dat per onderdeel verschillend.
Webhooks: niet vragen, maar seintje krijgen
Bij een gewone API koppeling vraagt jouw systeem steeds opnieuw of er iets veranderd is. Dat heet polling. Een webhook draait dat om: het bronsysteem stuurt zelf een bericht naar een ingesteld adres zodra er iets gebeurt, bijvoorbeeld als er een nieuwe order is of een product is gewijzigd.
Webhooks maken koppelingen sneller en besparen verzoeken. Toch zijn ze meestal geen volledige vervanging van polling. Een webhook kan een keer niet aankomen, bijvoorbeeld bij een storing. Een robuuste koppeling gebruikt daarom webhooks als snelle trigger en controleert daarnaast periodiek of er niets is gemist.
Authenticatie en beveiliging
Een API geeft toegang tot bedrijfsgevoelige data, dus beveiliging is geen bijzaak. De meest gebruikte methoden zijn:
- API-sleutel: een lange unieke code die bij elk verzoek wordt meegestuurd. Eenvoudig, maar de sleutel moet goed worden bewaard.
- OAuth 2.0: een standaard waarbij de koppeling een tijdelijk toegangstoken krijgt, vaak na toestemming van een gebruiker. Het token verloopt en wordt automatisch vernieuwd.
- Basic authentication: gebruikersnaam en wachtwoord, alleen veilig in combinatie met HTTPS en bij voorkeur met een apart integratie-account.
Goede praktijk is om de koppeling alleen de rechten te geven die hij echt nodig heeft, sleutels nooit in e-mails of documenten te zetten en te loggen wie wanneer welke data heeft opgevraagd.
Rate limits: de snelheidsgrens van een API
Vrijwel elke API heeft een rate limit: een maximum aantal verzoeken per seconde, minuut of dag. Daarmee beschermt de leverancier zijn servers. Ga je erover, dan krijg je een foutcode 429 en moet je even wachten.
In de praktijk merk je dat vooral bij grote hoeveelheden data, zoals het bijwerken van tienduizenden prijzen of een eerste import van je hele productcatalogus. Een goed gebouwde koppeling houdt hier rekening mee door verzoeken te bundelen, alleen gewijzigde data te versturen, te wachten als de limiet bereikt is en het daarna automatisch opnieuw te proberen.
API koppeling vs bestandsuitwisseling en EDI
Niet elke koppeling loopt via een API. Veel bedrijven wisselen nog data uit via CSV- of XML-bestanden op een FTP-server, of via EDI met handelspartners.
- Bestandsuitwisseling werkt meestal in batches, bijvoorbeeld elk uur of elke nacht. Het is eenvoudig op te zetten, maar data loopt achter en fouten zie je vaak pas laat.
- EDI is een gestandaardiseerde manier om zakelijke documenten zoals orders, pakbonnen en facturen uit te wisselen tussen bedrijven. Het is breed gangbaar in retail, groothandel en logistiek. Lees meer in wat is EDI.
- Een API koppeling is directer: data kan per gebeurtenis worden verstuurd en je krijgt meteen een antwoord of het gelukt is.
In veel landschappen bestaan ze naast elkaar. Je webshop koppel je via een API, een grote retailer eist EDI en een leverancier stuurt een prijsbestand per e-mail. Een integratieplatform kan al die vormen verbinden, zodat je intern toch met één consistente datastroom werkt. Zie ook wat is een integratieplatform.
Voordelen en risico’s van API koppelingen
Voordelen
- Geen handmatig overtypen, dus minder fouten en minder werk.
- Actuele data: voorraad, prijzen en orderstatussen kloppen in alle systemen.
- Schaalbaar: tien of tienduizend orders per dag maakt voor de koppeling weinig uit.
- Directe terugkoppeling: je weet meteen of een bericht is aangekomen.
Risico’s
- Wijzigingen bij de leverancier. API’s krijgen nieuwe versies en oude versies worden na verloop van tijd uitgefaseerd. Dat vraagt onderhoud.
- Stille fouten. Zonder monitoring kan een koppeling dagen haperen zonder dat iemand het merkt.
- Afhankelijkheid van beschikbaarheid. Is het andere systeem offline, dan moet de koppeling berichten kunnen vasthouden en later opnieuw versturen.
- Beveiliging. Slecht beheerde sleutels of te ruime rechten zijn een risico voor je data.
Wat kost een API koppeling?
De kosten hangen vooral af van het aantal systemen, het aantal datastromen, de complexiteit van de mapping en de kwaliteit van de API’s aan beide kanten. Een koppeling die alleen orders van een webshop naar een ERP stuurt, is een stuk eenvoudiger dan een koppeling met productdata in meerdere talen, staffelprijzen en meerdere marketplaces.
Reken met drie soorten kosten:
- Bouw: analyse, datamapping, ontwikkeling en testen.
- Platform of hosting: een licentie voor een integratieplatform, of serverkosten bij maatwerk in code.
- Beheer en onderhoud: monitoring, het oplossen van fouten en het bijwerken bij nieuwe API-versies.
Maatwerk in code lijkt vaak goedkoper bij de bouw, maar onderhoud en kennisoverdracht worden duurder naarmate je meer koppelingen hebt. Op een integratieplatform zijn logging, retries en monitoring standaard aanwezig, wat het beheer voorspelbaarder maakt.
Een API koppeling laten bouwen
Wil je weten welke koppelingen in jouw situatie het meeste opleveren? DataIntegratie.nl bouwt API koppelingen bij voorkeur op het integratieplatform Alumio, met mapping, validatie, foutafhandeling met retries, monitoring, logging en documentatie in elke koppeling. Bekijk de vaste pakketten op de pagina tarieven, of plan een gratis datascan van ongeveer 45 minuten.