
8 min lezen
Ik werkte vroeger in de klantenservice bij een technologiebedrijf waar API-verbindingen die gebruikersgegevens uit andere programma’s extraheren een integraal onderdeel van het product waren. Wanneer ik klanten uitlegde waarom we geen toegang konden krijgen tot een bepaald gegevenselement, adviseerden de ontwikkelaars vaak het antwoord: “Het is niet beschikbaar via de API.”
In die tijd dacht ik dat een API als een USB-poort was, en door deze poort aan te sluiten, we toegang zouden hebben tot alles in een ander programma. Het blijkt dat ik het mis had.
A lire aussi : Hoe een motorgrasmaaier te gebruiken om de grond van uw gazon om te spitten: Stapsgewijze gids
Lees ook: Zapier vs IFTTT: de beste tool voor taakautomatisering
API’s zijn minder zoals USB-poorten of brandkranen dan dat ze zijn zoals een persoon in een klantenservicecentrum in een vreemd land. Een API geeft je niet alle informatie of de code van een programma (zoals een brandkraan), want wat zou je ervan weerhouden om de hele codebasis te repliceren? In plaats daarvan biedt een API gegevens die zijn programmeurs beschikbaar hebben gesteld voor externe gebruikers. Toch moet je weten hoe je de juiste vragen moet stellen om iets met die gegevens te kunnen doen.
Lire également : Hoe de C Cédille in Hoofdletters in uw Tekst te Gebruiken?
Wat is een API?
API staat voor Application Programming Interface. Het belangrijkste deel van deze naam is “interface”, omdat een API in wezen met een programma voor jou communiceert. Je moet altijd de taal kennen om met het programma te communiceren, maar zonder API kom je niet ver.
Wanneer programmeurs besluiten om bepaalde gegevens openbaar toegankelijk te maken, “exposeren ze de eindpunten”, wat betekent dat ze een deel van de taal publiceren die ze hebben gebruikt om hun programma te maken. Andere programmeurs kunnen vervolgens gegevens uit de applicatie extraheren door URL’s te maken of HTTP-clients (speciale programma’s die de URL’s voor je maken) te gebruiken om gegevens op te vragen van deze eindpunten.
Eindpunten geven tekst terug die bedoeld is voor computers om te lezen, dus het zal geen zin hebben als je de computercode die gebruikt is om het te schrijven niet begrijpt.
TL; DR: Een API stelt een programma in staat om gegevens van een ander op te vragen.
Waarom een API gebruiken
Computers maken veel dingen gemakkelijker, vooral taken die het verzamelen en sorteren van tonnen gegevens inhouden. Stel dat je wilt weten hoe vaak een derde partij facturen naar je bedrijf heeft ingediend. Het is mogelijk om in de factuurregisters van je bedrijf te duiken, de invoer “van” te scannen en elke factuur afzonderlijk af te drukken voor je audit.
Aan de andere kant, als alle facturen in een centrale database zijn geüpload, kun je een eenvoudig programma schrijven dat toegang heeft tot deze database en alle instanties van de naam van de partner vindt. Dit zou veel minder tijd kosten en veel nauwkeuriger zijn.
Architectuur van een API
API’s bestaan uit drie delen:
- Gebruiker: de persoon die een verzoek indient
- Client: computer die het verzoek naar de server stuurt
- Server: de computer die het verzoek beantwoordt
Iemand zal eerst de server bouwen, omdat deze gegevens verwerft en vasthoudt. Zodra deze server draait, publiceren programmeurs documentatie, inclusief de eindpunten waar specifieke gegevens te vinden zijn. Deze documentatie vertelt externe programmeurs de structuur van de gegevens op de server. Een externe gebruiker kan dan de gegevens op de server opvragen (of doorzoeken), of een programma maken dat zoekopdrachten uitvoert op de database en deze informatie in een ander, bruikbaar formaat omzet.
Het is super verwarrend, laten we een echt voorbeeld nemen: een adresboek.
In de analoge tijd zou je een kopie van de telefoongids van de Witte Gids ontvangen, die alle mensen in je stad alfabetisch op naam en adres opsomde. Als je het adres van een vriend nodig had, kon je ze opzoeken op achternaam, het adres vinden en vervolgens hun straat op de kaarten aan de achterkant zoeken. Dit was een beperkte hoeveelheid informatie, en het kostte veel tijd om toegang te krijgen. Nu, dankzij de magie van technologie, kunnen al deze informatie in een database worden gevonden.
Laten we een database bouwen met de Witte Gids voor een fictieve stad genaamd Happyville. De mensen van HappyVille_WP hebben besloten dat ze bij het bouwen van hun database enkele categorieën informatie zouden creëren met geneste gegevens eronder. Dit zijn onze eindpunten, en ze zullen alle informatie bevatten die de API aan een extern programma zal publiceren.
Hier zijn de eindpunten die in de documentatie van HappyVille_WP zijn vermeld:
- /namen
- /voornaam, /achternaam
- /adressen
- /straat_adres, /e-mailadres/
- /telefoons
- /thuis_telefoon, /mobiele_telefoon
Het is duidelijk dat dit niet alle informatie is die over een persoon kan worden verzameld. Zelfs als HappyVille_WP meer privé-informatie over de inwoners van Happyville verzamelde (zoals geboortedata en sociale zekerheidsnummers), zouden deze gegevens niet beschikbaar zijn voor externe programmeurs zonder de taal van deze eindpunten te kennen.
Deze eindpunten geven je de taal aan die je moet gebruiken om informatie op te vragen uit de database. Als je een lijst wilt van alle mensen in Happyville met de achternaam Smith, kun je een van de volgende twee dingen doen:
- Dien een URL-verzoek in een browser in voor deze informatie. Dit gebruikt je internetbrowser als client, en je krijgt een tekstdocument in programmeertaal om te sorteren. Deze URL zou er als volgt uitzien: http://api.happyville_wp.com/names?last_name=smith
- Gebruik een programma dat de informatie opvraagt en deze omzet in een bruikbare vorm. Je kunt je eigen programma coderen of een kant-en-klaar HTTP-client gebruiken.
De eerste optie is ideaal voor het doen van eenvoudige verzoeken met slechts een paar antwoorden (alle mensen in Happyville met de achternaam Xarlax, bijvoorbeeld – ik ben er vrij zeker van dat er maar zes huishoudens met die naam in Happyville zijn). De tweede optie vereist meer programmeervaardigheden, maar is ideaal voor programmeurs die de database van een ander programma willen gebruiken om hun eigen applicaties te verbeteren.
Veel bedrijven gebruiken de open API’s van grote bedrijven zoals Google en Facebook om toegang te krijgen tot gegevens die anders misschien niet beschikbaar zouden zijn. In dit geval verlagen API’s aanzienlijk de toetredingsdrempels voor kleine bedrijven die anders hun eigen gegevens zouden moeten samenstellen.
Acties die je via een API kunt ondernemen
Wow! Oké, dus een API is de manier waarop twee computers met elkaar praten. De server heeft de gegevens en definieert de taal, terwijl de client deze taal gebruikt om informatie van de server op te vragen (ter info, servers sturen geen gegevens zonder dat een client om gegevens vraagt, maar ontwikkelaars hebben manieren gevonden om dit te omzeilen met webhooks). API’s kunnen alles doen!
Niet zo snel. De taal en syntaxis van API’s beperken hun mogelijkheden ernstig. Er zijn vier soorten acties die een API kan uitvoeren:
- GET: vraagt gegevens op van een server – kan een status of specificaties zijn (zoals last_name)
- POST: stuurt wijzigingen van de client naar de server; beschouw dit als het toevoegen van informatie aan de server, zoals het maken van een nieuwe invoer
- PUT: herzien of toevoegen van bestaande informatie
- DELETE: verwijdert bestaande informatie
Wanneer je de eindpunten combineert met deze acties, kun je alle beschikbare informatie via een API opzoeken of bijwerken. Je moet de documentatie van de API raadplegen om te weten hoe je deze acties moet coderen, omdat ze allemaal verschillend zijn.
Terwijl we het over taal en syntaxis hebben, laten we de manieren bespreken waarop je een verzoek op een server kunt indienen:
HTTP: Hypertext Transfer Protocol. Dit is hoe je in eerste instantie op onze site bent gekomen door een URL in de zoekbalk van je browser in te typen. Het is een heel gemakkelijke manier om toegang te krijgen tot gegevens, maar het zal niet in een mooi formaat terugkomen als je veel informatie opvraagt. We zullen daar zo verder op ingaan.
Tekstformaten: XML, JSON. Dit zijn de belangrijkste talen voor toegang tot gegevens via een API. Wanneer je je gegevens ontvangt, moet je door de XML- of JSON-code bladeren om te begrijpen wat de server je heeft gegeven.
Beginnen met het gebruik van een API
De meeste API-toepassingen die je in je dagelijkse professionele leven zult zien, verplaatsen informatie van een programma naar vergelijkbare formuliervelden in een ander programma. Dit is vooral handig wanneer je probeert informatie te delen die je anders meerdere keren zou moeten invoeren – bijvoorbeeld het delen van leads tussen je marketingautomatiseringsplatform en je CRM.
De toepassingen en voorbeelden die we hier zullen opsommen zijn veel basaler en halen veel minder uit wat je standaard API goed voor is. Maar ze geven je een goed idee van de stappen in het API-proces.
- De meeste API’s vereisen een API-sleutel. Zodra je een API hebt gevonden waarmee je wilt spelen, raadpleeg dan de documentatie voor de toegangseisen. De meeste API’s zullen je vragen om een identificatiecontrole uit te voeren, zoals inloggen met je Google-account. Je krijgt een unieke reeks letters en cijfers die je kunt gebruiken bij het toegang krijgen tot de API, in plaats van elke keer gewoon je e-mail en wachtwoord toe te voegen (wat niet erg veilig is – voor meer informatie over machtigingen en controles, lees dit).
- De eenvoudigste manier om te beginnen met het gebruik van een API is door online een HTTP-client te vinden, zoals REST-Client, Postman of Paw. Deze kant-en-klare (en vaak gratis) tools helpen je om je verzoeken voor toegang tot bestaande API’s te structureren met de API-sleutel die je hebt ontvangen. Je moet altijd een deel van de syntaxis van de documentatie kennen, maar er zijn heel weinig programmeerkennis vereist.
- De beste manier om gegevens uit een API te extraheren is door een URL te maken op basis van de bestaande documentatie van de API. Deze YouTube-video legt uit hoe je locatiegegevens van Google Maps via de API kunt extraheren en vervolgens deze coördinaten kunt gebruiken om nabijgelegen foto’s op Instagram te vinden.
Over het algemeen lijkt een API-verzoek niet veel anders dan een normale browser-URL, maar de teruggegeven gegevens zullen in een gemakkelijk leesbaar formaat voor computers zijn. Hier is wat er gebeurde toen ik informatie opvroeg uit de OpenWeather-database in mijn webbrowser:
Voorbeeld-URL uit de documentatie – verzoekt om het weer voor een bepaalde stad:
api.openweathermap.org/data/2.5/weather?q={stadnaam}
Typ in je browser:
api.openweathermap.org/data/2.5/weather?q=Nashville, TN&APIID={cijfersletterscijfersletters}
Conclusies en aanvullende lectuur
Een API is nuttig om specifieke informatie uit een ander programma te extraheren. Als je weet hoe je de documentatie moet lezen en de verzoeken moet schrijven, kun je veel goede gegevens ophalen, maar het kan overweldigend zijn om dit allemaal te analyseren. Dit is waar ontwikkelaars in beeld komen. Ze kunnen programma’s maken die gegevens rechtstreeks in een applicatie of browservenster weergeven in een gemakkelijk te consumeren formaat.
Dit artikel krabt nauwelijks de oppervlakte van wat API-technologie is. Ik heb een beetje op het web gezocht om meer te leren over API’s. Hier zijn de artikelen en video’s die me het meest hebben geholpen:
- API’s gebruiken: niet zo moeilijk als het lijkt
- Hoe API’s te gebruiken met JavaScript
- Web API voor niet-programmeurs
- Zapier API-cursus
- Concepten en voorbeelden van de REST API
- Wat zijn API’s en waarom zijn ze belangrijk
Wil je je programma’s verbinden, maar heb je geen tijd om een client te bouwen? Er zijn veel bedrijven die bestaande API’s zullen verbinden of aangepaste verbindingen voor je zullen bouwen. Deze kunnen variëren van eenvoudige applicaties die door gegevens worden geactiveerd, zoals Zapier, tot grootschalige Business Intelligence-integraties die enorme hoeveelheden gegevens uit meerdere bronnen voor analyse halen. Weten hoe een API werkt is de eerste stap naar het bouwen van geweldige integraties.
Lees verder op blog-introduction.fr