IOSOR Znalosti
Webhooky příchozích SMS: opakování, pořadí událostí a idempotence při přijetí
Průvodce vývojem pro B2B týmy zpracovávající příchozí SMS: proč dochází k opakováním, proč pořadí událostí není zaručeno, a jak udělat váš přijímací endpoint idempotentní místo duplikování konverzací a zpracování STOP.
Každý zpracovatel příchozích zpráv nakonec narazí na stejné tři překvapení: stejný webhook se spustí dvakrát, událost "delivered" přijde po "failed", kterou měla nahradit, a odpověď STOP od zákazníka se zpracuje dvakrát, protože dva servery přijaly stejné opakování. Nic z toho není chyba platformy, která vám webhook posílá — je to normální chování jakéhokoli systému doručování "alespoň jednou", a váš přijímací endpoint musí být pro tuto realitu postaven od prvního dne.
IOSOR doručuje příchozí SMS, klíčová slova STOP/HELP a události doručení jako white-label předplacené webhooky — chování opakování a pořadí popsané níže je to, co by měla předpokládat jakákoli seriózní B2B integrace bez ohledu na to, jaká platforma za ní stojí.
Proč webhooky vůbec opakují
Poskytovatel webhooku nemůže s jistotou vědět, že váš endpoint zpracoval doručení. Váš server může vrátit 200 po commitu do databáze, která je pak vrácena zpět; load balancer může ztratit odpověď na zpáteční cestě, i když váš handler uspěl; nasazení může restartovat váš proces uprostřed požadavku.
Tři režimy selhání, pro které musíte navrhovat
| Režim selhání | Co se stane | Co se rozbije, když to ignorujete |
|---|---|---|
| Duplicitní doručení | Stejné ID události přijde 2+ krát | Dvakrát počítané odpovědi, duplicitní zpracování STOP, duplicitní vlákna konverzace |
| Události mimo pořadí | Událost s pozdější časovou značkou přijde před dřívější | Stav "delivered" je přepsán zpět na "sent" |
| Částečné/nejednoznačné selhání | Váš |
Idempotence: jedna vlastnost, která řeší všechny tři
Idempotentní přijímací endpoint produkuje stejný konečný stav bez ohledu na to, kolikrát je stejná událost doručena. Mechanismus je jednoduchý a dobře pochopený: každá příchozí událost nese jedinečné ID události; před zpracováním kontrolujete, zda jste toto ID již zaznamenali; pokud ano, okamžitě vrátíte úspěch bez opětovného zpracování. 1.
Pořadí událostí: proč je "poslední zápis vyhrává" nebezpečné
Webhookové události pro stejnou zprávu nejsou zaručeně doručeny v pořadí, ve kterém se odehrály. Opakování dřívější události "queued" může přijít po pozdější události "delivered" kvůli síťovému jitteru, frontování na straně poskytovatele, nebo vaší vlastní skupině workerů zpracovávající požadavky mimo pořadí.
STOP, HELP a další příchozí klíčová slova vyžadují stejnou disciplínu
Příchozí klíčová slova kritická pro compliance si zaslouží nejpřísnější idempotenci ze všech. Duplicitní STOP by nikdy neměl dvakrát zaznamenat událost odhlášení ani odeslat dvě potvrzující odpovědi. Duplicitní HELP by nikdy neměl spustit dvě samostatné podpůrné informační zprávy na stejné číslo ve stejné minutě.
Začněte s IOSOR
Související: smyčky auto-odpovědí inbound · Vyrovnávací paměť příchozích webhooků proti výkyvům latence operátorů · rezervace předplaceného zůstatku před prvním stržením.
Shrnutí IOSOR
Inbound webhooky dělají retry. Idempotence na příjmu je jediná bezpečná odpověď; pořadí není slib.
Dělejte: klíčujte událost a ignorujte dvojče. Nedělejte: last-write-wins na STOP ani dvě stržení za stejnou událost.
Byl tento průvodce užitečný?
Související průvodci
- Konfigurace spouštěčů SMS při zmeškaných příchozích hovorech
Naučte se konfigurovat automatické SMS spouštěče pro zmeškané příchozí hovory a obsazovací tóny v konzoli platformy IOSOR.
- Vyrovnávací paměť příchozích webhooků proti výkyvům latence operátorů
Zjistěte, jak nakonfigurovat pravidla příchozího buferování IOSOR k ochraně vašich webhooků před zpožděním doručení, špičkami souběhu a chybami vypršení časového limitu.
- Synchronizace příchozích klíčových slov odhlášení napříč účty s více nájemci
Zvládněte synchronizaci odhlášení pro více nájemců v systému IOSOR. Zjistěte, jak příchozí klíčová slova stop spravují globální potlačení a zároveň izolují podúčty.