IOSOR Tudás

A duplikált webhook nem hozhat létre második terhelést

Hibaútvonal: az újrapróbálkozások és újrajátszások idempotensek maradnak az előre fizetett egyenlegen és a bejövő üzenetek között — egy eseményazonosító, egy terhelési sor, egy bejövő sor.

A legalább egyszeri kézbesítés újra fog próbálkozni. Egy duplikált webhook, amely második terhelést vagy második bejövő sort küld, pénzügyi és üzemeltetési incidens, nem pedig «ártalmatlan visszaigazolás». Ez az oldal a hibaútvonalat mutatja be: az újrapróbálkozások és újrajátszások idempotensek maradnak az előre fizetett egyenlegen és a bejövő üzenetek között — ez nem az API küldési idempotencia esszéje és nem a bejövő SMS újrapróbálkozási útmutatója.

Kapcsolódó: Aláírás és újrajátszási ablak kapu, Webhook szerződés az első küldés előtt, Terhelési sorok vs kézbesítési státusz ugyanazon a ledgeren.

Az idempotencia hibaútvonal, nem pedig szlogen

Sikeres út: egy aláírt esemény, egy elfogadás, egy terhelés. A hibaútvonal felőrli a bizalmat — időtúllépés, 5xx válasz, szolgáltatói újrajátszás, operátori újraküldés. Tárolja az idempotencia kulcsot a Webhook szerződés az első küldés előtt alapján a mellékhatások (főkönyv, bejövő fiók, CRM) előtt.

Mi számít duplikáltnak

Jelzés Duplikátumként kezelendő, ha Biztonságos kimenet
Eseményazonosító Ugyanaz az azonosító már elfogadva az ablakban Visszaigazolás; nincs második terhelés
Üzenetazonosító Ugyanaz az üzenet már főkönyvbe kötve Sor újrafelhasználása; nincs új díj
Bejövő kulcs Ugyanaz a MO/MT már rögzítve Nincs második bejövő sor
Külső ablak Elavult újrapróbálkozás a kapu elutasítása után Elutasítás; nincs pénz/státusz írás
Ismeretlen

A pénz nem mozdulhat meg kétszer

Ugyanannak az eseményazonosítónak a második terhelése hiba, még akkor is, ha a termék felülete «még mindig kézbesítettként» mutatja. A pénzügyek esemény- vagy üzenetazonosító szerint szűrnek, és egyetlen előre fizetett sort látnak az adott UTC ablakban. A visszaigazolás utáni részleges mellékhatások — először CRM, utána főkönyv — kettős igazságot teremtenek.

A bejövő sem duplázódhat meg

Az idempotencia nemcsak a pénzre vonatkozik. Egy újrajátszott bejövő vagy kézbesítési esemény, amely második bejövő szálat nyit, arra tanítja az ügyfélszolgálatot, hogy szellemeket keressen, és automatikus válaszciklusokat indíthat el. Tárolja a bejövő kulcsot ugyanazzal az eseményazonosítóval, amelyet a terheléshez használt. A termék és a pénzügy osztozik az elutasítási és duplikációs szabályokon a bejövő postaláda tisztaságának megőrzése érdekében.

Vásárlói ellenőrzőlista a duplikációbiztos webhookokhoz

Tesztelje az újrajátszást az élesítés előtt. Küldje el ugyanazt a webhookot kétszer egymás után: az első egy terhelést hoz létre, a második visszaigazolást ad új terhelés vagy sor nélkül. Ellenőrizze, hogy a háttérrendszer főkönyve csak egy tranzakciós sort mutat az adott időbélyeghez. Győződjön meg arról, hogy a hibatérkép elkülöníti avalódi elutasításokat az újrapróbálkozási ismétlésektől.

Kezdje az IOSOR rendszerrel

Kényszerítsen egy aláírt újrajátszást az ablakon belül egy folyosón, amely már terhelt. Exportálja az eseményazonosítót a főkönyvi azonosító mellé, és bizonyítson egy terheléssort plusz egy beérkezett sort. Ha második terhelés jelenik meg, állítsa le azt a fogyasztót és térítse a plusz sort — ne nettózza későbbi forgalommal. Ez a kapu újrajátszás-pénz, nem E.164-ellenőrzés és nem szállítási szöveg.

IOSOR összegzés

Az újrajátszás nem új küldés. Egy eseményazonosító egy terhelést ír.

Tegye: tartsa a aláírást és az ablakot, majd bizonyítson egy terhelést az ablakbeli POST után. Ne tegye: minden POST-ot terhelni, vagy a hálózati újrapróbát második számlának nézni.

Hasznos volt ez az útmutató?

Kapcsolódó útmutatók