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.

De kans is groot dat je veel meer API koppelingen gebruikt, dan je op dit moment wellicht verwacht. Gebruik je als ondernemer bijvoorbeeld een ERP systeem of een online boekhoudpakket? In dat geval maak je zeker gebruik van een API koppeling. Het boekhoudpakket haalt middels een API koppeling transacties op vanaf je bankrekening. Deze transacties worden gebruikt om facturen als betaald aan te merken, om de btw-aangifte op te kunnen stellen, enzovoorts.

Een ERP systeem vormt de centrale hub binnen het IT-landschap van organisaties. Vanuit het ERP systeem kunnen verschillende softwareprogramma’s gekoppeld worden middels een API koppeling. Denk aan het CRM systeem, het HRM-systeem en bijvoorbeeld het SCM-systeem. Door verschillende softwareprogramma’s aan elkaar te koppelen middels een API koppeling, kun je processen vereenvoudigen en daarmee vaak efficiënter inrichten.

Voorbeelden

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

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

Praktijkcasus van API koppelingen

Een simpel, maar concreet voorbeeld van het gebruik van API koppelingen: een website waarop je een vakantie samen kunt stellen. Op zo’n website voer je een vakantiebestemming in, kies je het type accommodatie waar je wilt verblijven en geef je op met welk vervoersmiddel je wilt reizen. Op basis van de invoer van een gebruiker kijkt het systeem vervolgens in diverse aangesloten systemen, welke opties je hebt.

Zo wordt er gebruik gemaakt van een API koppeling met de aanbieders van vluchten, legt men API koppelingen aan naar de verschillende boekingssystemen voor hotels en appartementen, enzovoorts. Op basis van jouw input worden deze API koppelingen aangesproken om de juiste informatie voor je op te halen uit externe systemen.

Voordelen van het gebruik van een API koppeling

Er zijn verschillende redenen om te kiezen voor een API koppeling laten maken. Laten we de belangrijkste voordelen van een API koppeling bouwen eens op een rijtje zetten.

Accuraatheid van data in een database

De keuze voor het gebruik van een API koppeling biedt verschillende voordelen. In de beschreven praktijkcasus biedt een API koppeling de mogelijkheid om real-time informatie vanuit externe systemen op te halen om de gebruiker een vakantie aan te kunnen bieden. Zou je de database met data periodiek handmatig vullen met een export van data uit externe systemen, dan loop je het risico dat de data niet actueel is. Een vakantie die door het systeem aangeboden wordt, blijkt vervolgens niet te boeken te zijn door de gebruiker.

Snelheid waarmee processen worden doorlopen

Niet alleen de accuraatheid van data in een database kan een goede reden zijn om een API koppeling bouwen te overwegen. Denk ook aan de snelheid waarmee processen doorlopen kunnen worden met een API koppeling. Een API koppeling zorgt dat de data uit verschillende systemen op gezette momenten in het centrale systeem geladen wordt.

Je profiteert steeds meer van dit voordeel van API koppelingen, naarmate het aantal aangesloten systemen toeneemt. Een API koppeling draagt bij aan de efficiëntie van processen, versnelt deze en verkleint het risico op fouten aanzienlijk. Data hoeft immers niet langer handmatig aan een centrale database te worden toegevoegd.

Mogelijkheid tot het bouwen aan klantprofielen

Een API koppeling is zeer geschikt voor het bouwen aan klantprofielen, daar een dergelijke koppeling helpt bij het verzamelen van data over consumenten. Wanneer bezochten zij je website? Welke producten kochten zij op dat moment? Hoe vaak hebben zij contact gehad met de klantenservice? Welk percentage van de klanten van je webshop keerde op een later moment nog eens terug voor een volgende aankoop? Enzovoorts. Deze klantprofielen zijn waardevol om doelgerichte marketingcampagnes op te zetten.

Daarbij dragen klantprofielen in algemene zin bij aan het nemen van de juiste strategische beslissingen als organisatie. Zelf een klantprofiel uitwerken blijkt vaak lastig te zijn; in het bijzonder wanneer je handmatig data uit verschillende systemen met elkaar wilt combineren. Met een API kunnen menselijke handelingen geautomatiseerd worden.

Hergebruiken van bestaand stukje software

API’s gebruiken stelt ontwikkelaars in staat om het proces rond de ontwikkeling van nieuwe software te vereenvoudigen. In plaats van vanaf nul te beginnen met de bouw van systemen, kunnen zij met een API koppeling bestaande code hergebruiken. Het komt de snelheid waarmee systemen gebouwd worden ten goede.

Die snelheid is steeds belangrijker geworden in de laatste jaren, daar gebruikers hoge eisen stellen aan apps die zij gebruiken. Deze apps moeten voortdurend van nieuwe functionaliteit worden voorzien, passend bij de wensen van een gebruiker.

Kijk bijvoorbeeld eens naar de app die je gebruikt voor mobiel bankieren, of voor het boeken van een hotel. Zou je de huidige app naast de app leggen van twee of drie jaar geleden, dan is deze nauwelijks te herkennen.

Flexibiliteit van systemen groeit

In lijn met het feit dat een API koppeling bouwen het voor ontwikkelaars makkelijker maakt om systemen te ontwikkelen, draagt een API koppeling bij aan de flexibiliteit van deze systemen. Het wordt steeds makkelijker om een systeem aan te passen; een API koppeling met een Systeem X kan eenvoudig vervangen worden voor een vergelijkbare koppeling met een Systeem Y. De code van zo’n systeem hoeft vaak maar nauwelijks aangepast te worden, daar middels een API koppeling gebruik gemaakt wordt van de functionaliteit van andere applicaties.

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.

Tal van andere API’s

Bovenstaande casussen zijn slechts voorbeelden van situaties waarin een API koppeling bouwen interessant is. Er zijn er nog veel meer te bedenken. Zo is een API koppeling maken ook interessant om informatie uit een boekhoudsysteem te koppelen aan de informatie in het CRM systeem van je organisatie.

In de basis maakt men onderscheid tussen progamma georiënteerde API’s en web API’s. Die laatste categorie wordt het meest gebruikt, wellicht heb je termen als SOAP en REST al eens voorbij zien komen? Het zijn voorbeelden van soorten API’s binnen de categorie web API’s.

Op het internet vind je duizenden publieke API koppelingen. Kijk voor de aardigheid eens op de websites van systemen die je momenteel al binnen het IT-landschap van je organisatie gebruikt. Welke van deze systemen bieden API koppelingen aan? Naast de publieke API koppelingen zijn er tal van privé API koppelingen, die door organisaties zelf ontworpen en gebouwd zijn.

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.

PI Marketing

Datasynchronisatie Platform

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

Aan de slag met een API bouwen

Het maken van API koppelingen vergt het doorlopen van verschillende stappen: van het ontwerpen van een goede API koppeling, tot het daadwerkelijk bouwen en implementeren van een API. In sommige gevallen zal een maatwerk API bouwen noodzakelijk zijn; in andere gevallen kan gebruik worden gemaakt van openbare API’s.

Heb jij al een goed beeld van het type API koppeling wat voor jouw organisatie van meerwaarde kan zijn? Of ben je zoekende naar de wijze waarop een API koppeling maken jouw organisatie verder kan helpen? In beide gevallen maak ik graag kennis met je. De passie en ervaring waarover ik eerder sprak komt goed van pas, wanneer ik je adviseer over een API koppeling die jouw organisatie een volgende stap laat zetten in haar digitalisering en automatisering. Een digitale informatiestroom van het ene naar het andere systeem biedt je talloze voordelen.

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.