API-koppeling laten maken

Een koppeling bouwen is zelden het lastige deel. Het lastige is dat twee systemen bijna nooit hetzelfde bedoelen met een klant of een bestelling, en dat de ene kant er een keer uit ligt terwijl de andere gewoon doorgaat. Daar zit het echte werk, en daar bouw ik voor.

Gevestigd in Groningen, werkzaam door heel Nederland en op afstand voor klanten wereldwijd.

Ik bouw de koppeling tussen twee systemen die van elkaar moeten weten. Ook op de dag dat een van de twee eruit ligt.

Geschikt wanneer gegevens nu met de hand van het ene systeem naar het andere gaan, of wanneer een bestaande koppeling vaker stukgaat dan je lief is.

Geschikt voor

Mijn aanpak

  1. Eerst uitzoeken wat beide kanten bedoelen. Het ene systeem noemt iemand een klant, het andere een relatie, en over wat er hoort te gebeuren als dezelfde persoon twee keer bestelt zijn ze het niet eens. Ik leg eerst naast elkaar welke velden er aan beide kanten zijn, welke verplicht zijn en wat er moet gebeuren als ze elkaar tegenspreken. Saai werk, en het haalt de meeste verrassingen eruit voordat er een regel code is geschreven.
  2. Bouwen voor de dag dat het misgaat. De andere kant ligt eruit, stuurt dezelfde melding twee keer, of zet je een uur buiten de deur omdat je te snel achter elkaar vraagt. Een koppeling die het op een goede dag doet is niet af. Een mislukte poging gaat vanzelf opnieuw, dezelfde melding twee keer verwerken levert geen dubbele factuur op, en drukte wordt afgeremd in plaats van dat er iets omvalt.
  3. Je merkt het voordat je klant het merkt. Koppelingen vallen zelden met kabaal om. Ze stoppen stil, en drie weken later blijkt de boekhouding niet meer te kloppen. Er komt een melding zodra berichten blijven liggen of blijven mislukken, en een overzicht waarin je terug kunt zien wat er langs is gekomen en wat er strandde.
  4. Van jou, ook daarna. De koppeling komt op je eigen GitHub te staan, de sleutels blijven in je eigen accounts, en hoe het in elkaar zit leg ik daar vast. Je spreekt per mijlpaal een prijs af en besluit na elke stap of we doorgaan.

Tech die ik gebruik

REST, GraphQL, webhooks, OAuth 2.0, Go, Python, TypeScript, Postgres, Redis, wachtrijen en herhaalpogingen, GitHub Actions, monitoring en meldingen.

Veelgestelde vragen

Kan een tool als Zapier of Make dit niet doen?

Tussen twee standaardpakketten vaak wel, en dan is dat de goedkoopste weg. Het houdt op zodra er een systeem bij zit dat zo'n tool niet kent, zodra het aantal stappen de maandrekening laat oplopen, of zodra je zelf wilt bepalen wat er gebeurt als het misgaat.

Wat als de koppeling straks stukgaat?

API's van derden veranderen, dus dat gebeurt een keer. Je krijgt een melding wanneer het misgaat en ik leg vast waar je dan moet kijken. Het onderhoud kun je bij mij laten of zelf oppakken, en overdragen aan iemand anders kan ook.

Moeten we onze API-sleutels met je delen?

Ik werk het liefst in je eigen accounts, met sleutels die je zelf aanmaakt en zelf weer kunt intrekken. Een geheimhoudingsverklaring teken ik graag voordat we beginnen, als je dat liever vastlegt.

Hoe weet ik of de gegevens aan beide kanten kloppen?

Door het te controleren in plaats van het aan te nemen. Bij een koppeling die eenmaal loopt hoort een manier om te vergelijken wat er aan de ene kant staat met wat er aan de andere kant is aangekomen, zodat een stille afwijking opvalt in plaats van dat je erachter komt bij de kwartaalafsluiting.

Kun je een koppeling overnemen die iemand anders heeft gebouwd?

Ja. Dat begint met hem draaiend krijgen en uitzoeken wat hij nu werkelijk doet, voordat ik er iets aan verander. Hoe zo'n overname gaat staat op de pagina over bestaande software overnemen.

Wat kost een koppeling laten maken?

Dat hangt af van het aantal systemen, het aantal gegevensstromen en hoe streng de foutafhandeling moet zijn. De bedragen en wat ze bepaalt staan in wat kost een API-koppeling.

Meer lezen:

Twee systemen die niets van elkaar weten?

Laat weten welke twee het zijn en wat er nu met de hand gaat. Dan kan ik zeggen of het eenvoudig ligt of niet.

Neem contact op

Andere diensten

Begin een gesprek