Idempotensnøkkel
En idempotensnøkkel identifiserer gjentakelser av samme tilsiktede forespørsel. Område, lagringstid og API-regler avgjør virkningen.
En idempotensnøkkel er en identifikator valgt av klienten som lar en tjeneste gjenkjenne gjentakelser av samme tilsiktede forespørsel. Målet er å unngå at en allerede utført forretningshandling utføres på nytt ved et nytt forsøk. API-kontrakten fastsetter den konkrete virkningen.
Vurder en forespørsel med usikkert utfall på nytt
I en oppdiktet portal brytes forbindelsen etter en forespørsel om ordreopprettelse. Det er uklart om ERP-systemet allerede har opprettet ordren. Hvis tjenesten støtter denne beskyttelsen, bruker portalen samme nøkkel ved et passende nytt forsøk. En ny nøkkel kan utløse enda en opprettelse.
Følg reglene for API-et
Stripe beskriver ulike idempotensregler for API v1 og v2. Headeren Idempotency-Key er et konkret eksempel fra denne leverandøren. Kontroller område, lagringstid og håndtering av endrede forespørselsdata. Samme nøkkel gir ikke tillatelse til vilkårlig nytt innhold og er ikke i seg selv bevis på avsluttet behandling.
Kilder
Beslektede begreper
- Hendelses-IDEn hendelses-ID identifiserer en hendelse innenfor det avtalte området. En gjentatt levering må skilles fra en ny hendelse.
- Ny sending av webhookNy sending av webhook overfører en melding på nytt. Planlagt gjenoppretting og replay-angrep krever ulike kontroller.
- Transaksjonell inboxEn transaksjonell inbox bruker varige meldingsregistreringer for å beskytte lokal behandling mot doble leveringer.
- MeldingskvitteringEn meldingskvittering forteller meldingsmegleren at en levering er mottatt eller behandlet etter den avtalte regelen.
- Jitter ved nye forsøkRetry-jitter varierer ventetider tilfeldig for å spre nye forsøk og redusere samtidige forespørsler fra mange klienter.
- TestkundeområdeEt logisk avgrenset kundeområde i en multitenant-applikasjon, satt opp for kontroller.
Artikler om temaet








API-er og integrasjon med ASES
ERP, CRM og nettbutikk ryddig koblet sammen

