Een API (Application Programming Interface) is de afgesproken manier waarop twee systemen met elkaar praten. In plaats van dat iemand inlogt en rondklikt, stuurt de ene applicatie een gestructureerd verzoek en stuurt de andere een gestructureerd antwoord terug, automatisch, in milliseconden.
Een handige vergelijking is een restaurant. Je loopt niet de keuken in; je bestelt van een menukaart en de ober brengt het gerecht. De API is die menukaart en die ober: hij legt precies vast wat je kunt vragen en hoe het antwoord terugkomt, terwijl de rommelige details van de keuken verborgen blijven. En omdat de kaart hetzelfde blijft, kan de keuken erachter alles veranderen zonder je bestelling te breken.
De meeste moderne API’s zijn web-API’s die JSON versturen en ontvangen via HTTP. Ze maken integraties mogelijk: een webhook kan je systeem op de hoogte brengen zodra er iets gebeurt, en je software kan op aanvraag gegevens lezen of wegschrijven in een ander platform.
Een paar praktische details bepalen of een API prettig werkt. Goede API’s hebben versies, zodat een update je code niet stilletjes breekt. Ze zijn gedocumenteerd, met heldere voorbeelden van elk verzoek. En ze hebben een rate limit en authenticatie, zodat één doorgeslagen script de dienst niet kan platleggen of data kan lezen die niet voor hem bedoeld is. Ontbreken die basics, dan wordt een integratie een bron van verrassingen.
API’s zijn ook niet alleen voor koppelingen met diensten buiten je deur. Binnen één product praten de front-end die een klant ziet en de server met de data meestal ook via een interne API met elkaar. Dus hetzelfde idee dat je shop aan je boekhouding hangt, laat ook een webpagina live informatie tonen zonder te herladen. Het is een van de meest hergebruikte patronen in alle software.
Bij TopDevs zien we schone, goed gedocumenteerde API’s als de ruggengraat van elk systeem dat we bouwen, het houdt je software flexibel in plaats van vastgeketend aan één leverancier.