Als je data gaat verzamelen om te gebruiken in rapportages en dashboard, zul je regelmatig de term API zijn tegen gekomen. ‘Voor het ontsluiten van data uit onze applicatie kun je gebruik maken van onze API.’ Wat een API precies is en wat je ermee kunt staat er vaak niet bij, wel dat het ‘een gemakkelijke’ manier is om de data te ontsluiten. In dit blog proberen we in het kort uit te leggen wat een API is en wat je ermee kunt.
Wat is een API?
Mogelijk heb je al eens via Google gezocht om te achterhalen waar de term API voor staat. Op Wikipedia kom je bijvoorbeeld de volgende beschrijving tegen:
‘Een application programming interface (API) is een verzameling definities op basis waarvan een computerprogramma kan communiceren met een ander programma of onderdeel.’
Een zeer kloppende definitie maar waarschijnlijk zei het je nog niet zoveel. Want wat bedoelen ze met een verzameling definities? En wat betekent communiceren met een ander programma of onderdeel?
Om de werking van een API te beschrijven denk ik altijd aan de Mc Drive op een paar honderd meter van ons huis. Stel je voor dat je deze Mc Drive in rijdt om eten te bestellen. Jij bent in dit voorbeeld de cliƫnt en stopt bij de intercom om te bestellen (request). De menukaart van de Mc Donalds bevat hierbij de mogelijke keuzes (of te wel de definities van mogelijke API requests). De bestelling wordt in ontvangst genomen door de medewerker van de Mc Donalds (REST API). Deze medewerker zorgt dat de door jou bestelde maaltijd wordt bereid. Uiteindelijk rijd je zelf door naar het ontvangst raampje en ontvangt daar de bestelde maaltijd (Response).
Dit is precies wat er ook gebeurd als je een vraag/request (bestelling) stelt bij een API die voldoet aan de definitie (menu) van de API, je krijgt een antwoord/response (de maaltijd).
Wat kun je met een API?
Allemaal leuk natuurlijk dat je nu weet dat een API vergelijkbaar werkt als een Mc Drive, maar wat kun je ermee? Het korte antwoord? Van alles! Een API zorgt er namelijk dat de communicatie tussen verschillende software programma’s makkelijker wordt. Het mooie hierbij is dat gebruiker van de API, gebruik kan maken van de API zonder dat daarvoor uitgebreide kennis nodig is van de onderliggende programmatuur.
Als data specialist is dit een groot voordeel want je wilt data uit verschillende databronnen op een makkelijke manier kunnen ophalen zonder dat je de hele bronapplicatie en zijn werking hoeft te weten. Met een API kan dat. Je verbindt vanuit je BI tool of Datawarehouse met de gewenste API en geeft via de ‘bestel intercom’ aan welke data je wilt hebben. De API zal vervolgens de data teruggeven zodat je deze kunt gebruiken.
Voorbeelden van het gebruik van een API
Voorbeelden van het gebruik van API’s zijn er legio:
- Denk bijvoorbeeld aan een online boekingssysteem voor een overnachting. Via dit boekingssysteem ga je op zoek naar de beschikbare hotelkamers. Hiervoor haalt de website gegevens op van de verschillende aanbieders en toont deze in de zoekresultaten. Het mooie hierbij is dat dit, bij een goede boekingswebsite op al je verschillende systemen (telefoon, tablet, laptop) werkt.
- Zelf gebruik ik regelmatig een Google Chromecast om films op onze televisie te tonen, ook dan maak je gebruik van een API. Deze API ondersteunt de communicatie tussen het apparaat waarop de te kijken media staat en de televisie.
- Bijna alle open data bronnen worden via een API ontsloten. Denk bijvoorbeeld aan het Statline open dataportaal van het CBS. Een rijke bron die dankzij de uitgebreide beschrijvingen eenvoudig te gebruiken is.
Met API’s kun je dus erg veel verschillende dingen. Het mooie hierbij is, jij beslist wat je van de menukaart bestelt!
Bronnen
https://nl.wikipedia.org/wiki/Application_programming_interface
https://www.cbs.nl/nl-nl/onze-diensten/open-data