API-koppelingen

Werkt u met meerdere softwarepakketten? Wilt u gegevens daartussen automatisch uitwisselen? En is er geen standaard koppeling beschikaar, maar bieden beide pakketten wel een API (technische interface)?

Dan realiseer ik graag uw optimale koppeling.

API, API, API!

Steeds meer softwareleveranciers stellen een API beschikbaar om hun software technisch te ontsluiten voor andere software. Het klinkt dan ongeveer als ‘dankzij onze API kunt u elke denkbare software aan ons systeem koppelen!’. Dat klinkt als de ideale wereld, toch?

Het is ook zeker een mooie ontwikkeling die we hierin zien. Alleen moeten we daarbij wel realistisch blijven: de wereld wordt in werkelijkheid hierin regelmatig mooier voorgesteld dan dat die is. Dat softwarepakket A en softwarepakket B beide een API hebben, betekent namelijk nog niet dat het een kwestie is van vinkjes zetten om een koppeling tussen beide pakketten te hebben.

Regelmatig is die aansluiting er wel. Denk bijvoorbeeld aan een salarispakket dat een koppeling heeft met verschillende boekhoudprogramma’s om de loonjournaalpost automatisch voor u te boeken. Dat is in samenwerking tussen beide softwareleveranciers dan voorbereid en gerealiseerd, en hoeft alleen ingesteld te worden. Maar in veel gevallen is die standaard aansluiting niet aanwezig, en moet daar maatwerk voor gerealiseerd worden.

Wat is het probleem dan?

Ter illustratie: achter een auto zonder trekhaak kan geen aanhangwagen worden gehangen. Dat is duidelijk. Achter een auto met trekhaak kan dat wel. Maar dat betekent niet dat elke aanhangwagen aan zo’n auto kan worden gekoppeld. Een vrachtwagen-aanhanger aan een auto koppelen valt immers niet mee…

De analogie zal duidelijk zijn. Er is nog wat nodig om de verschillende API’s op elkaar te laten passen. Gelukkig is dat in softwareland vaak wat eenvoudiger dan in transportland: groot en klein, reus en miniatuur kunnen vaak prima aan elkaar gekoppeld worden.

Het voordeel van een eigen koppeling

Misschien bent u wat teleurgesteld naar het lezen van bovenstaande uitleg. Maar er is ook een andere kant: door de aansluiting tussen softwarepakketten in eigen beheer te maken, hebt u meer invloed op de koppeling, en kan deze optimaal gevormd worden voor uw bedrijfsproces.

Een voorbeeld? Voor een klant heb ik eens gerealiseerd dat de facturen uit een online boekingsprogramma (van arrangementen) op twee verschillende manieren in het boekhoudpakket worden verwerkt. Klanten die via de website een arrangement boeken zijn vaak eenmalig, en betalen direct online. Die klanten worden niet als debiteur aangemaakt in het boekhoudpakket, maar alleen de omzet (en btw uiteraard) wordt verwerkt. Andere klanten, die via het verkoopteam boeken, gaan op rekening. Deze facturen worden wel als verkoopfactuur in het boekhoudpakket verwerkt (en de debiteur wordt aangemaakt/bijgewerkt). Zo kunnen de openstaande facturen goed worden opgevolgd door de afdeling boekhouding, zonder dat er veel vervuiling optreedt. Een dergelijke uitsplitsing is bij standaard koppelingen vrijwel nooit mogelijk.

Wat is een API eigenlijk?

API staat voor Application Programming Interface. Dat gaat over de manier waarop met een applicatie gecommuniceerd kan worden door andere programma’s.

Als mens gebruiken we meestal een GUI: Graphical User Interface, ofwel grafische gebruikersinterface. Dat zijn de schermen met invoervelden, en knoppen waarmee u een programma bedient, en de gegevens die het programma aan u toont (als tekst, grafieken of op een andere manier).

Bij een API gebeurt dit op een meer technische wijze, waardoor andere programma’s makkelijker kunnen ‘begrijpen’ wat er wordt bedoeld. Hierdoor kunnen robuuste koppelingen worden gerealiseerd.

Uw API’s koppelen?

En nu? U hebt twee programma’s in gebruik, die beide over een API beschikken, en u wilt dat die programma’s met elkaar gaan communiceren?

Dan adviseer ik u om het eens aan mij voor te leggen, zodat we samen kunnen kijken hoe we dit vraagstuk voor u optimaal kunnen oplossen.