IOSOR Znanje

Duplikat webhook poruke ne smije stvoriti drugo terećenje

Putanja neuspjeha: ponovni pokušaji i reprodukcije ostaju idempotentni na prepaid novcu i pretincu — jedan ID događaja, jedan red terećenja, jedna linija u pretincu.

Dostava s barem jednom isporukom pokušavat će ponovno. Dvostruki webhook koji pošalje drugo terećenje ili drugu liniju pretinca predstavlja financijski i operativni incident, a ne bezopasnu potvrdu. Ova stranica opisuje putanju neuspjeha: ponovni pokušaji i reprodukcije ostaju idempotentni na prepaid novcu i pretincu — ovo nije esej o idempotenciji slanja preko API-ja niti priručnik za ponovne pokušaje dolaznih SMS-ova.

Povezano: Vrata potpisa i prozora ponavljanja, Webhook ugovor prije prvog slanja, Redovi debit vs status isporuke na istom ledgeru.

IOSOR je prepaid rješenje s vlastitom robnom markom. USD 20 financira test duplog događaja na jednom potrošaču, dok mekana recenzija blizu USD 1.000 mjesečno cijeni ponovni pokušaj kao dug.

Idempotencija je putanja neuspjeha, a ne slogan

Sretna putanja prihvaća jedan potpisani događaj, jednu potvrdu i jedno terećenje. Putanja neuspjeha guli povjerenje kad nastupe vremenska ograničenja, 5xx pogreške ili reprodukcije davatelja. Pohranite ključ idempotencije iz ugovora prije slanja prije bilo kakvih nuspojava u glavnoj knjizi ili CRM-u. Blagi prag od USD 1.000 mjesečno tretira izmišljanje novih ključeva kao dug, dok USD 20 dokazuje da prisilna reprodukcija nikada ne udvostručuje novac.

Što se računa kao duplikat

Signal Tretirajte kao duplikat kada Siguran ishod
ID događaja Isti ID već prihvaćen u prozoru Potvrda; bez drugog terećenja
ID poruke Isti ID već povezan s knjigom Ponovna upotreba reda; bez nove naplate
Ključ pretinca Isti MO/MT već arhiviran Nema druge linije u pretincu
Izvan prozora Zastarjeli pokušaj nakon odbijanja Odbijanje; bez zapisa novca/statusa
Nepoznati tip Nije na popisu ugovorenih događaja Odbaci; bez izmišljenog uspjeha

Vrata potpisa i prozora ponavljanja odlučuju o autentičnosti i svježini. Ova stranica uređuje što se događa nakon valjanog duplikata.

Novac se ne smije kretati dvaput

Drugo terećenje za isti ID događaja predstavlja pogrešku čak i ako proizvod i dalje prikazuje isporučeno stanje. Financije filtriraju prema ID-ju i vide točno jedan prepaid red za taj UTC prozor. Djelomične nuspojave nakon potvrde stvaraju opasnu dvostruku istinu. Ako obrada zapne nakon pohrane, ponovno pokrenite radnika na istom ključu.

Ni pretinac se ne smije udvostručiti

Idempotencija se ne tiče samo novca i financijskih knjiga. Reproducirani dolazni događaj koji otvara novu nit u pretincu uči korisničku podršku loviti duhove i može pokrenuti petlje automatskih odgovora. Spremite ključ pretinca uz isti ID događaja koji koristite za terećenje. Proizvod i financije dijele jedinstven jezik odbijanja.

Kontrolni popis kupca za webhooke otporne na duplikate

Provjerite jesu li ključevi idempotencije pohranjeni prije bilo kakvih vanjskih poziva. Osigurajte da financijska izvješća čitaju glavnu knjigu, a ne poruke aplikacije. Testirajte prisilne ponovne pokušaje s malim iznosima prije produkcijskog opterećenja. Nikada nemojte generirati novi ključ samo zato što je stigli mrežni zahtjev kasnio.

Započnite s IOSOR-om

Prisilite jedan potpisani replay unutar prozora na hodniku koji je već teretio. Izvezite event id pored id-a u knjizi i dokažite jedan redak terećenja plus jedan redak dolazne. Ako se pojavi drugo terećenje, zaustavite tog potrošača i vratite višak retka — ne netirajte ga kasnijim prometom. Ova vrata su novac replaya, ne provjera E.164 i ne tekst pošiljke.

Sažetak IOSOR

Replay nije novo slanje. Jedan event id piše jedno terećenje.

Radite: držite potpis i prozor replaya, zatim dokažite jedno terećenje nakon POST-a u prozoru. Ne radite: terećiti svaki POST niti tretirati mrežni retry kao drugi račun.

Je li vam ovaj vodič pomogao?

Povezani vodiči