Een Application Programming Interface (API) is een software-interface die verschillende applicaties met elkaar laat communiceren. Via een API-koppeling wordt data uitgewisseld tussen twee softwaresystemen, wat allerlei handelingen door mensen overbodig maakt en dus veel tijd bespaart.
API’s zorgen voor alle interacties tussen applicaties, data & apparaten en maken dataoverdracht van systeem naar systeem mogelijk. Met een API creëer je een gestandaardiseerde toegang tot applicaties in de cloud, zoals bijvoorbeeld Ctrack's fleetmanagement software.
API’s zijn niet nieuw. Ze zijn er al sinds het prille begin van de computer. Als gebruiker hoeft je niet te weten hoe het werkt, als de uitkomst maar klopt. Neem bijvoorbeeld de integratie van Ctrack's ritten- en tijdregistratie in uw ERP systeem. U moet erop kunnen vertrouwen dat wat u 'aan de voorkant' ziet, correct is. Hoe wij dat precies regelen met onze API doet er niet toe.
API's worden steeds vaker gebruikt voor het ontsluiten van business functionaliteiten. Vaak zonder dat we er erg in hebben. Wat logisch is omdat ze, als het goed is, systemen naadloos op elkaar laten aansluiten. Het maakt de integratie van allerlei systemen zoveel eenvoudiger, of het nu gaat om een bestelling plaatsen bij thuisbezorgd.nl of het exporteren van live gegevens uit onze systemen naar de backoffice software waar u mee werkt.
Eenvoudig gezegd werkt een API met een input en een output. Je vertelt aan de API wat er nodig is (input), vervolgens verwerkt de API deze informatie, waarna je krijgt waar je om gevraagd hebt (output).
Een API is als het ware een toegangspoort. Deze poort zorgt ervoor dat een applicatie van buitenaf specifieke vragen kan stellen aan het programma. Die vragen worden door de API vertaald, zodat de vraag-ontvangende applicatie deze kan verwerken. Vervolgens stuurt de API het antwoord terug naar de vragende applicatie.
Welke vragen ondersteund worden bepaal je zelf. Je kunt ook bepaalde vragen afschermen voor gebruikers door middel van authenticatie, wat het gebruiken van dezelfde API voor verschillende doeleinden mogelijk maakt.
Er zijn verschillende soorten API’s, maar de twee meest bekende zijn:
REST werkt op basis van HTTP. Met behulp van de standaard HTTP aanvraag methoden en de URL, die nodig is om de locatie van de data op een andere webserver te identificeren, kun je eenvoudig gegevens overbrengen tussen clients, servers en externe webapplicaties.
REST API’s zijn heel flexibel:
Een op SOAP gebaseerde API verzendt gegevens in pakketten van XML bestanden en verplaatst ze met behulp van het HTTP protocol.
De voordelen van SOAP zijn:
Een belangrijk voordeel van API’s is dat ze de functionaliteit van het ene systeem beschikbaar maken voor andere systemen. Via een API-koppeling wordt de applicatie die de data nodig heeft, gekoppeld aan de infrastructuur die deze levert.
Al verandert de infrastructuur achter die koppeling, als de specificatie van wat aangeleverd wordt hetzelfde blijft, dan heeft dat geen effect op de applicatie die van de API afhankelijk is.
Dat dit zo werkt, maakt je flexibel. Stel bijvoorbeeld dat de infrastructuur achter een API-koppeling op een eigen, fysieke server staat, dan kun je ongemerkt en probleemloos overstappen naar een cloud server van een hostingbedrijf.
API-gestuurde connectiviteit zou van systeem veranderen net zo makkelijk moeten maken als een stekker in een stopcontact steken. Iets wat iedere moderne IT-afdeling graag ziet, want niemand wil terug naar de onoverzichtelijke en tijdrovende point-to-point integraties (lees: steeds op maat gemaakte code nodig hebben om twee applicaties met elkaar te verbinden).