Wat is een API?
- IAM-woordenlijst
- Wat is een API?
API staat voor Application Programming Interface, wat een set met protocollen en routines die verschillende systemen en apps in staat stellen om met elkaar te communiceren, zonder dat ontwikkelaars of eindgebruikers hoeven te weten hoe ze worden geïmplementeerd. Hierdoor kunnen ontwikkelaars herbruikbare softwareonderelen maken.
Ontwikkelaars gebruiken API's vaak voor functionaliteit die wordt geboden door een bestaande service of app. Zo kan een API bijvoorbeeld een weer-app toegang geven tot de nieuwste weergegevens van een provider van weerberichten. De API specificeert de verzoekindeling die de app moet gebruiken om de gegevens op te halen, plus de indeling van de gegevens die moeten worden geretourneerd door de weerservice.
Hoe werken API's?
API's werken door een set met regels en protocollen voor communicatie te specificeren tussen softwareonderdelen. Ze bevatten vaak specificaties voor routines, gegevensstructuren, objectklassen en variabelen. Hier is een uitgebreid overzicht van hoe API's werken:
Een client dient een verzoek in. De client (het systeem of de app) stuurt een verzoek naar de API-server waarin de gewenste bewerking wordt gespecificeerd, zoals 'gegevens ophalen' of 'een nieuwe bron maken'. Het verzoek bevat alle noodzakelijke parameters en authenticatie-informatie.
De API-server verwerkt het verzoek. De API-server ontvangt het verzoek en verwerkt het, gebruikmakend van de onderliggende app en gegevens om de specifieke bewerking uit te voeren.
De API-server geeft een reactie. De API-server stuurt een reactie terug naar de client, waarbij wordt aangegeven of de bewerking succesvol was, en als dat zo is, worden de betreffende gegevens verstrekt. De reactie heeft de indeling volgens de specificaties van de API.
De client verwerkt de reactie. De client ontvangt de reactie van de API en verwerkt de gegevens waar nodig, bijvoorbeeld door deze te laten zien aan de gebruiker.
Op deze manier stellen API's softwareonderdelen in staat om met elkaar te communiceren en gegevens en functionaliteit uit te wisselen. De API bepaalt de regels en protocollen voor communicatie, zodat verschillende systemen en apps interactief met elkaar kunnen zijn, zelfs als ze zijn ontwikkeld door verschillende organisaties of individuen, op verschillende platforms, gebruikmakend van verschillende programmeertalen.
Wat zijn de verschillende soorten API's?
Dit zijn de meestvoorkomende soorten API's:
Open API's, ook wel openbare API's genoemd, zijn beschikbaar voor ontwikkelaars en andere gebruikers met minimale beperkingen. Openbare API's vereisen mogelijk registratie, app-goedkeuring of een API-sleutel om misbruik te voorkomen.
Interne API's, ook wel privé-API's genoemd, worden gebruikt om bronnen en gegevens te delen met een bedrijf of tussen systemem of apps in bezit van dezelfde organisatie. Interne API's zijn alleen toegankelijk voor gebruikers binnen een bepaalde organisatie en blijven verborgen voor externe gebruikers.
Partner-API's zijn vergelijkbaar met open API's, maar zijn bedoeld voor gebruik door een bepaalde groep vertrouwde partners. Toegang tot deze API's is over het algemeen beperkt en vereist goedkeuring vooraf.
Samengestelde API's combineren verschillende soorten API's om complexe gebruiksgevallen aan te pakken. Ze stellen ontwikkelaars in staat om gegevens op te halen van meerdere bronnen via een enkele API-oproep, waardoor het toegangsproces tot gegevens wordt vereenvoudigd.
REST API's (Representational State Transfer API's) gebruiken HTTP-verzoeken om gegevens op te halen, plaatsen, posten en verwijderen. REST is een architectuurstijl die gebruikmaakt van eenvoudige, lichtgewicht en flexibele mechanismen om gegevens uit te wisselen tussen verschillende systemen. REST API's worden over het algemeen gebruikt voor webgebaseerde apps en services.
SOAP API's (Simple Object Access Protocol API's) zijn op standaarden gebaseerde webservice-benaderingen waardoor verschillende systemen kunnen communiceren via internet. SOAP gebruikt XML voor de bestandsindeling van berichten en vertrouwt op andere webstandaarden voor vervoer, waaronder HTTP en SMTP.
XML-RPC en JSON-RPC zijn allebei Remote Procedure Call (RPC) API's die gebruikmaken van XML en JSON, respectievelijk, als data-bestandsindelingen. Deze API's zorgen ervoor dat systemen kunnen communiceren en procedures kunnen activeren op externe systemen, voornamelijk via HTTP.
GraphQL API, dat wordt ontwikkeld door Facebook, is een nieuwe API-standaard voor het bouwen en consumeren van API's. Het biedt een efficiënter, krachtig en flexibel alternatief voor traditionele REST API's. GraphQL API's zorgen ervoor dat client-apps de structuur van de gegevens die ze nodig hebben kunnen specificeren, en de server om alleen de gevraagde gegevens te retourneren.
Elk type API heeft eigen sterke en zwakke punten, en is beter geschikt voor verschillende gebruiken. Het juiste type API kiezen voor een bepaald project hangt af van factoren zoals het formaat en de complexiteit van het project, de beoogde doelgroep en het soort gegevens wat wordt gebruikt.
Wat is een voorbeeld van een API?
API's zijn overal! Hier zijn maar een paar voorbeelden.
De Google Maps-API zorgt ervoor dat ontwikkelaars Google Maps-functionaliteit kunnen toevoegen aan hun eigen websites en apps. Winkels maken vaak gebruik van de Google Maps-API om gegevens op te halen voor hun online winkeldirectories.
Retailers gebruiken de PayPal-API om hun klanten te laten afrekenen met PayPal.
Een ander voorbeeld is de Twitter-API, waardoor ontwikkelaars toegang krijgen tot Twitter-gegevens en functionaliteit in hun eigen apps. Met de Twitter-API kunnen ontwikkelaars tweets ophalen, tweets posten en andere acties uitvoeren, zoals het zoeken naar tweets en het volgen van gebruikers.
Reissites maken intensief gebruik van API's om bezoekers vluchten te laten zoeken en boeken, accommodaties te zoeken en boeken, en voor andere reisgerelateerde services.