API-koppeling laten maken
Wat is een API-koppeling?
Die API is de deur die een systeem daarvoor openzet. De meeste pakketten hebben zo'n deur: AFAS, Exact, en zo ongeveer elke betaaldienst, planningstool en webshop. Wat verschilt, is hoe ver die deur opengaat. Het ene systeem laat alles toe, het andere geeft precies drie dingen mee en verder niets. Dat zoeken we uit voordat we iets beloven.
Of een API-koppeling wat waard is, hangt niet af van het lijntje maar van wat er misgaat. Een leverancier verandert iets aan zijn kant. Een sleutel verloopt. Een bestand heeft opeens een andere vorm. Een koppeling die daar niets mee doet, valt op een dinsdag stil zonder dat iemand het merkt.
Wat een API-koppeling je scheelt
Een koppeling is nooit het doel. Het doel is dat niemand meer zit over te typen, en dat wat je klant op de site ziet ook echt klopt. Dit zijn de vier dingen die je als eerste terugkrijgt.
Niets meer twee keer intypen: Wat op je site binnenkomt, staat meteen in je systeem. Dat scheelt tijd, maar vooral fouten. Eén cijfer verkeerd in een adres of een artikelnummer, en je pallet staat voor de verkeerde deur.
Kloppende cijfers, ook 's nachts: Prijzen, voorraad en de stand van een bestelling komen rechtstreeks uit de bron. Je klant ziet nooit een aantal dat vanochtend nog klopte, en jij hoeft geen tweede lijstje bij te houden.
Je kunt terugzien wat er gebeurd is: Elk berichtje tussen de twee systemen wordt opgeschreven: wat eruit ging en wat er terugkwam. Klopt er iets niet, dan kijk je in dat logboek in plaats van met z'n drieën te gaan gissen.
De tweede koppeling is zo gelegd: Een API-koppeling die goed ligt is het begin van de volgende. Wie zijn boekhoudpakket eenmaal open heeft staan, knoopt daarna zijn webshop of klantportaal er voor een fractie van het werk aan vast.
Voor wie is dit
Een API-koppeling wordt interessant zodra hetzelfde gegeven op twee plekken wordt bijgehouden. Herken je dit?
- Iemand haalt elke week een bestand uit het ene systeem en propt het in het andere
- De voorraad op je site loopt achter op wat er echt in het magazijn ligt
- Bestellingen worden met de hand ingeklopt in je boekhouding
- Je hebt een koppeling die af en toe stilvalt, en je hoort het van een klant
- Je wil een nieuw pakket kopen en weet niet of het met je huidige systemen kan praten
Wat je krijgt
- Een verbinding met een eigen sleutel, die alleen mag wat hij echt moet mogen
- Een vertaling tussen de twee systemen, want geen twee pakketten noemen hetzelfde veld hetzelfde
- Vanzelf opnieuw proberen, zodat een systeem dat even hikt je geen bestelling kost
- Een logboek van elk bericht, doorzoekbaar op datum en op ordernummer
- Een seintje zodra de koppeling stilvalt, zodat jij het merkt voordat je klant het merkt
- Een oefenopstelling die tegen de testomgeving van de andere partij praat
Hoe we het bouwen
Eerst uitzoeken. We lezen de handleiding van de andere partij en proberen het uit in hun testomgeving. Welke gegevens zitten er echt in, hoe vaak mag je iets opvragen, en wat kan er gewoon niet. Die eerste week bepaalt of de rest soepel loopt.
Dan ophalen. We bouwen eerst het ophalen. Gegevens binnenhalen en tonen is te overzien, en het levert al iets op terwijl de rest nog getest wordt.
Dan terugschrijven. Pas als het ophalen klopt, zetten we ook gegevens terug, met controles en dat logboek eromheen. Een API-koppeling die iets verkeerds in je boekhouding zet, is vervelender dan een scherm dat nog niet af is.
Wat kost een API-koppeling?
Wat een API-koppeling kost wordt bepaald door de andere kant. Alleen gegevens ophalen bij een pakket met een nette handleiding: onderkant. Verkeer in twee richtingen met een pakket zonder testomgeving: bovenkant.
De prijs wordt vooral bepaald door de andere partij, niet door ons. Een modern systeem met goede uitleg kost een fractie van een systeem waar je elke nacht een bestand van een server moet plukken. Dat verschil zoeken we uit voordat we een bedrag noemen.
Daarna loopt er onderhoud door, want systemen veranderen. Dat gaat om bewaking en het bijwerken van wat de leverancier aan zijn kant verandert.
Waarom Mediavisie Web
Koppelingen doen we sinds 2008, met pakketten als AFAS en Exact en de voorraad- en planningssystemen die daaromheen hangen. Dat levert kennis op die in geen enkele handleiding staat. Welk pakket zijn datums een uur verschoven teruggeeft, bijvoorbeeld. Of welk systeem zonder te klagen stopt bij duizend regels.
We leggen niet alleen het lijntje, we bouwen ook alles eromheen. Het logboek, het vanzelf opnieuw proberen en het seintje bij stilstand zitten er standaard in. Een API-koppeling zonder die drie is een koppeling die op een dag stilstaat.
En we repareren regelmatig koppelingen van anderen. Dat helpt bij het inschatten van wat je in huis hebt, ook als je ons alleen om een tweede mening vraagt.
Waar je op moet letten
Nog één ding: de andere partij bepaalt wat er kan. Niet alles wat je in een pakket op je scherm ziet, komt er via de API ook uit. Soms is er eerst een aanpassing of een extra module nodig bij je leverancier, en die kost geld en tijd. Dat zoeken wij in de eerste week uit, zodat je er niet halverwege het project achter komt.
Zet hem aan
Wat er over de lijn gaat
Start de koppeling en kijk mee met wat er wordt uitgewisseld. Trek daarna de stekker uit de andere kant, want dát is waar het echte werk zit.
- Nog niets uitgewisseld.
Tel mee
Dezelfde aanvraag, twee keer
Speel beide af en tel de handelingen. Het verschil is niet spannend per aanvraag; het is spannend als er per week dertig binnenkomen.
Zonder koppeling
- Aanvraag komt binnen via het formulier
- Iemand leest de mail
- Iemand typt de gegevens over in het CRM
- Iemand controleert of het goed is overgetypt
- Iemand mailt de klant een bevestiging
0 van 5 handelingen
Met koppeling
- Aanvraag komt binnen via het formulier
- Staat in het CRM
- Klant heeft de bevestiging
0 van 3 handelingen
De techniek eronder
Alle techniekWaar we het mee bouwen.
-
Koppeling
OpenAPI
De beschrijving van een koppeling in één bestand, zodat beide kanten weten wat ze mogen verwachten.
-
Taal
PHP
De taal waarin het grootste deel van onze achterkant draait. Sinds versie 8 met types, en dat scheelt fouten.
-
Administratie
AFAS
Koppelen via GetConnectors en UpdateConnectors. Wat de gebruiker doet, staat in Profit en niet in een lijstje ernaast.
-
Administratie
Exact
Facturen, relaties en voorraad uit Exact Online, met de koppeling die zijn eigen ritme aankan.
-
CRM
Salesforce
Leads en klanten uit je site rechtstreeks in Salesforce, met de velden die jouw verkoop echt gebruikt.
-
CRM
HubSpot
Formulieren en contactmomenten in HubSpot, zonder hun script over je hele site te hangen.
-
Achterkant
Node.js
Voor bouwstappen en voor koppelingen die de hele dag door berichten verwerken.
Werkwijze
Hoe we het aanpakken.
Van het eerste gesprek tot doorbouwen na livegang. Vier fases, en je weet bij elke fase wat er af is en wat er nog komt.
-
1 tot 2 weken
Uitzoeken
Wat er moet komen en wat er al ligt
We brengen in kaart welke systemen mee moeten, wie het straks beheert en waar het vorige traject op vastliep. Daar komen de uitzonderingen boven water die later de planning bepalen.
Lees verder over Uitzoeken -
Eén week
Afbakenen
Van wensenlijst naar een plan met een prijs
We knippen het werk in stukken die los opgeleverd kunnen worden, en zetten er een prijs en een volgorde op. Daarbij spreken we af wat er in de eerste versie zit en wat later komt.
Lees verder over Afbakenen -
6 tot 12 weken
Ontwerpen en bouwen
Eerst de schermen, dan de techniek eronder
Je kijkt vanaf de eerste week mee op een testomgeving. We leveren in rondes op, te beginnen met het deel dat het meeste werk uit handen neemt, zodat je stuurt op wat je ziet.
Lees verder over Ontwerpen en bouwen -
Doorlopend
Doorbouwen
Na livegang begint het pas
Updates, bewaking en nieuwe functies, met een vast aanspreekpunt dat je project kent. We meten wat er gebruikt wordt, en dat bepaalt waar we het volgende kwartaal aan werken.
Lees verder over Doorbouwen
Zo ziet dat er in de praktijk uit
Alle casesVeelgestelde vragen
Iets anders vragenWat als ons systeem geen API heeft?
Dan kijken we naar wat er wél is: een export, een database of een bestand op een server. Vaak is er meer mogelijk dan de leverancier zegt.
Wat gebeurt er als de koppeling eruit ligt?
De site blijft werken. We bouwen koppelingen zo dat een storing aan de andere kant niet je website meesleept, en we melden het als het gebeurt.
Wij werken onder andere voor
Aan de slag
Iets te bouwen?
Vertel wat er moet komen. We denken mee over techniek, haalbaarheid en wat het kost, ook als het plan nog niet rond is.