Een API (koppeling), wat is dat?

Steeds meer ondernemers willen een API laten maken voor hun bedrijf. Ze willen een API laten bouwen zodat andere organisaties makkelijker gebruik kunnen maken van hun data en processen of ze willen juist een API koppeling maken met de bestaande API’s van andere bedrijven. Als jij een API koppeling wil maken, of als je een API van je website, webshop of webapplicatie wil laten maken kunnen we je zeker verder helpen.

Aangemaakt op . Laatst bijgewerkt op .

Wat is de betekenis van API?

API is een afkorting, het staat voor Applicatie Programmeer Interface. Het woord applicatie is hier niet veel zeggend. Je mag de nadruk vooral leggen op de woorden programmeer en interface. Interface is een technisch woord, het wordt gebruikt om koppelvlakken aan te duiden. Een koppelvlak maak je met een logische reden, je wil het voor iemand anders mogelijk maken om te koppelen aan een programma, proces of aan informatie die jij beheert. Nu je weet dat een interface een koppelvlak is, is het makkelijk te raden voor wie we een koppelvlak maken met een API: programmeurs. Zij programmeren namelijk hun eigen software om een koppeling te maken met een andere applicatie. Dat is dan ook de reden dat je het woord applicatie heel breed kan nemen. Elke website, webshop of webapplicatie waarvoor het handig is om een API koppeling aan te bieden of om gebruik te maken van een API valt in deze categorie.

Dat beantwoord dus de vraag “Waar is API een afkorting van?” maar hebben we nog geen antwoord op de vraag “API wat is dat?”

Wat is een API?

Een API is elke koppelvlak waar een programmeur met software berichten heen kan sturen om informatie op te vragen of processen te starten.

API’s kan je gebruiken voor een aantal situaties. De eerste twee situaties zijn voorbeelden van wat een API koppeling is. Het zijn beide voorbeelden van situaties waarin jouw software de informatie van andere applicaties consumeert. Het tegenovergestelde hiervan is dat jouw applicatie een API aanbied voor anderen.

Ten eerste komt het vaak voor dat een bedrijf al veel bestaande softwarepakketten gebruikt en dat informatie uit deze pakketten ingeladen moet worden in een (nog te maken) applicatie. Een API koppeling is alleen mogelijk als de bestaande softwarepakketten ook een API aanbieden natuurlijk. De koppeling is overigens pas nodig indien de informatie of regelmatig gesynchroniseerd moeten worden, omdat de informatie in de bestaande pakketten snel verandert of wanneer de nieuwe applicatie de informatie in de bestaande pakketten moet verrijken of updaten.

Ten tweede, een API koppeling is wenselijk wanneer je bestaande API’s van andere organisaties wil koppelen aan jouw software. Mogelijkheden zijn bijvoorbeeld om voorraden van leveranciers inzichtelijk te maken in je eigen software of om bestellingen te kunnen plaatsen. Het kan ook gaan om meer open informatie. Zo kan je bijvoorbeeld Open Weather API gebruiken om overal ter wereld te weten wat het huidige weer is of wat de weersverwachting gaat zijn.

Ten derde, wanneer je weet dat klanten of zakenpartners graag door middel van een API bij jouw organisatie processen starten of wanneer je weet dat ze informatie van je nodig hebben is het het wenselijk om zelf een API te gaan maken. Bij grotere organisaties, zoals wij doen bij gemeenten, is het al wenselijk om informatie voor andere afdelingen beschikbaar te maken met een API. Dit komt voor wanneer de andere afdelingen voor een ander type software graag dezelfde gegevens willen gaan gebruiken. Ook komt het voor dat organisaties vanuit een business case al inzetten op een API. Ze weten nog niet wie er hun API gaat gebruiken en waarvoor, en hopen op deze manier bijvoorbeeld hun afzetmarkt te vergroten doordat programmeurs wereldwijd kunnen koppelen aan hun API.

Hoe ziet een API eruit?

Het is niet eenduidig uit te leggen hoe een API er uit ziet. Dit komt omdat een API een koppeling is tussen twee systemen en deze koppeling bestaat om te kunnen communiceren met elkaar. Het is niet altijd zichtbaar welke berichten er over en weer worden verzonden en het kan zelfs zo zijn dat je niet eens wil zien of er wel berichten uitwisselingen plaats vindt.

Ook wat een programmeur ziet wanneer hij een koppeling aan een API bouwt verschilt heel erg van de programmeertaal en tools die hij gebruikt en die de API gebruikt. Om toch een beeld te geven volgt hier een voorbeeld. Stel dat we de API van SkyScanner gebruiken, een applicatie om te kunnen zoeken naar vluchten. Ik kan als programmeur de vraag stellen aan SkyScanner “In welke talen kan jij mij resultaten geven ?” Door een bericht op te stellen wat er ongeveer zo uit ziet (maar in elke programmeertaal net iets anders wordt geschreven).

   GET "https://partners.api.skyscanner.net/apiservices/
        reference/v1.0/locales?
        apiKey={apiKey}"

Ik kan dan een bericht terug krijgen wat er zo uit ziet, en nog belangrijker, wat is gestructureerd op een manier dat mijn programma het bericht weer makkelijk kan verwerken.

{
    "Locales": [
        {
          "Code": "ar-AE",
        "Name": "العربية (الإمارات العربية المتحدة)"
        },
        {
          "Code": "az-AZ",
          "Name": "Azərbaycan­ılı (Azərbaycan)"
        },
        {
          "Code": "bg-BG",
          "Name": "български (България)"
        },
        {
          "Code": "ca-ES",
          "Name": "català (català)"
        },
        ...
    ]
}

Voorbeelden van API’s zijn er oneindig veel. Om een algemeen beeld te vormen zal ik ver vier benoemen:

  • Open Weather API, wat je in staat stelt om overal ter wereld het weer op te vragen en weersvoorspellingen te krijgen.

  • API Football, een API waar je allerlei historische informatie over voetbalteams kan vinden en over aankomende wedstrijden.

  • De Supermarktketen Picnic heeft de Picnic API waarin je hun assortiment kan uitlezen en bestellingen kan plaatsen.

  • Toyota heeft de Toyato Europe Dealers API beschikbaar waar je alle dealers kan opvragen in Europa.

Over API's praten? Diede gaat graag met je in gesprek

Wil je graag met mij in gesprek over wat een API voor jouw organisatie kan betekenen? Of wil je met mij sparren om uit te vinden welke API’s voor jouw organisatie meerwaarde kunnen bieden? Neem gerust contact met me op:

Portretfoto Portretfoto
Bedankt voor je bericht! We komen zo snel mogelijk bij je terug.