Wat is een API?


Op uw bedrijfsnetwerk en/of persoonlijke apparaten bevinden zich diverse applicaties. De meeste moeten met elkaar kunnen communiceren om gegevens uit te wisselen en normaal te werken. Dit wordt mogelijk gemaakt door een API.

what_is_api

Waar dient een API voor?

Met een API (“application programming interface” in het Engels) kunnen meerdere applicaties en diensten gegevens uitwisselen.

Het biedt functies waarmee, middels een programmeertaal, applicaties elkaar verzoeken kunnen sturen om toegang tot diensten. Deze technologie maakt het ontwikkelen van uw applicaties aanzienlijk eenvoudiger. Door gegevens uit te wisselen, hebben ze alles wat ze nodig hebben om goed te kunnen functioneren. De afgelopen tien jaar is het gebruik hiervan onmisbaar geworden. Zonder API’s zouden veel websites en webapplicaties niet bestaan.

Waarom zou ik een API gebruiken?

Het belangrijkste voordeel van een API is dat het tijd bespaart. Een ontwikkelaar hoeft niet te weten hoe de API is ontwikkeld of geïmplementeerd: hij of zij gebruikt gewoon de interface als een communicatiekanaal tussen verschillende applicaties of software.

De API heeft als voordelen:

  • simpelere processen. U benadert de gegevens van de applicaties via een enkele interface;
  • betere precisie en extra functies voor uw applicaties. U kunt bijvoorbeeld een geolocatieservice aan uw toepassing voor het huren van elektrische fietsen koppelen om de dichtstbijzijnde fiets te vinden.
  • betere beveiliging van gegevens in transit, met name door het gebruik van tokens, elektronische handtekeningen of TLS (Transport Layer Security)-encryptie.

Wat zijn de verschillende typen API's?

API's worden op verschillende wijzen gedefinieerd, afhankelijk van de toegankelijkheid, de toepassing en de manier waarop een ontwikkelaar ze gebruikt. We kunnen echter in grote lijnen vier API-families onderscheiden.

  • De interne API, of privé-API,heeft de voorkeur bij interne bedrijfsnetwerken. Hiermee kunt u bijvoorbeeld uw programma voor voorraadbeheer aan uw ERP koppelen. Doorgaans is er geen sprake van een hoge mate van beveiliging, aangezien de API niet zichtbaar is voor de buitenwereld. Die situatie verandert echter: de bescherming van IT-tools binnen bedrijven geldt steeds meer voor alle gebruikte software.
  • De externe API, oftewel publieke API, staat open voor iedereen. Het kan door elke ontwikkelaar van derden gebruikt worden. Let op: de Engelse naam "Open API" kan verwarrend zijn. Zo’n API is namelijk niet altijd gelieerd aan een opensourcetechnologie. Het belangrijkste voordeel is dat het openstaat voor veel programmeertalen, waardoor het makkelijker wordt om uw services met elkaar te verbinden. De veiligheidsmaatregelen van een publieke API zijn per definitie beperkt. Dit betekent dat een onderneming moet nadenken over de blootstelling van haar gegevens, als zij deze API wil gebruiken.
  • De partner-API is een interne API waarbij toegangsrechten zijn verleend aan een beperkte groep externe ontwikkelaars of dienstverleners. Als een bedrijf bijvoorbeeld een webagentschap gebruikt voor zijn website, kan het specifieke gebruikers- en autorisatiegegevens verstrekken.
  • De samengestelde API is complexer. Deze heeft over het algemeen verschillende programmeerinterfaces voor specifieke doeleinden. Het wordt vaak gebruikt als een manier om andere onderling verbonden API's te managen.

Hoe werkt een API?

Een API heeft een structuur en regels om applicaties en programma’s in staat te stellen effectief te communiceren. Het wordt gebruikt tussen de applicatie en de webserver en fungeert als een kanaal voor gegevensoverdracht tussen systemen.

De werking van de API is meestal als volgt:

  1. Een toepassing of software stuurt een verzoek in. Dit wordt vervolgens via een URI (Uniform Resource Identifier) naar de webserver gestuurd;
  2. Nadat de API dit verzoek heeft gevalideerd, stuurt deze het door naar de webserver (of, indien van toepassing, naar het externe programma);
  3. De webserver verzendt vervolgens zijn antwoord naar de API;
  4. De API geeft de ontvangen informatie uiteindelijk door naar de applicatie die het verzoek stuurde.

Het type overgedragen gegevens kan echter afhangen van de gebruikte webservice. Query's en antwoorden worden echter altijd door de API verzonden. Bovendien is de API ontworpen om door een mens of een computer te worden gebruikt, wat het flexibel maakt.

U kunt beveiligingsstappen aan dit proces toevoegen. Aangezien de API een intermediair kanaal is, is dit de ideale stap om authenticatie in te bouwen. U kunt bijvoorbeeld wachtwoorden, verificatie van HTTPS-headers, cookies en nog meer toevoegen. Deze maatregel is vooral belangrijk bij het verwerken van gevoelige gegevens, zoals bankgegevens, administratieve gegevens of privégegevens.

Wat is een API-gateway?

Dit is een tool waarmee u uw diverse API's kunt beheren. De meeste interne of privé-API's gebruiken dit vanwege veiligheids- en prestatieredenen. Zoals hierboven beschreven ontvangt een API een verzoek en stuurt het antwoord. Maar in dit geval is de werkelijkheid complexer.

Voor een bedrijf is het belangrijk dat er waar nodig parameters voor beveiliging, monitoring en/of restricties worden meegenomen. Als er meerdere microservices zijn, kan het zijn dat er zeer veel verzoeken tegelijk moeten worden verwerkt. Daarbij is de API-gateway een groot voordeel. Hiermee heeft u een betere controle over de stroom gegevens tussen uw API's, maar ook tussen de API's en de services.

De historie van API-protocollen

De laatste tien jaar is het gebruik van API’s gemeengoed geworden. Daarom is de wijze waarop ze functioneren meeveranderd met de nieuwste applicaties. Er zijn verschillende protocollen ontwikkeld om aan deze ontwikkelingen tegemoet te komen.

  • SOAP (Simple Object Access Protocol) is een protocol dat op XML is gebaseerd. Het doel is om de overdracht van gegevens te vergemakkelijken tussen toepassingen en software in verschillende talen en omgevingen. Dit wordt met name mogelijk gemaakt via SMTP- en HTTP-protocollen. Dit is het oudste API-protocol.
  • XML-RPC is een protocol dat is gebaseerd op een specifiek type XML-indeling. Dit is ontwikkeld na SOAP, maar wordt beschouwd als eenvoudiger en het gebruikt minder bandbreedte.
  • JSON-RPC lijkt qua werking op het XML-RPC-protocol. De indeling is echter gebaseerd op JSON in plaats van XML. Het wordt als eenvoudig gezien en het is mogelijk om slechts één antwoord op complexe verzoeken te versturen.
  • REST is meer een verzameling regels voor de architectuur van een API dan een echt protocol. Voordat een API als REST beschouwd wordt — we spreken dan over een RESTful API — moet deze voldoen aan een reeks vooraf gedefinieerde criteria. Het doel van deze "API-specificatie" is het creëren en integreren van applicaties te vergemakkelijken.

De meeste online API's zijn momenteel REST-API's. Met deze regels heeft men kleinere en gebruiksvriendelijkere API's kunnen maken. Ze zijn vooral geschikt voor het Internet of Things (IoT) en mobiele applicaties.

De SOAP-API en de REST-API

We moeten niet vergeten dat dit twee verschillende zaken zijn. SOAP is allereerst een protocol, terwijl REST een architectuur is. Hoewel beide programma's bedoeld zijn om het maken van API's te vergemakkelijken, gelden er bovendien andere regels voor.

Door het opstellen van ontwikkelstandaarden hebben ze het voor developers eenvoudiger gemaakt om data uit te wisselen en een API te gebruiken. Toen het gebruik van API’s gemeengoed werd, richtte SOAP zich erop een standaard voor verzoeken en berichtenindelingen te creëren om gegevensuitwisseling te vergemakkelijken. Dit heeft geleid tot een betere communicatie tussen applicaties. En dat is gerealiseerd ondanks verschillende talen en programmeeromgevingen.

REST is daarentegen gebaseerd op zes belangrijke principes voor het creëren van API’s. Deze zijn gemakkelijker te volgen dan een restrictief protocol. Dat is deels de reden waarom het merendeel van de huidige API's grotendeels RESTful is.

API’s bij OVHcloud

Zodat u de grootst mogelijke bewegingsvrijheid geniet, zijn al onze services compatibel met een API. Zo kunt u ze eenvoudig met elkaar verbinden.

We bieden u de OVHcloud-API om uw webprojecten mee te maken. Het is een beveiligde tool die uw persoonlijke gegevens respecteert, net als al onze oplossingen.

Met onze API kunt u:

  • uw OVHcloud-oplossingen beheren (administratie, updates, monitoring);
  • uw eigen applicaties maken en perfectioneren;
  • bepaalde taken automatiseren en uw functies optimaliseren.

Hulp nodig? Raadpleeg onze handleidingen om te beginnen met onze API.