Wat is een API-koppeling? Uitleg in gewone taal

· 5 min leestijd · door Justin

Illustratie van een browservenster met het label je website dat via een getekende kabel met stekker vastzit aan een agendakaart met een gereserveerd tijdvak, met de handgeschreven tekst ze praten met elkaar

Je vraagt een offerte aan voor een nieuwe website en daar staat het ineens tussen: API-koppeling. Het klinkt als iets voor programmeurs, maar het idee is verrassend simpel. Een API-koppeling laat twee systemen met elkaar praten: je website en je agenda, je webshop en je boekhoudpakket, je formulier en je mailbox. In dit stuk leg ik in gewone taal uit wat zo'n koppeling is, waar je ze waarschijnlijk al gebruikt zonder het te weten, wanneer je er echt een nodig hebt en wat het ongeveer kost.

Twee systemen die met elkaar praten

API staat voor Application Programming Interface. Die term mag je meteen weer vergeten, want waar het om gaat is dit: een API is een vaste afspraak waarmee het ene computerprogramma iets kan vragen aan het andere. Op Wikipedia heet het een verzameling definities waarmee programma's met elkaar kunnen communiceren. Een API-koppeling is dus niets anders dan twee systemen die via zo'n afspraak aan elkaar geknoopt zijn.

Ik leg het meestal uit met het serveerluik van een restaurant. De bediening schuift een bestelbon door het luik, de keuken zet er even later een bord terug. De bediening hoeft niet te weten hoe de keuken werkt en de kok hoeft de gasten niet te zien. Het luik is de afspraak: hier gaan bestellingen in, daar komen borden uit. Zo werkt een API ook, als een afgesproken doorgeefluik tussen twee systemen.

Of denk aan een stekkerdoos. Je koffiezetapparaat weet niks van elektriciteitscentrales en dat hoeft ook niet. Zolang de stekker in het stopcontact past, doet het apparaat het gewoon. Een API is zo'n stopcontact, maar dan voor software: een standaardaansluiting waar andere systemen op kunnen inpluggen.

Waar kom je API-koppelingen tegen?

Op websites van lokale ondernemers kom ik ze elke week tegen, vaak zonder dat de eigenaar het zo noemt. Een paar herkenbare voorbeelden:

  • De reserveringsknop op de site van een restaurant of kapper. Een klant kiest een tijd en die afspraak verschijnt meteen in jouw agenda of reserveringssysteem. De website schrijft dus echt in je agenda.
  • Het contactformulier dat in je mailbox landt. Het formulier geeft de ingevulde gegevens door aan een verzendservice en die zet het bericht netjes in je inbox.
  • De review-widget die je Google-reviews op je site laat zien. Dat blokje haalt de sterren en teksten rechtstreeks bij Google op, dus nieuwe reviews verschijnen er vanzelf bij.
  • De webshop die verkopen doorgeeft aan de kassa of het boekhoudpakket, zodat voorraad en administratie automatisch blijven kloppen.

In al die gevallen gebeurt hetzelfde: systeem A geeft iets door aan systeem B, volgens een vaste afspraak, zonder dat er een mens tussen zit.

Wanneer heb je er echt een nodig?

Het eerlijkste antwoord: zodra je merkt dat jij zelf het doorgeefluik bent geworden. Typ je elke week gegevens over van het ene systeem naar het andere? Zet je mailtjes handmatig om in agenda-afspraken, of tik je bestellingen uit de webshop over in je boekhouding? Dan doe jij werk dat een koppeling sneller en zonder typfouten kan doen.

Dubbele boekingen zijn ook zo'n teken. Kunnen klanten via de site reserveren terwijl jouw agenda daar niks van weet, dan gaat het vroeg of laat mis. Een koppeling zorgt dat beide kanten altijd hetzelfde weten.

Het goede nieuws: je hoeft zulke koppelingen bijna nooit los te laten bouwen. Veel systemen hebben kant-en-klare koppelingen met de bekende websiteplatformen, zoals het CMS-systeem waar je site op draait. Dan is de koppeling vaak een kwestie van aanzetten en instellen.

Vaak is simpel genoeg

Nu de andere kant van het verhaal, want lang niet alles hoeft gekoppeld. Krijg je twee aanvragen per maand, dan is een formulier dat gewoon in je mailbox landt prima. Een knop die doorlinkt naar je bestaande reserveringspagina werkt ook, zonder extra techniek. En een geplakte widget doet voor de meeste lokale bedrijven alles wat nodig is.

Mijn vuistregel: koppel pas als het handwerk je echt tijd kost of fouten oplevert. Een koppeling is geen doel op zich, het is gereedschap.

Een ding hoort wel altijd op orde te zijn: alles wat die systemen naar elkaar sturen, reist over het internet. Namen, telefoonnummers, reserveringen. Daarom hoort je site een beveiligde verbinding te hebben, het bekende slotje in de adresbalk. In wat is SSL leg ik uit hoe dat werkt.

Wat kost een API-koppeling?

Hier ga ik je geen bedrag noemen, want dat zou niet eerlijk zijn: de kosten hangen volledig af van de systemen die je wilt koppelen. Wel kan ik de smaken op een rij zetten, van goedkoop naar duur.

Veel koppelingen zijn gratis of zitten al in een abonnement dat je toch al hebt. De widget van je reserveringssysteem, de koppeling tussen je formulier en je mailbox: die bestaan al en hoef je alleen aan te zetten. Een trede hoger zitten koppelplatforms, diensten die twee systemen zonder programmeerwerk aan elkaar knopen, meestal voor een maandbedrag. En helemaal bovenaan staat maatwerk: een ontwikkelaar die een koppeling bouwt die nog niet bestaat. Dat is serieus programmeerwerk, dus serieuze kosten, en het moet daarna ook onderhouden worden.

Vraag daarom altijd eerst: bestaat er al een standaardkoppeling tussen deze twee systemen? Heel vaak is het antwoord ja, en bespaar je jezelf de dure route.

Wat doe ik er zelf mee?

Even eerlijk over mijn eigen rol hierin. Ik bouw websites en daarbij koppel ik bestaande dingen aan je site: de reserveringswidget van je reserveringssysteem, een formulier dat netjes in je mailbox aankomt, een blokje met je Google-reviews. Dat zijn koppelingen die de makers van die systemen al gebouwd hebben. Ik zorg dat ze goed op je site staan en blijven werken.

Complexe maatwerkkoppelingen, bijvoorbeeld je kassa live laten praten met je voorraad en je boekhouding, zijn een ander vak. Dat is werk voor een programmeur en dat zeg ik er gewoon bij als het langskomt. Wat ik dan wel doe: meedenken over wat er echt nodig is, zodat je met een duidelijke vraag bij zo'n specialist aanklopt.

Eerst kijken wat er al bestaat

Mijn nuchtere advies op een rij. Zet eerst op papier welke systemen je gebruikt: agenda, kassa, boekhouding, reserveringen, mail. Streep aan waar je nu zelf gegevens overtypt. Zoek daarna per geval op of er al een standaardkoppeling bestaat. De website van het systeem heeft daar bijna altijd een eigen pagina over, zoek op koppelingen of integraties.

Begin met de koppeling die je het meeste tijd scheelt, meestal het formulier of de reserveringen. En laat je niet gek maken door dure woorden in offertes: een API-koppeling is geen toverwoord, het is een doorgeefluik. Soms onmisbaar, soms overbodig. Dat verschil bepaal jij, niet de verkoper.

Liever een site waar de gewone koppelingen meteen goed staan, zoals je formulier, je reserveringswidget en je reviews? Bij Start (€39 per maand) zet ik zulke bestaande koppelingen voor je aan en houd ik ze werkend. Op de prijslijst zie je wat er in elk pakket zit.

Eerst zien hoe zo'n verzorgde site er in de praktijk uitziet? Bekijk afgeronde sites uit de werkplaats.

Veelgestelde vragen over API-koppelingen

Waar staat API voor?

API staat voor Application Programming Interface. In gewone taal is het een afsprakenlijst waarmee het ene computerprogramma iets kan vragen aan het andere. Op een website zie je het bijvoorbeeld bij een koppeling die je Google-reviews ophaalt of een reservering in je agenda zet. De afkorting hoef je niet te onthouden, het idee wel: twee systemen die volgens vaste afspraken met elkaar praten.

Wat kost een API-koppeling?

Dat verschilt enorm per situatie. Bestaat er al een kant-en-klare koppeling of widget, dan is die vaak gratis of zit die bij het abonnement van dat systeem in. Moet er maatwerk gebouwd worden omdat twee systemen elkaar niet standaard kennen, dan praat je over serieus ontwikkelwerk en dus serieuze kosten. Vraag daarom altijd eerst na of er een standaardoplossing bestaat.

Kan ik zelf een API-koppeling maken?

Een bestaande koppeling of widget aanzetten kan vaak prima zelf: code kopieren en plakken, instellingen invullen, klaar. Een nieuwe koppeling bouwen op een API is echt programmeerwerk, dat laat je zonder ervaring beter aan een ontwikkelaar over. Er bestaan ook koppelplatforms die systemen zonder programmeren aan elkaar knopen. Die zijn een mooie middenweg voor veelvoorkomende klusjes.

Justin, de webvakman van De Werkplaats van Justin

Geschreven door Justin, webvakman. Ik bouw sinds 2019 websites voor lokale ondernemers door heel Nederland. Meer over mij.