API: de motor onder de kap

Hoe komt data van hier naar daar? En hoe worden verschillende apparaten en applicaties met elkaar verbonden? Hier zorgen APIs voor. API staat voor Application Programming Interface en het zorgt er simpel gezegd voor dat er informatie wordt uitgewisseld tussen verschillende systemen. Nu snap je misschien nog steeds niet precies wat een API dan doet. Begrijpelijk. We leggen het je uit aan de hand van voorbeelden.

Uit eten of een vlucht boeken: de API helpt

Zie een API als een ober in een restaurant. Je zit aan tafel met de menukaart voor je neus. De keuken is de plaats waar jouw gekozen gerecht straks wordt bereid. Maar hoe komt de informatie van jou bij de keuken? En hoe komt het gerecht van de keuken bij jou? Hier zorgt de ober voor. De ober is in dit geval de API. Hij neemt je bestelling op, geeft dit door aan de keuken en serveert het gerecht vervolgens bij jou.

Hopelijk heb je nu al een beeld, maar we nemen je graag mee in nog een voorbeeld. Je hebt zin in de vakantie en hebt je bestemming voor dit jaar al gekozen: het wordt Tenerife. De vlucht naar Tenerife wil je alvast boeken. Je gaat naar CheapTickets.nl en kiest vervolgens je bestemming, de vertrek- en retourdatum en de klasse waarin je wilt vliegen. Klik op ‘Zoek je vlucht’ en de database zoekt tussen alle bestemmingen, vertrekdata en klassen naar de geschikte retourvlucht van Tenerife naar Amsterdam op jouw gekozen data. Vervolgens krijg je verschillende vluchten van verschillende maatschappijen aangeboden. Hoe kan dat toch? Daar zorgt nu de API voor.

De API binnen Loket.nl

Ook binnen Loket.nl zijn er APIs beschikbaar. En waar zorgt zo’n API dan voor? Een API staat als het ware tussen de voorkant (website) en de database in. Net als de ober tussen de gasten en de keuken in staat. Binnen Loket.nl zijn we hard bezig om de API te vernieuwen en een toekomstbestendige versie uit te rollen. “Je kunt straks heel efficiënt gegevens ophalen die voor jou relevant zijn. Heb je alleen het adres nodig van de werknemer? Dan dien je dat verzoek in en krijg je alleen het adres en niet allemaal overbodige informatie die je er in de huidige situatie bij krijgt, zoals BSN nummer, geboortedatum, etc. Hiermee kunnen we veel gerichter en flexibeler gaan inspelen op wensen van de klant”, vertelt Steven van Dam, .NET Developer bij Loket.nl. Dit alles gebeurt op de achtergrond, aan de werking van Loket.nl zal je niks gaan merken. Dit is net zoals bij het boeken van een vlucht op CheapTickets.nl, de zoektocht naar de vlucht gebeurt op de achtergrond. Jij als bezoeker van CheapTickets.nl merkt hier niets van.

De API gaat er uiteindelijk voor zorgen dat je ook op een andere manier met Loket.nl kan gaan werken. Als je een koppeling met de API maakt, kan je gegevens automatisch tussen systemen laten uitwisselen. Zo wordt het mogelijk om een eigen portaal/voorkant te realiseren die dan bijvoorbeeld alleen loonstroken en jaaropgaven toont. “De API blijft dan hetzelfde, maar je zet er een andere voorkant op. Dat betekent dat de website er anders uit zal zien, maar dat dezelfde informatie beschikbaar is uit de database”, vertelt Maarten van Heijst, Functioneel Applicatiebeheerder bij Loket.nl. Dat klinkt natuurlijk nog steeds best technisch. We pakken weer even CheapTickets.nl erbij. Als je de website CheapTickets.nl vervangt door Vliegtickets.nl, blijft het aanbod aan informatie, in dit geval vluchten, nog steeds hetzelfde in de database. Alleen ziet de website er anders uit, het wordt anders gepresenteerd. Daarnaast is het straks bijvoorbeeld mogelijk om nog eenvoudiger en efficiënter gegevens via de API naar Loket.nl te sturen, zoals gewerkte uren via een tijdsregistratiesysteem. Mogelijkheden worden op deze manier eindeloos.

Het realiseren van de nieuwe API zal veel tijd kosten, maar op dit moment wordt er hard gewerkt aan de ontwikkelingen. De nieuwe API voor heel Loket.nl is nog in de ontwerp-/beginfase.