De vrijdagmiddagtest

Een goede API-koppeling is een koppeling waar je op vrijdagmiddag niet aan hoeft te denken, niet omdat ze nooit stukgaat, maar omdat ze stukgaat op een manier die voorspelbaar, zichtbaar en omkeerbaar is.

Het verschil tussen een koppeling die overleeft en eentje die op het slechtste moment breekt, zit zelden in de codekwaliteit, maar in de aannames die je vooraf inbouwt.

Drie ingebouwde aannames

  1. Input van buiten is verdacht. We valideren de data voordat die in onze database belandt. Dat doen we niet omdat de leverancier kwaadwillend is, maar omdat het zomaar gebeurt dat een veld op een woensdagavond zonder aankondiging een andere naam krijgt.
  2. Alles kan opnieuw. We bouwen idempotente endpoints: een verzoek dat twee keer binnenkomt, mag nooit een dubbel record opleveren. Dat scheelt jullie later het uitzoeken van wat er per ongeluk twee keer gebeurde.
  3. Alles wordt zichtbaar. Een dashboard laat je direct zien of een leverancier zijn API stilletjes heeft veranderd, zonder dat je in logbestanden hoeft te zoeken of op vermoedens hoeft te varen.
Probeer dit zelf

Vraag de bouwer van jullie koppelingen: wat gebeurt er als ik dit endpoint twee keer aanroep? Als het antwoord onzeker is, weet je waar de eerste verbetering zit.

Wat dat in de praktijk scheelt

Een leverancier die op donderdag zonder aankondiging een veldnaam wijzigt, ziet maandagochtend onze melding, in plaats van een gebroken proces dat al een weekend draait. Daarvoor is vooral de keuze nodig om koppelingen te bouwen voor de dag waarop het misgaat. Wil je weten waar voor jouw organisatie de meeste winst zit? Vraag dan een kosteloze GRIP-analyse aan.

Wat je hieruit meeneemt

Een goede koppeling is gebouwd voor de dag waarop het misgaat, niet voor de dag waarop het werkt
Idempotente endpoints schelen later uitzoekwerk
Een melding op maandag voorkomt een weekend lang een gebroken proces