Wat een API precies is
API staat voor application programming interface: een vaste, gedocumenteerde manier waarop software met andere software kan praten, zonder dat daar een scherm of een mens tussen zit. Waar u als gebruiker inlogt, klikt en typt, stuurt een ander programma via de API een gestructureerd verzoek, bijvoorbeeld “geef mij alle bestellingen van vandaag”. Het krijgt dan een gestructureerd antwoord terug, in een vast formaat zoals JSON.
Een koppeling tussen twee systemen gebruikt precies dat: systeem A vraagt via zijn API gegevens op, of stuurt ze door. Systeem B verwerkt ze via zijn eigen API. Zonder API zou dat enkel kunnen door een mens de gegevens te laten overtypen, exact het werk dat een koppeling wegneemt.
Waarom het niet altijd lukt
Een API-koppeling veronderstelt dat beide systemen zo’n interface aanbieden, en dat is niet vanzelfsprekend. Drie situaties komen het vaakst terug.
Het systeem heeft gewoon geen API. Vooral oudere software, sterk aangepaste installaties, of zeer kleine, specifieke tools bieden er soms geen aan. De leverancier heeft er nooit werk van gemaakt, of het bestaat enkel als losstaand programma zonder enige externe toegang.
De API bestaat, maar is slecht gedocumenteerd of onstabiel. Sommige leveranciers bieden technisch wel een API aan, maar zonder duidelijke documentatie, of met een API die zonder aankondiging verandert. Dat maakt een koppeling niet onmogelijk, wel trager en kwetsbaarder om te bouwen.
De API bestaat, maar dekt niet wat nodig is. Soms is er wel een API, maar enkel voor een beperkt deel van de gegevens — bijvoorbeeld klanten wél, facturen niet. Dan lukt een deel van de koppeling wel via de API, en moet voor de rest een andere weg gezocht worden.
Wat de alternatieven zijn zonder API
Ontbreekt een API volledig, dan zijn er nog een paar wegen, elk met eigen nadelen.
Geautomatiseerde export- en importbestanden. Veel systemen zonder API kunnen wel handmatig een bestand exporteren (bijvoorbeeld CSV of Excel). Dat exportmoment is dan te automatiseren of op regelmatige basis in te lezen in het andere systeem. Het nadeel: minder realtime dan een echte API-koppeling, en gevoelig voor wijzigingen in het exportformaat.
Schermuitlezing. Als laatste redmiddel is het mogelijk om een programma de gebruikersinterface van een systeem zelf te laten bedienen, zoals een mens dat zou doen. Dat werkt, maar is het meest kwetsbare alternatief: een kleine wijziging aan het scherm van de leverancier kan de koppeling meteen breken.
Een tussenlaag of los bestand als brug. Soms is het praktischer om beide systemen niet rechtstreeks te verbinden. Een tussenstap werkt dan beter, bijvoorbeeld een gedeelde spreadsheet of database die beide kanten kunnen lezen en schrijven. Minder elegant dan een directe koppeling, maar vaak sneller te bouwen en makkelijker te doorzien.
Geen van deze alternatieven is even robuust als een echte API-koppeling. Ze zijn er voor de situaties waarin een API er simpelweg niet is, niet als eerste keuze.
Hoe u dat voor uw eigen systemen nagaat
Voor u ervan uitgaat dat een koppeling niet mogelijk is, loont het om zelf even te controleren of er toch een API bestaat. Leveranciers vermelden dat soms onder “ontwikkelaars”, “integraties” of “API-documentatie” op hun website, of via hun klantendienst. Vindt u niets, dan is dat het moment om samen te bekijken welk alternatief het meest zinvol is voor uw specifieke situatie.
Wat dat voor de kost betekent
Een koppeling via een goede, gedocumenteerde API is doorgaans het snelste en goedkoopste scenario. Een alternatief zoals exports of een tussenlaag vraagt meer uitzoekwerk en is kwetsbaarder voor onderhoud nadien — zie ook wie onderhoudt maatwerksoftware, en wat kost dat? Bij Kufu wordt dat verschil zichtbaar tijdens Twee dagen (€1.300, excl. btw): welk scenario van toepassing is, en wat dat concreet aan tijd vraagt om op te lossen.
Twijfelt u of uw eigen systemen een API hebben, of wat de beste weg is als dat niet zo is? Dat is een van de snelste dingen om samen te bekijken tijdens een gratis kennismaking van een half uur.