API API API!

Hoewel een API niks nieuws onder de zon is, wordt het woord 'API' tegenwoordig veelvuldig in de mond genomen en niet alleen door nerds. Maar wat houdt een API nu eigenlijk in, en wanneer heb je er eentje nodig? Een API is eigenlijk niets meer dan een representatie van, het kunnen muteren en het kunnen verwijderen van data uit je systeem (vaak database), eventueel aangevuld met een verzameling van data van derde partijen.


Key factors van een goede API zijn:
– Consistentie
– Intuïtiviteit / logica
– Lichtgewichtheid
– Hoge beschikbaarheid
– Documentatie

Middels een API kun je de data op een universele manier beschikbaar stellen, waarbij je als klant de controle hebt over je data, toegang en afhandeling. Wat je tegenwoordig vaak ziet is dat er vanuit de klant een wens is voor een app of mobiele site naast hun bestaande website of zelfs CRM. Wanneer in je site bepaalde functionaliteiten specifiek afgehandeld worden, bijvoorbeeld het afsluiten van een abonnement waarbij een betaling moet plaatsvinden en een mail verstuurd wordt, wil je natuurlijk graag dat dit in je andere clients op eenzelfde manier gebeurt. Wat vaak gedaan wordt is dat elke client een eigen implementatie heeft van de functionaliteit. Wat inhoudt dat wanneer je iets veranderd wilt hebben dit op meerdere plaatsen aangepast dient te worden en vaak door verschillende partijen. En dit alles in de hoop dat het overal op de juiste manier is doorgevoerd.


Lang leve de API, deze stelt je namelijk in staat dit alles op 1 plaats te regelen. Elke client, website, app of CRM, moet in dat geval gebruik maken van de API. De API handelt dan alle validatie en logica af, welke door de client verwerkt wordt. Voordeel is dat de makers van de betreffende client zich kunnen concentreren op het gebied waar ze goed in zijn en zich niet druk hoeven te maken over hoe de data opgeslagen en verwerkt moet worden. Als klant heb je alle data op één plaats staan en hoef je niet op verschillende systemen in te loggen om een totaalbeeld te krijgen.

Natuurlijk is het niet zo simpel als het lijkt, want over een goede API zul je goed na moeten denken. Hoewel een API voor zekerheid en consistentie zorgt, maakt het je dataverwerking ook weer wat minder flexibel. Immers wanneer je een verandering in je logica wil aanbrengen, ontkom je er niet aan rekening te houden dat het backwards compatible blijft of dat er een verschillende logica flows ondersteunt blijven. Switchen naar een nieuwe versie lijkt voor de hand te liggen maar dit wil je zo lang mogelijk uitstellen en enkel doorvoeren bij een rigoureuze verandering. Aangezien je niet kan verwachten dat alle clients binnen afzienbare tijd overgaan op de nieuwe versie, zul je in dat geval meerdere versies moeten onderhouden wat niet echt wenselijk is.

Om terug te komen op de key factors, maakt het succes van je API dat het intuïtief te implementeren is door derde partijen, hoge beschikbaarheid heeft en duidelijke documentatie heeft. Wanneer je gaat samenwerken met meerdere partijen is het belangrijk dat iedereen content blijft, wanneer je dan goed over de opzet hebt nagedacht en deze goed blijkt te werken brengt dit de samenwerking enkel ten goede en kun je meer tijd stoppen in het functionele aspect van je product. Lichtgewichtheid geeft veelal de gebruiker van je product een betere user experience, alles draait om snelheid en functionaliteit tegenwoordig. Om dit te waarborgen is het belangrijk goed na te denken over welke data benodigd is per API request voor algemeen nut (dus niet implementatie specifiek). Het wordt dan een spel tussen aantal requests en gewenste interactie, wanneer je dit duidelijk afstemt heb je zo een topproduct te pakken.

Meer weten?

Evert Harmeling