IOSOR Ghiduri

Reîncercați articolele de campanie SMS eșuate fără livrare dublă

Reintroducerea sigură în coadă a elementelor eșuate în campaniile SMS preplătite white-label, fără a refactura mesajele livrate.

Un webhook întârziat creează iluzia unui timeout, generând riscul unei duble debitări la reexpediere. Soluția sigură constă în reconcilierea rapoartelor DLR înainte de intervenție. Aplicați chei de idempotență direct în fluxul de expediere JIT.

Anatomia unui element SMS eșuat

Atunci când rulați campanii CPaaS preplătite white-label, căderile de rețea și timpii expirați ai operatorului determină eșuarea anumitor elemente. Operatorii au nevoie de o imagine clară asupra stărilor de expediere înainte de a declanșa orice logică de reîncercare. Un element eșuat poate returna o eroare din amonte sau poate expira complet în timp ce se află în coadă în conducta de expediere JIT. Înainte de a lua orice măsură, sistemele trebuie să reconcilieze confirmările de livrare (DLR) pentru a vă asigura că nu confundați feedback-ul întârziat al operatorului cu o eroare permanentă.

Pericolul livrării duble și al facturării duble

Cel mai critic risc în reîncercările manuale sau automate ale campaniilor este trimiterea exact a aceluiași text de două ori și declanșarea unei taxe duble. Dacă un webhook raportează un timeout, operatorul ar putea livra totuși mesajul câteva minute mai târziu. Împingerea oarbă a întregului lot printr-un script de reintroducere în coadă va factura instantaneu clientului dumneavoastră de două ori pentru același conținut. Protejarea împotriva acestui lucru necesită verificarea stărilor registrului și a cheilor de deduplicare înainte de expediere.

Reconcilierea întârzierii DLR față de stările reale de livrare

Congestionarea rețelei duce adesea la rapoarte de stare întârziate, făcând să pară că un mesaj a eșuat când era doar blocat în coadă. Înțelegerea decalajului discutat în Întârzierea DLR vs API acceptat: nu mai consuma creditul prepaid pe confirmăr… este vitală pentru siguranța reîncercării. Dacă un agregator acceptă o cerere API dar întârzie apelul invers final al stării, tratarea acesteia ca eșec prea devreme va declanșa trimiteri duplicate. Operatorii trebuie să implementeze o perioadă de grație.

Hashing sigur al sarcinii utile și chei de idempotență

Pentru a preveni execuția duplicată la nivel de rețea, fiecare solicitare SMS de ieșire necesită o cheie unică de idempotență. Când un element de campanie eșuează și intră în coada de reîncercare, sistemul generează un hash sărat care combină numărul E.164 al destinatarului, ID-ul campaniei și marcajul temporal. Dacă sosește un webhook duplicat cu exact același hash, motorul de facturare îl elimină instantaneu, prevenind debitele secundare din registru.

Gestionarea eșecurilor parțiale de lot în timpul failover-ului

Când o rută primară se degradează, traficul se mută pe o rută de rezervă, rezultând adesea în rezultate mixte de lot unde jumătate din mesaje reușesc, iar cealaltă jumătate se blochează. Gestionarea în siguranță a acestei execuții fragmentate necesită izolarea subsetului eșuat fără a perturba conducta activă. Principii similare se aplică la gestionarea scenariilor Trimitere parțială failover fără taxă dublă în setări cu mai mulți operatori.

Începeți cu IOSOR

Deschide consola IOSOR și activează hashing-ul pentru idempotența payload-ului în conductele de reîncercare a campaniilor, pentru a bloca automat expedierile duplicate. Sativo o perioadă obligatorie de reconciliere a rapoartelor de livrare înainte ca vreun mesaj să fie marcat drept eșuat permanent pentru reintroducere în coadă. Izolează eșecurile parțiale de lot direct din jurnalele cozii de expediere, astfel încât doar destinațiile E.164 neconfirmate să fie reprocesate.

Rezumat IOSOR

Reîncercarea elementelor eșuate d dintr-o campanie fără o idempotență strictă și o reconciliere a întârzierilor rapoartelor de livrare duce direct la livrarea duplicată a mesajelor și la risipirea fondurilor preplătite.

A fost util acest ghid?

Ghiduri conexe