Naar de inhoud

Herfstvakantie. Gesloten 2 – 8 november, terug op 9 november. Meer info over onze sluitingsdagen

in2sites, naar de startpagina

API-koppelingen die je systemen met elkaar laten praten

API-koppelingen zorgen ervoor dat je webshop, boekhouding, CRM en planning automatisch gegevens uitwisselen. Zo typ je een bestelling, klant of factuur niet meer twee keer over. In2sites bouwt die koppelingen in Laravel, met aandacht voor wat er gebeurt als iets misloopt. Ontwerp, bouw en opvolging van de koppeling blijven bij ons onder één dak.

API-koppelingen: schema van webshop, boekhouding en CRM met een logboek van synchronisaties
Software en apps

Wat API-koppelingen voor je bedrijf doen

De meeste bedrijven werken met meerdere programma’s naast elkaar. Een webshop ontvangt bestellingen, een boekhoudpakket maakt facturen, een CRM houdt klanten bij en een planning verdeelt het werk. Zonder koppeling typt iemand dezelfde gegevens telkens opnieuw over, met tijdverlies en tikfouten als gevolg.

Een API is een afgesproken manier waarop twee programma’s gegevens uitwisselen. Met API-koppelingen stromen gegevens automatisch van het ene systeem naar het andere. Enkele voorbeelden:

  • bestellingen uit je webshop verschijnen als verkoopfacturen in je boekhouding
  • een nieuwe klant uit je CRM krijgt meteen een account in je klantenportaal
  • goedgekeurde offertes maken een opdracht aan in je planning
  • een verzonden pakket stuurt de trackingcode van de transporteur naar je klant

Bekende pakketten zoals Exact Online, Yuki en Teamleader bieden zo’n API aan, net als de meeste webshops en transporteurs.

REST, webhooks en synchronisatie

De meeste moderne pakketten werken met een REST-API. Daarbij vraagt je systeem gegevens op of stuurt het gegevens door via een webadres, meestal in het formaat JSON. Zo kan je software bijvoorbeeld elk kwartier vragen welke facturen betaald zijn.

Webhooks werken omgekeerd. Het andere pakket stuurt zelf een bericht zodra er iets verandert, zoals een nieuwe bestelling of een betaling. Dat is sneller en zuiniger dan voortdurend navragen. Toch combineren we beide vaak, want een webhook kan verloren gaan als een server even onbereikbaar is. Een periodieke controle vangt dat op.

Bij synchronisatie in twee richtingen bepalen we vooraf welk systeem de bron is voor welk gegeven. Het adres van een klant komt bijvoorbeeld uit je CRM, de betaalstatus uit je boekhouding. Zo overschrijven twee systemen elkaar niet.

Foutafhandeling en logging bij API-koppelingen

Een koppeling die stil faalt, is gevaarlijker dan geen koppeling. Je denkt dan dat alle facturen in je boekhouding staan, terwijl er drie ontbreken. Daarom besteden we evenveel aandacht aan wat er misgaat als aan wat goed gaat.

Concreet probeert de koppeling een mislukte poging later opnieuw, met een oplopende wachttijd. Lukt het na enkele pogingen nog niet, dan krijg je een melding per mail met de reden. Elk bericht dat binnenkomt of vertrekt, houden we bij in een logboek. Zo zie je precies wanneer een bestelling doorging, en met welk antwoord. Bovendien voorkomen we dubbele boekingen, ook als hetzelfde bericht twee keer binnenkomt. Die logboeken bevatten soms persoonsgegevens, dus we bewaren ze niet langer dan nodig, zoals de GDPR vraagt.

Wat als een pakket geen API heeft

Niet elk pakket heeft een open API. Sommige oudere programma’s draaien lokaal op één computer. Andere bieden een API alleen in een duurder abonnement, of met strenge limieten op het aantal oproepen. Dat zoeken we uit voor we een offerte maken, zodat je niet halverwege voor verrassingen staat.

Ontbreekt een API, dan zijn er vaak alternatieven. Veel pakketten kunnen een export maken naar CSV of Excel, die een koppeling automatisch inleest. Ook een gedeelde map, een mailbox die bestanden ontvangt of een rechtstreekse verbinding met de databank kan werken, als de leverancier dat toelaat. Soms is het eerlijke advies om het pakket te vervangen. In dat geval bekijken we of een ERP op maat of een CRM op maat beter past dan een stapel omwegen.

API-koppelingen bouwen in Laravel

We bouwen API-koppelingen in Laravel. Het framework heeft alles aan boord om met externe API’s te praten, berichten in een wachtrij te zetten en taken op vaste tijdstippen uit te voeren. Wachtrijen zijn belangrijk, want een trage boekhouding mag je webshop niet vertragen.

De koppeling kan een aparte kleine applicatie zijn, of een onderdeel van je bestaande software op maat. Heb je een webapplicatie met een Livewire-beheerscherm of een React-frontend, dan bouwen we er een overzicht in. Daar zie je de status van elke synchronisatie en start je een mislukte opdracht opnieuw met één klik. Omgekeerd kunnen we ook een eigen API voor jouw systeem bouwen, zodat partners of een mobiele app veilig met je gegevens werken.

API-koppelingen bouwen en opvolgen doen we volledig op afstand. Of je bedrijf nu in Ichtegem, Kortemark, Zedelgem of Oostkamp ligt, of verder weg, maakt dus weinig uit. Toch helpt een eerste gesprek over je pakketten, bij jou in de regio of bij ons in Torhout. Bedrijven elders in West-Vlaanderen en Vlaanderen spreken we daarvoor online.

Zo pakken we het aan

  1. Stap 1 van 4

    Systemen in kaart

    Eerst brengen we in kaart welke pakketten je gebruikt en welke gegevens tussen welke systemen moeten stromen. We lezen ook de documentatie en limieten van elke API.
  2. Stap 2 van 4

    Afspraken per gegeven

    Daarna leggen we per gegeven vast welk systeem de bron is, hoe vaak het synchroniseert en wat er gebeurt bij een fout.
  3. Stap 3 van 4

    Bouwen en testen

    Vervolgens bouwen we de koppeling en testen we die in een testomgeving met echte voorbeelden. Zo zie je het resultaat voor er iets in je boekhouding verschijnt.
  4. Stap 4 van 4

    Livegang en bewaking

    Tot slot zetten we de koppeling live en volgen we de logboeken op. Wijzigt een pakket zijn API, dan passen we de koppeling aan.

Vragen over API-koppelingen

Welke pakketten kunnen jullie koppelen?

In principe elk pakket met een gedocumenteerde API. Denk aan boekhoudpakketten, CRM-systemen, webshops zoals WooCommerce, betaalproviders, planningstools en transporteurs. Eerst lezen we de documentatie van het pakket, zodat we vooraf weten wat kan en wat niet.

Wat kosten API-koppelingen?

Dat hangt af van het aantal systemen, de hoeveelheid gegevens en de kwaliteit van de API’s. Een koppeling in één richting is eenvoudiger dan een synchronisatie in twee richtingen. Na de analyse krijg je een offerte per koppeling. Let ook op: sommige pakketten rekenen zelf iets aan voor toegang tot hun API.

Wat gebeurt er als een pakket zijn API wijzigt?

Leveranciers kondigen grote wijzigingen meestal vooraf aan. Met een onderhoudsafspraak volgen we die aankondigingen op en passen we de koppeling op tijd aan. Bovendien merk je een probleem snel dankzij de meldingen en het logboek.

Zijn API-koppelingen veilig?

Ja, als je ze goed opzet. We gebruiken beveiligde verbindingen, bewaren sleutels versleuteld en geven de koppeling alleen de rechten die ze nodig heeft. Een koppeling die facturen aanmaakt, hoeft bijvoorbeeld geen personeelsgegevens te kunnen lezen.

Kunnen jullie een bestaande koppeling overnemen?

Dat kan. We bekijken eerst de code en de logboeken, en zoeken uit waar het vandaag misloopt. Daarna stellen we voor om de koppeling te herstellen of opnieuw op te bouwen. Neem gerust contact op met een beschrijving van je systemen.

Hangt hier ook bij

Typ je gegevens nog over tussen programma’s?

Vertel welke pakketten je gebruikt. We bekijken welke API-koppelingen mogelijk zijn en wat er nodig is als een pakket geen API heeft.

Cookievoorkeuren

Kies welke cookies je toestaat. Je kunt dit later altijd wijzigen.

Nodig om de website te laten werken, bijvoorbeeld om je cookiekeuze te onthouden en het contactformulier te beveiligen. Deze staan altijd aan.

Altijd aan

Helpen ons begrijpen hoe bezoekers de website gebruiken (Google Analytics), zodat we ze kunnen verbeteren. De gegevens zijn niet bedoeld om jou persoonlijk te volgen.

Maken het mogelijk om onze advertenties te meten en relevanter te maken op andere websites. Momenteel niet in gebruik; we vragen het pas als het nodig is.