IOSOR База знаний

Переход между каналами без двойного списания

Настройка бесшовного хэндовера сообщений с SMS на WhatsApp и email без повторных списаний средств с баланса платформы IOSOR.

Переход между каналами без двойного списания.

Логика передачи треда и риски двойных списаний

При переключении контекста между каналами — например, перенаправлении неудавшегося SMS в WhatsApp или email — примитивные биллинговые модули часто списывают средства дважды. Отправка SMS вызывает резервирование средств на балансе сразу после передачи сообщения. Если DLR от оператора задерживается, несинхронизированный оркестратор может запустить отправку WhatsApp-шаблона или email, пока сумма за SMS еще не возвращена.

Оркестрация SMS-фолбека и удержание баланса

Исключение двойных списаний базируется на строгой логике конечных автоматов. Когда исходящая нотификация стартует через SMS, платформа IOSOR оформляет временный холд на предоплаченном балансе с учетом E.164 формата номера. Если SMS не доставляется, движок оркестрации анализирует webhook до запуска следующего шага. Если окно сессии WhatsApp уже открыто, система снимает холд с SMS и отправляет диалоговое сообщение.

Идемпотентность в мультиканальной маршрутизации

Ошибки двойного списания часто возникают из-за повторных API-запросов. Для соблюдения принципа однократного списания при миграции треда каждый запрос содержит единый ключ идемпотентности для всех каналов. Если сервер пытается отправить письмо из-за таймаута SMS OTP, биллинговый реестр сверяет ключ идемпотентности с активными записями. Если резерв под SMS ожидает финальный DLR, роутер приостанавливает списывание по второму каналу до завершения первого.

Сверка транзакций в реальном времени для WhatsApp и Email

Сверка реестра в реальном времени дает операторам полную финансовую прозрачность. Каждый шаг — будь то SMS, WhatsApp или email — формирует события в реестре с учетом MRC и стоимости доставки. При переходе треда реестр сверяет временные холды с финальными статусами. Если SMS возвращает ошибку, холд снимается мгновенно до того, как сработает платный WhatsApp-шаблон.

Правила маршрутизации и экосистема

Создание надежных мультиканальных сценариев требует связи правил маршрутизации с управлением балансом.

Связанные материалы: Единая нить переписки через SMS, WhatsApp и Email · Смена From в середине треда: сохранение целостности идентификатора · prepaid-резерв до первого списания.

Начните с IOSOR

Чтобы избежать двойного списания при переходе потока между каналами, настройте в IOSOR вебхуки DLR для мгновенного освобождения зарезервированных средств при успешной доставке SMS, либо для переназначения резерва сессии на новый канал (WhatsApp/email) в случае отката. Используйте консоль IOSOR для проверки записей в реальном времени по любому многоканальному потоку, чтобы гарантировать точность расчетов. Это обеспечивает, что одно логическое сообщение тарифицируется только один раз, независимо от его пути.

Итог IOSOR

Эта статья доказала, что поддержание финансовой целостности при омниканальных переходах требует сложного подхода, использующего строгую логику конечных автоматов, унифицированные ключи идемпотентности и сверку в реальном времени. Архитектура IOSOR разработана для обеспечения того, чтобы каждое логическое сообщение влекло за собой одно, точное списание, даже когда разговор плавно переходит из SMS в другие каналы, такие как WhatsApp или электронная почта.

Внедряйте надежные ключи идемпотентности на всех уровнях маршрутизации и настраивайте сверку в реальном времени для точного отслеживания затрат. Не полагайтесь на простые последовательные процессы тарификации, которые рискуют двойным списанием средств с кошельков арендаторов при переходе потока от первоначальной отправки SMS к последующему переходу на другой канал.

Был ли материал полезен?

Связанные гайды