BroadNet
ЖурналИнженерия
Инженерия

Разработка стратегии резервирования для многоканальной системы обмена сообщениями в случае сбоя.

RCS, WhatsApp, SMS и голосовая связь дают сбои по-разному. Практическая архитектура для их координации, позволяющая доставлять сообщения пользователю независимо от того, какой канал недоступен.

BroadNet Engineering
8 мин чтения
Инженерия · Выпуск 27
8 мин чтения

дноканальная система обмена сообщениями имеет единую точку отказа. WhatsApp может выйти из строя, пользователь может быть недоступен в RCS, маршрутизация оператора может ухудшиться, шаблон может быть отклонен в середине кампании. Многоканальная стратегия резервирования рассматривает цель «доставить это сообщение этому человеку», а канал — как взаимозаменяемое средство. Вот как разработать такую стратегию, которая действительно будет работать.

Определите структуру каналов для каждого типа сообщений.

Универсального порядка нет — правильная последовательность зависит от сообщения. Несколько разумных вариантов по умолчанию: для аутентификации — сначала WhatsApp или RCS (расширенные возможности, фирменный стиль, быстрая работа), затем SMS, а затем голосовой OTP. Для транзакционных уведомлений — сначала RCS или WhatsApp для фирменного стиля, SMS как гарантированный запасной вариант. Для срочных оповещений — начните с SMS для максимальной доступности и добавьте голосовой ответ в качестве эскалатора. Определите последовательность действий обдуманно, для каждого типа сообщения, и запишите её.

Переключение на резервный сервер должно быть условным, а не слепым.

  • Сбой в работе — пользователь недоступен по каналу (не настроен RCS, нет учетной записи WhatsApp). Немедленно отключитесь; не ждите.
  • Сбой доставки — канал принял сообщение, но DLR показывает, что оно не доставлено. Отказ в доставке из-за отрицательного подтверждения.
  • Ошибка тайм-аута — отсутствие положительного подтверждения доставки в течение установленного для данного типа сообщения срока (жесткий для OTP, более гибкий для уведомлений). После истечения времени отправка сообщения прерывается.
  • Сбой провайдера — сам канал недоступен. Обнаружение с помощью мониторинга частоты ошибок и переключение всего канала на резервный канал для всего трафика, а не для каждого сообщения по отдельности.

Остерегайтесь двойной доставки

Скрытая ошибка в любой системе резервирования заключается в отправке сообщения дважды — один раз по каналу, который был медленным, но фактически не вышел из строя, и еще раз на резервном канале. Для OTP это особенно опасно: пользователь получает два разных кода и не знает, какой из них использовать. Решение состоит в едином источнике достоверной информации о состоянии доставки для каждого сообщения, фиксации каждой отправки (сохраняйте идентификатор сообщения, который возвращает API, и проверяйте его статус перед повторной отправкой), чтобы повторная попытка никогда не приводила к второй отправке, и — для OTP — в генерации кода один раз и его повторном использовании на каждом канале в цепочке, чтобы любое прибывшее сообщение содержало действительный код.

Стоимость и опыт влияют на снижение уровня обслуживания.

Каждая ступенька лестницы имеет свою экономику и свой пользовательский опыт. Переключение на резервный канал не бесплатно — это может означать менее брендированное сообщение или более высокую стоимость за единицу. Это нормально и правильно: немного более дорогое SMS-сообщение, которое дошло, лучше, чем бесплатное сообщение WhatsApp, которое не дошло. Но это означает, что вам следует отслеживать коэффициент переключения на резервный канал. Если 40% трафика переходит на последнюю ступеньку, проблема находится на более высоком уровне — некорректные данные о возможностях канала, неправильно настроенный основной канал — и вам следует устранить причину, а не платить за симптом.

Многоканальный API BroadNet реализует полный набор функций — проверку возможностей, условное переключение при сбое, общий код одноразового пароля и аналитику по каждому каналу — за одним вызовом API, и возвращает идентификатор сообщения для каждой отправки, чтобы ваши повторные попытки проверяли статус, а не отправляли дважды (см. идемпотентность и безопасные повторы). Вы описываете сообщение и приоритет; платформа управляет процессом.

Проверьте пути возникновения ошибок.

Наиболее распространенная причина неработоспособности стратегии переключения на резервный канал в производственной среде заключается в том, что путь переключения на резервный канал никогда не был проверен — он был написан, развернут и не был запущен до реального сбоя. Создайте синтетические тесты, которые имитируют каждый режим отказа (отключение основного канала, имитация тайм-аута, внедрение отрицательного значения DLR) и подтверждают, что сообщение все равно доходит до адресата. Путь переключения на резервный канал, который вы не протестировали, — это путь переключения на резервный канал, которого у вас нет.

Была ли эта информация полезна?

Как мы готовим и проверяем материалы

Автор:

BroadNet Engineering

Инженеры управляют сетью: привязки SMPP , стеки SS7 , маршрутизирующие механизмы, скучная инфраструктура, которая делает возможным обработку миллиарда сообщений в месяц. Они пишут здесь, когда есть что-то, что стоит записать.

Продолжайте читать

Ещё три статьи из журнала.

Посмотреть все эссе
М
Инженерия

Массовая рассылка SMS в кризисной ситуации: архитектура, необходимая до наступления чрезвычайной ситуации.

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

BroadNet Engineering
6m
М
Продукт

Многоканальная верификация OTP в 2026 году: SMS, WhatsApp, голосовая связь и резервный вариант, сохраняющий конверсии.

Один недоставленный код — один потерянный пользователь. Вот почему одноканальные SMS-коды OTP не работают, как многоканальный API проверки с автоматическим резервным вариантом спасает конверсии и как выбрать подходящий.

Редакционная группа BroadNet
9m
W
Продукт

WhatsApp или SMS? Как выбрать канал перед отправкой и настроить резервный вариант при сбое WhatsApp

Сообщение WhatsApp будет доставлено только в том случае, если получатель использует WhatsApp, дал свое согласие на получение сообщений от вас и имеет техническую возможность их принять; в противном случае облачный API сообщит об ошибке, например, об ошибке 131026. В этом руководстве показано, как выбирать канал для каждого получателя, интерпретировать ошибки доставки Meta и автоматически переключаться на SMS.

Редакционная группа BroadNet
9m
Журнал, по электронной почте

Одно эссе в месяц. Больше ничего.

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

Одно письмо в месяц. Отписаться можно в любой момент. См. нашу политику конфиденциальности.

Что вы получите
  • Подробный текст, а не призыв к действию.
    Шесть-одиннадцать минут сосредоточенного письма на одну тему.
  • Написано операторами
    В штате компании работают инженеры, специалисты по регулированию и разработчики продуктов.
  • Регионально-зависимый
    Взгляд со стороны региона MENA на регулирующие органы, операторов и структуру каналов сбыта.
  • Раз в месяц
    Никаких рассылок по частям. Одно эссе, когда есть чем поделиться.
Прекратите читать. Начинайте отправлять.

Большую часть того, что мы пишем, мы освоили в процессе производства.

Если эта статья вас заинтересовала, нам, вероятно, стоит поговорить. Расскажите о сценарии использования, объемах, рынках — мы предложим маршруты, цены и контактные данные клиента, которому вы сможете позвонить.

$ curl -X POST https://api.broadnet.me/sms/sendSms