Een API-afspraak is pas uitvoerbaar als uw koppeling ook bij een ontbrekend antwoord veilig werkt. Een herhaald verzoek kan extra kosten of een dubbele handeling veroorzaken. Bespreek daarom niet alleen hoeveel verzoeken zijn toegestaan, maar ook wat een timeout betekent en hoe de afnemer het werkelijke resultaat controleert.
Test limieten, kosten en dubbele handelingen voordat u productietoegang geeft.
Maak lezen en wijzigen afzonderlijk testbaar
Noem per functie of de koppeling alleen gegevens leest of ook acties uitvoert, zoals een order aanmaken. Vraag bij wijzigen hoe dubbele verzoeken worden herkend. Een netwerkfout bewijst niet dat de eerste actie mislukte. Laat de ontwikkelaars daarom een timeout na succesvolle verwerking testen, voordat de koppeling automatisch opnieuw probeert.
NCSC biedt beveiligingsrichtlijnen voor webapplicaties, ook bruikbaar voor API-voorzieningen. Stem toegangsbeheer en technische maatregelen af met beide beheerders. Geef test- en productiegebruik afzonderlijke toegang. Zet geheime sleutels niet in de overeenkomst, factuur of gewone supportmail; leg alleen de veilige verstrekking en intrekking vast.
Voorbeeld: vijf keer meer verzoeken door een storing
Fictief: uw webshop verwacht 60.000 verzoeken per maand. De prijsafspraak bevat 100.000 verzoeken en daarna € 0,002 per extra verzoek. Een fout laat elke aanvraag vijf keer uitvoeren: 300.000 verzoeken. Als alle herhalingen volgens de afspraak meetellen, zijn 200.000 verzoeken extra en kost dat € 400.
Spreek af welke mislukte verzoeken tellen, hoe gebruik inzichtelijk wordt en of een waarschuwing of stopgrens mogelijk is. De ontwikkelaar begrenst herhalen en voorkomt dubbele orders. Bespreek ook wat tijdelijk oude voorraadgegevens betekenen voor verkoop; geen antwoord mag niet ongemerkt nul voorraad of onbeperkte voorraad worden.
Beproef de slechtste dag
Laat beide beheerders een gelekte sleutel, timeout en aangekondigde versiewijziging doorlopen. Noteer wie toegang intrekt, wie klanten informeert en hoe herstel wordt gecontroleerd. Geef productietoegang pas als die afspraken passen bij de werkelijke koppeling.
