API (Application Programming Interface)
Een API levert een begrensde toegang tot de functionaliteit of data van een applicatie of (online) dienst zodat die geïntegreerd kunnen worden in een andere applicatie of dienst. De API van Google Maps, bijvoorbeeld, levert de mogelijkheid om kaarten te integreren in je eigen website of app. De mogelijkheid om de functionaliteit van bestaande diensten te integreren zorgt ervoor dat je zelf niet meer het wiel hoeft uit te vinden, wanneer dat niet nodig is. Je kunt je eigen diensten en services uitbreiden door API’s van andere bedrijven te gebruiken.
Techniek
In technische termen bevat een API een set regels die de communicatie tussen verschillende applicaties of websites beheert en structureert. De API geeft aan wat voor data je kan opvragen, hoe je dit moet opvragen en de structuur waarin je de data terugkrijgt. Wanneer je dit via de regels van de API doet, krijg je data terug of kun je acties laten uitvoeren die je kunt gebruiken in je eigen applicaties of websites. Zodoende is de API een brug tussen jouw app die data wil hebben en de leverancier van de data. Data wordt dan meestal aangeleverd in XML- of JSON-formaat.
Wie leveren API’s
Veel grote bedrijven leveren een API. Facebook, Google (voor o.a. Google Maps en YouTube), Dropbox en Buienradar zijn voorbeelden van bedrijven die hun API beschikbaar maken. Wanneer je je voor een dienst kan inschrijven via Facebook, of een website kan delen zonder van de website weg te hoeven gaan, wordt dat mogelijk gemaakt door de Facebook API. Voor Facebook is dit een voordeel omdat hun dienst gebruikt wordt, zonder dat ze hun code vrij hoeven te geven.
Er zijn verschillende vormen van API’s: private API’s zijn alleen voor intern gebruik. Partner API’s worden alleen beschikbaar gemaakt aan bedrijven na overleg. Hierdoor is er nog enige mate van kwaliteitscontrole. Public API’s worden publiekelijk beschikbaar gemaakt. Iedereen mag ze gebruiken.
Voorbeeld
Je wilt een weer-app bouwen en daarbij data gebruiken van Buienradar. Dit kun je doen met of zonder het gebruik van een API.
Zonder het gebruik van een API zou je app de website van Buienradar inladen, de code ervan inlezen door het, zoals een mens doet, te interpreteren en daaruit data te halen voor je app. Maar wanneer Buienradar het design van hun website wijzigt, wijzigt de code die je app leest ook. Hierdoor zou jouw app niet meer weten wat het ziet omdat het is ingesteld om code te interpreteren die er niet meer is. Niet handig.
Wanneer je wel een API gebruikt, stuur je een bericht naar de Buienradar API met een gestructureerde aanvraag voor informatie. Wanneer dit bericht en de aanvraag overeenkomen met de definities en eisen van de API, stuurt de API de data terug en kun je die gebruiken in je app. Deze methode is meer robuust omdat het niet afhankelijk is van hoe Buienradar zijn data presenteert, maar afhankelijk is van de regels vastgesteld in hun eigen API. Die regels veranderen ze niet zo maar, omdat vele applicaties ervan afhangen.
De wereld verandert van analoog naar digitaal en het wordt voor bedrijven steeds belangrijker om snel op veranderingen in te kunnen spelen. API’s maken het mogelijk om op een gestructureerde en daarmee stabiele manier functionaliteit en data met elkaar uit te wisselen. Hierdoor kunnen bedrijven zich blijven focussen op hun kerncompetenties en deze combineren met services via API’s.