IOSOR Знания

Повторен опит за неуспешни елементи на SMS кампания без двойна доставка

Безопасно пренасочване на неуспешни елементи в white-label предплатени SMS кампании без повторно фактуриране на доставени съобщения.

Повторният опит за изпращане изисква проверка на DLR статуса, за да не се допусне двойно таксуване. Закъснели известия през webhook често изглеждат като грешка. Системата трябва да сравни записа преди нов JIT опит.

Анатомия на неуспешен SMS елемент

Когато стартирате white-label предплатени CPaaS кампании, мрежовите сривове и изтичането на времето за изчакване от оператора причиняват неуспех на определени елементи. Операторите се нуждаят от ясен изглед на състоянията на изпращане, преди да задействат каквато и да е логика за повторен опит. Неуспешният елемент може да върне грешка от горния поток или да изтече напълно, докато е в опашката в JIT тръбопровода за изпращане. Преди да предприемат действия, системите трябва да съгласуват потвържденията за доставка (DLR), за да гарантират, че не бъркате забавената обратна връзка с постоянна грешка.

Опасността от двойна доставка и двойно таксуване

Най-критичният риск при ръчни или автоматизирани повторни опити на кампании е изпращането на абсолютно същия текст два пъти и задействането на двойно таксуване. Ако уебхук докладва за изтичане на времето за изчакване, операторът все пак може да достави съобщението минути по-късно. Слепото избутване на цялата партида през скрипт за пренасочване незабавно ще таксува вашия клиент два пъти за същото съдържание. Защитата срещу това изисква проверка на състоянията на главната книга и ключовете за дедупликация преди изпращане.

Съгласуване на закъснението на DLR спрямо действителните състояния на доставка

Мрежовото запушване често води до закъснели отчети за състоянието, което кара да изглежда, че съобщението се е провалило, когато то просто е било заседнало в опашката. Разбирането на пропуските, обсъдени в Забавяне на DLR срещу приет API: спрете да хабите предплатен баланс за късни …, е от жизненоважно значение за безопасността при повторни опити. Ако агрегатор приеме заявка към API, но забави крайното обаждане за състояние, третирането му като грешка твърде рано ще доведе до дублирани изпращания.

Безопасно хеширане на полезния товар и ключове за идемпотентност

За да се предотврати дублирано изпълнение на мрежово ниво, всяка изходяща SMS заявка изисква уникален ключ за идемпотентност. Когато елемент от кампанията се провали и влезе в опашката за повторни опити, системата генерира осолен хеш, комбиниращ E.164 номера на получателя, ID на кампанията и времевия печат. Ако пристигне дублиран уебхук с абсолютно същия хеш, механизмът за таксуване го отхвърля незабавно, предотвратявайки вторични дебити по главната книга.

Обработка на частични грешки в партидите по време на фаилоувър

Когато основният маршрут се влоши, трафикът се превключва към резервен маршрут, което често води до смесени резултати от партидата, където половината съобщения успеят, а другата половина заглъхнат. Управлението на тези фрагментирани изпълнения безопасно изисква изолиране на неуспешния подмножество без смущения в активния тръбопровод. Подобни принципи важат при управлението на сценарии за Частично изпращане при отказ без двойно таксуване в настройки с множество оператори.

Започнете с IOSOR

Отворете конзолата на IOSOR и активирайте хеширане за идепотентност на полезния товар в тръбопроводите за повторни опити на кампанията, за да блокирате автоматично дублираните изпращания. Задължително задайте задържащ период за съгласуване на отчетите за доставка, преди дадено съобщение да бъде маркирано като трайно неуспешно за повторно поставяне в опашката. Изолирайте частичните неуспехи на партидите директно от логовете на опашката за изпращане, така че само непотвърдените дестинации във формат E.164 да бъдат обработени отново.

Обобщение IOSOR

Повторното изпращане на неуспешни елементи от кампанията без стриктна идепотентност и съгласуване на закъснението на отчетите за доставка води директно до дублиране на съобщенията и загубени предплатени средства.

Полезно ли беше ръководството?

Свързани ръководства