IOSOR База знаний

Состояния жизненного цикла сообщений в отличие от плейбуков доставляемости

Разбор работы стейт-машины SMS от отправки до статусов queued, sent и DLR, а также удержания баланса, вебхуков и правил платформы.

Состояния жизненного цикла сообщений в отличие от плейбуков доставляемости.

Прием через API и первоначальное состояние Queued

Когда клиент API отправляет запрос на отправку SMS, платформа выполняет синтаксическую валидацию и авторизацию баланса. Номер назначения должен строго соответствовать формату E.164 для отправки транзакционных OTP сообщений и сервисных уведомлений. Перед переводом записи в конечную стейт-машину система проверяет соблюдение требования USD 20 prepaid floor.

Переход в состояние Sent и передача в сеть оператора

Из состояния 'queued' внутренний диспетчер передает запись в конвейер отправки. На этом этапе обрабатываются правила маршрутизации, проверяется соответствие Sender ID и доступность каналов. Если для отправки требуется выделенный номер, платформа использует JIT выделение ресурса для привязки адреса к текущей сессии. Переход из 'queued' в 'sent' означает успешную передачу пакета в интерфейс оператора связи.

Асинхронные статусы DLR и обработка ошибок

Переход из 'sent' в финальное терминальное состояние происходит асинхронно при получении отчетов о доставке (DLR). Оператор возвращает статус с деталями обработки, такими как 'delivered', 'undelivered' или 'failed'. Если абонент недоступен, DLR остается в ожидании до истечения таймеров сети. При получении финального статуса система фиксирует стандартные коды ошибок, учитывая правила обработки STOP команд и статусных ответов Verify OK.

Удержание баланса и платформенные лимиты

Каждая смена состояния синхронизирована с финансовым биллингом и абонентскими платами MRC. При приеме запроса рассчитывается сумма резерва с учетом префикса назначения и количества сегментов. При росте объемов трафика включаются автоматические алгоритмы контроля. В частности, когда месячный оборот проходит soft review near USD 1,000/month, система выполняет фоновую валидацию активности без остановки обработки очереди.

Наблюдаемость состояний и интеграция вебхуков

Для отслеживания смены состояний в клиентских приложениях используются подписи HTTP вебхуков. При переходах между 'queued', 'sent' и финальным DLR платформа отправляет обратные вызовы с идентификаторами сообщений, метками времени и кодами ошибок.

Связанные материалы: Сообщение в очереди: холдирование баланса вместо списания · Разница между Queued и Sent в IOSOR: единый путь сообщения · prepaid-резерв до первого списания.

Начните с IOSOR

Перейдите в консоль IOSOR и настройте обработку вебхуков для отслеживания переходов между состояниями queued, sent и конечными статусами DLR. Проверьте корректность сопоставления внутренних статус-кодов платформы с кодами ошибок операторов в журнале событий. Анализируйте работу конечного автомата до попыток ручной настройки маршрутизации.

Итог IOSOR

Данный материал доказал, что жизненный цикл SMS — это детерминированный конечный автомат, а не абстрактная метрика доставляемости. Каждое сообщение проходит строгую цепочку от валидации формата E.164 и фиксации холдов на балансе до асинхронной обработки статусных отчетов DLR от мобильных сетей.

Делайте: отслеживайте каждый переход состояния через подписанные HTTP-вебхуки и логируйте точные причины терминальных сбоев. Не делайте: не путайте задержки очереди диспетчеризации с ошибками операторского шлюза и не пытайтесь повышать процент доставки без аудита технических статусов.

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

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