Naar de inhoud
DataIntegratie.nl dataintegratie.nl

Wat is een API koppeling? Uitleg, soorten en kosten

Hand toont het woord API en je ziet een laptop. Over API Connecties

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

TypeHoe het werktFormaatWaar je het tegenkomt
RESTVaste endpoints per soort gegeven, met HTTP-methoden als GET en POSTMeestal JSONDe meeste webshops, SaaS-pakketten en moderne ERP-systemen
GraphQLEén endpoint, waarbij je in de vraag zelf aangeeft welke velden je terug wiltJSONShopify, Magento en steeds meer moderne platforms
SOAPStrikt protocol met berichten volgens een vast contract (WSDL)XMLOudere 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:

  1. Bouw: analyse, datamapping, ontwikkeling en testen.
  2. Platform of hosting: een licentie voor een integratieplatform, of serverkosten bij maatwerk in code.
  3. 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.

Veelgestelde vragen

Vragen over dit onderwerp

Wat als een systeem geen API heeft?

Dan zijn er meestal nog opties. Veel oudere systemen kunnen bestanden exporteren en importeren, bijvoorbeeld CSV of XML via een map of SFTP-server. Soms is er rechtstreeks toegang tot de database mogelijk, of biedt een externe partij een connector. Een integratieplatform kan zo'n bestand oppakken en de inhoud via een API doorzetten naar je andere systemen, zodat het toch een geautomatiseerde stroom wordt.

Kun je een API koppeling testen voordat hij live gaat?

Ja, en dat is ook verstandig. Veel leveranciers bieden een sandbox of testomgeving waarin je orders en producten kunt aanmaken zonder dat het gevolgen heeft voor je echte administratie. Is die er niet, dan test je met een beperkte set testrecords of een aparte testadministratie. Controleer niet alleen of data aankomt, maar ook wat er gebeurt bij fouten, lege velden en grote aantallen.

Mag ik persoonsgegevens via een API koppeling uitwisselen?

Ja, zolang je je aan de AVG houdt. Dat betekent onder meer dat je alleen gegevens uitwisselt die echt nodig zijn, de verbinding versleuteld is via HTTPS, toegang beperkt is tot de juiste rechten en je afspraken hebt vastgelegd met partijen die de data verwerken, zoals een verwerkersovereenkomst. Let ook op hoe lang logs met persoonsgegevens worden bewaard.

Wat is een API-versie en waarom is dat belangrijk?

Leveranciers passen hun API regelmatig aan. Om bestaande koppelingen niet te breken, brengen ze nieuwe versies uit en ondersteunen ze de oude nog een tijd. Na een aangekondigde periode wordt een oude versie uitgezet. Staat je koppeling dan nog op die versie, dan stopt hij met werken. Daarom hoort het bijhouden van versies bij het onderhoud van elke API koppeling.

Hoe snel is een API koppeling?

Een enkel API-verzoek duurt meestal minder dan een seconde. Hoe snel data in de praktijk aankomt, hangt af van de opzet. Met webhooks gaat een order vaak binnen enkele seconden door. Bij polling bepaalt het interval de snelheid, bijvoorbeeld elke vijf minuten. Bij grote aantallen records kunnen rate limits de doorlooptijd verlengen, waardoor een volledige synchronisatie langer duurt.

Wat is API-documentatie en waarom heb je die nodig?

De API-documentatie is de handleiding van de leverancier. Daarin staat welke endpoints er zijn, welke velden je kunt gebruiken, hoe authenticatie werkt en welke limieten gelden. Zonder goede documentatie wordt bouwen een kwestie van uitproberen. De kwaliteit ervan zegt ook veel over hoe makkelijk en betrouwbaar een koppeling met dat systeem te realiseren is.

Weet je niet waar je moet beginnen?

Vertel ons met welke systemen je werkt en waar het vastloopt. Wij voeren samen datascan uit en laten zien waar voor jou data integratie het meeste op kan leveren.