API: de spin in het web.

Wat is een API?

API staat voor Application Programming Interface, ofwel in het Nederlands applicatie programmeer interface. Het stukje “interface” betekent hier als het ware “koppeling” of “verbinding”. Voorbeelden van een interface zijn websites of het dashboard van een Tesla. In deze gevallen biedt de interface een koppeling tussen wat je ziet als gebruiker, de interactiemogelijkheden en de achterliggende verwerking door de software. In het geval van een API biedt de applicatie een interface voor andere applicaties om mee te koppelen, i.p.v. gebruikers. Die applicaties kunnen dan ook informatie uitlezen of als het ware op “buttons drukken” om acties door te sturen of data op te slaan.

Voorbeelden

In veel projecten maken we gebruik van koppelingen. Hieronder staan de API koppelingen waar wij ervaring mee hebben.

TwinfieldExactAmadeus Pyton
MollieNavisionGoogle Spreadsheets
WooCommerceWeFactGoogle Translations
MagentoSnelstartCompany.info
LightspeedRabobankSunnyCars
Shopify MailChimpChainware
ShopwareSendcloudTOMP
MultiSafePayPDF buildingAgile CRM
TransaviaWicsWebHotelier
AkeneoCopernicaSolr

Waar worden API’s gebruikt?

API’s worden tegenwoordig enorm veel gebruikt in software ontwikkeling. De kans is erg groot dat iedere website of applicatie die je gebruikt met één of meer API’s communiceert. Een veel voorkomend voorbeeld hiervan is Google Analytics. Om hier gebruik van te maken wordt een script aangeleverd door Google. Wanneer je deze aan je website toevoegt maakt deze automatisch verbinding met de Google Analytics API om bezoekers data door te sturen. Deze kan vervolgens ingezien en geanalyseerd worden om de gebruikerservaring te verbeteren of gerichte advertenties op te zetten.

Waarvoor worden API’s gebruikt?

Softwareland zou softwareland niet zijn als er niet vele verschillende type databases beschikbaar zijn.
We maken onderscheid in de volgende categorieën: 

Voorbeeld 1: API’s voor vliegreizen

Bijna alle API’s hebben dezelfde basis functionaliteiten: data ophalen, data aanmaken, data updaten en data verwijderen. Vaak zijn API’s beveiligd. Dit kan betekenen dat je moet inloggen met een (betaald) account of dat enkel gelimiteerde functies worden aangeboden. Dit betekent dat voor een API van bijvoorbeeld Transavia of KLM, waar alle toekomstige vluchten te vinden zijn, alleen maar data op te halen is. Het zou natuurlijk wel gevaarlijk zijn als iedereen nieuwe vluchten zou kunnen aanmaken, of een vlucht zou kunnen updaten door de prijs naar 1 euro te zetten. Een voorbeeld van wat wij hiermee hebben ontwikkeld is een reisplatform waarbij goedkope vluchtdata wordt gezocht en gecombineerd met verschillende verblijfsmogelijkheden om vakantiepakketten aan te kunnen bieden aan de gebruiker.

Voorbeeld 2: API’s voor marketing automation

Een ander voorbeeld, waarbij data opslaan ook mogelijk is, is Copernica. Dit is een platform dat het mogelijk maakt om data uit een webshop te verwerken voor e-marketeers waar email automation voor opgezet kan worden om geautomatiseerde mailcampagnes te sturen. In deze applicatie heb je als gebruiker je eigen account waarbij je volledige controle hebt over de data. Je kunt dus zelf data aanmaken, updaten en verwijderen.

Een praktisch voorbeeld hiervan is PI Connect: een datasynchronisatie applicatie dat e-commerce platforms koppelt aan een marketing automation platform. De applicatie is een soort tussenlaag die met verschillende API’s communiceert.

API documentatie

De ontwikkelaar van de API schrijft bijbehorende documentatie waar developers kunnen lezen hoe de API gebruikt moet worden, zoals welke velden meegestuurd moeten worden bij een verzoek (API request). Voor de vluchten API zou dit kunnen betekenen dat je een vertrek- en terugkomst datum moet meesturen, met optionele vertrek en aankomst luchthaven velden. Gebruik je de API niet zoals de documentatie aangeeft, dan gaat de koppeling niet werken.

Waarom een API ontwikkelen?

In het geval van Google Analytics, een reisplatform of Copernica is dit vrij simpel: de mogelijkheid bieden om andere applicaties te laten koppelen met jouw applicatie, via code. Dit maakt automatisering eenvoudig mogelijk en biedt een gestructureerde aanpak voor het koppelen van één of meerdere applicaties.

Een andere toepassing die wij in onze applicaties gebruiken is een interne API. Deze wordt dan niet beschikbaar gesteld aan de wereld, maar is puur om de data en functionaliteiten van de back-end aan te bieden aan de front-end. Wij hebben dit gerealiseerd met een Laravel back-end API waar onze React front-end mee kan communiceren om data op te halen en te schrijven. Het lostrekken van de back- en front-end en deze los van elkaar draaien biedt een aantal voordelen:

Compatibiliteit

Waar een geïntegreerde front- en back-end altijd gelimiteerd zullen blijven tot hoe die zijn gekoppeld, heb je bij een los draaiende API hier oneindig veel mogelijkheden voor. Je zou bijvoorbeeld kunnen kiezen om een webinterface te ontwikkelen voor managementtaken zoals het maken van een planning, en een mobiele app die verbinding maakt met diezelfde API waar personeelsleden snel in kunnen zien wat hun weekplanning is.

Structuur

Het lostrekken van de back-end en deze ontwikkelen als API biedt een gestructureerde aanpak voor de developer waarbij risico’s worden afgevangen. De developer ontwikkelt een nieuwe functionaliteit, test deze en schrijft indien nodig documentatie. Wanneer dit is afgerond en alles werkt kan de front-end geüpdate worden om te koppelen met de nieuwe mogelijkheden.

Schaalbaarheid

Door een los draaiende back-end te hebben kun je een splitsing maken waarbij de back-end oneindig opgeschaald kan worden (om bijvoorbeeld meer gebruikers aan te kunnen). De enige taak van de front-end is om gebruikers de pagina te tonen en te verbinden met de back-end via de API.

Bonus: hoe spreek je API uit?

Over de uitspraak zijn de meningen wat verdeeld. Veel mensen spreken de letters los uit in het Engels, “eej-pie-aaj”.
Wij kiezen meestal de makkelijkere manier: “aapie”.

Benieuwd naar ons portfolio?

Je wilt natuurlijk graag weten of wij de juiste partij zijn voor de ontwikkeling van jouw applicatie. Bekijk hier een greep uit ons portfolio.

Mocht je nog op zoek zijn naar meer informatie dan kun je altijd contact opnemen. We helpen je graag met antwoorden op jouw vragen.

Logo van PI marketing bovenop een foto van blauwe touwen die door elkaar liggen
PI Marketing

Datasynchronisatie Platform

Datasynchronisatie platform dat e-commerce platforms koppelt aan een marketing automation platform.

Persoonlijk, professioneel en met passie.

Scrumble is ontstaan uit vriendschap. Drie vrienden met een passie voor alles wat met computers te maken heeft, maar met software in het bijzonder. Al op vroege leeftijd ontstond de lust om te ondernemen. Hierbij kwam de liefde en het talent voor webdevelopment, waardoor we allen met groot enthousiasme een uitdaging zien in het ontwikkelen van complexe maatwerk software. Het resultaat? Gebruikersvriendelijke en doeltreffende web- en mobile based applicaties.

foto van twee ontwikkelaars van scrumble die geconcentreerd aan het werk zijn
foto van het team van scrumble tijdens een potje tafelvoetbal
foto van een medewerker van Scrumble die geconcentreerd kijkt
foto van twee ontwikkelaars van scrumble die geconcentreerd aan het werk zijn
foto van het team van scrumble tijdens een potje tafelvoetbal
foto van een medewerker van Scrumble die geconcentreerd kijkt
Dit is onze contactpersoon Vincent van Laarhoven, met hem kan je contact opnemen
Dit is onze contactpersoon Vincent van Laarhoven, met hem kan je contact opnemen

Meer weten over API koppelingen? Vincent legt het je graag haarfijn uit.