BroadNet
Каналы обмена сообщениямиОркестрация

Откат каналов и омниканальная оркестрация

Обновлено 5 мин чтенияна основе стандартов
Прямой ответ

Оркестрация каналов доставляет одно логическое сообщение по нескольким каналам каскадом: проверить возможности, попробовать предпочтительный насыщенный канал (RCS или WhatsApp) и откатиться на SMS при отсутствии возможности, сбое или тайм-ауте. Маршрутизация балансирует наименьшую стоимость и наилучший опыт, правила повторов и тайм-аутов ограничивают каждый шаг, а единый DLR сверяет статус по каналам.

СхемаПуть OTP с резервным каналом (fallback)
  1. Пользователь запрашивает кодВход, оплата или регистрация
  2. Ваше приложение вызывает API верификацииОдин запрос на один код
  3. BroadNet доставляет кодПо лучшему доступному каналуРезервный канал в случае недоставкиSMSWhatsAppГолос
  4. Пользователь вводит кодПроверка на соответствие выданному коду
  5. ПодтвержденоДоступ разрешен
§01

Зачем нужна оркестрация

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

§02

Каскад: проверка возможностей, затем откат

Каскад — это упорядоченный список каналов с правилом перехода к следующему. Он начинается с проверки возможностей — достижимо ли это устройство по RCS, дал ли этот пользователь opt-in для WhatsApp — потому что отправка на недостижимый канал лишь тратит шаг. Оркестратор пробует первый подходящий канал и переходит к следующему по заданному триггеру: канал недоступен, отправка отклонена или доставка не подтверждена в течение тайм-аута. Распространённые каскады — RCS→SMS (сначала насыщенный брендированный, универсальный текст как опора), WhatsApp→SMS (сначала канал приложения с opt-in, иначе SMS) и RCS→WhatsApp→SMS. SMS почти всегда стоит внизу, потому что это универсальная, всегда достижимая опора.

Каскад RCS → WhatsApp → SMS с проверками возможностей и тайм-аутовtext
deliver(order_shipped, +15551234567):
  if rcsCapable(msisdn):
      send RCS rich card;  await DLR up to T_rcs
      if delivered: DONE
  if whatsappOptedIn(msisdn):
      send WhatsApp template; await status up to T_wa
      if delivered/read: DONE
  send SMS (universal fallback);  await DLR up to T_sms
  record final status on the unified message id
§03

Маршрутизация: наименьшая стоимость против наилучшего опыта

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

Цели маршрутизации и где каждая подходит
ЦельПредпочтительноЛучший вариант для
Минимальная стоимостьСамый дешёвый подходящий канал/маршрутУведомления большого объема, но низкой срочности
Лучший пользовательский опытСамый функциональный верифицированный поддерживаемый каналФирменные, интерактивные, ориентированные на вовлечение аудитории сообщения
Приоритет надежностиКанал с наивысшей гарантией доставкиOTP, критически важные/срочные оповещения
С соблюдением комплаенсаТолько каналы, разрешённые на рынкеРегулируемые адреса назначения, правила идентификации отправителя
§04

Повторы, тайм-ауты и дедупликация

Каждому шагу каскада нужно ограниченное поведение, чтобы вся доставка была детерминированной и никогда не тарифицировала получателя дважды. Тайм-аут по каналу определяет, как долго ждать подтверждения перед переходом — достаточно долго для легитимной доставки, достаточно коротко, чтобы откат ещё пришёл с пользой (OTP, пришедший часом позже, бесполезен). Повторы внутри канала обрабатывают временные сбои, но должны отличать постоянный отказ (немедленно перейти дальше) от временного (повторить, затем перейти). А поскольку сообщение могло быть отправлено по насыщенному каналу, пока срабатывает откат, оркестратор дедуплицирует по единому логическому идентификатору сообщения, чтобы клиент не получил одно и то же уведомление дважды. Ключи идемпотентности при отправке делают повторы безопасными.

§05

Единые отчёты о доставке по всем каналам

Каждый канал сообщает о доставке по-своему — SMS возвращает отчёт о доставке SS7/SMPP, WhatsApp отправляет webhook sent/delivered/read/failed, RCS выдаёт события доставки и прочтения, — поэтому оркестрированной отправке нужен единый DLR, который отображает их все в одну модель статуса по логическому идентификатору сообщения. Это позволяет отправителю задать единственный вопрос — «дошло ли это до клиента и как» — и получить один ответ, называющий канал, который в итоге доставил, каналы, которые были опробованы и пропущены, и сигнал прочтения/вовлечённости там, где канал его предоставляет. Единое представление также питает аналитику маршрутизации — какие каскады доставляют, по какой стоимости, на каких рынках — замыкая цикл от политики к результату.

Статус каждого канала, отображённый в единую модель
КаналСобственный статус каналаЕдиный статус
SMSОтчёт о доставке SMPP / SS7отправлено / доставлено / не доставлено
RCSСобытия доставки + прочтенияотправлено / доставлено / прочитано / не удалось
WhatsAppwebhook: отправлено / доставлено / прочитано / сбойотправлено / доставлено / прочитано / не удалось
Результат каскада(составной)delivered-via-<channel> / exhausted
Часто задаваемые вопросы

Часто задаваемые вопросы

Что такое откат каналов?

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

Как оркестратор решает, какой канал попробовать первым?

Он сочетает проверку возможностей (достижимо ли устройство по RCS, дал ли пользователь opt-in для WhatsApp) с политикой маршрутизации. Маршрутизация по наименьшей стоимости предпочитает самый дешёвый подходящий канал; по наилучшему опыту — самый насыщенный верифицированный; по надёжности — гарантированную доставку. Правила конкретного рынка, такие как регистрация sender ID и категории WhatsApp, дополнительно ограничивают подходящие каналы.

Что такое маршрутизация по наименьшей стоимости против наилучшего опыта?

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

Как откат избегает отправки одного и того же сообщения дважды?

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

Какой тайм-аут должен использовать каждый шаг канала?

Достаточно долгий, чтобы допустить легитимное подтверждение доставки, достаточно короткий, чтобы откат ещё пришёл с пользой. Одноразовый код, пришедший часом позже, бесполезен, поэтому его пошаговые тайм-ауты коротки; несрочное уведомление может дольше ждать на насыщенном канале, прежде чем откатиться на SMS.

Что такое единый DLR?

Единый отчёт о доставке отображает нативный статус каждого канала — отчёты о доставке SMS, webhook sent/delivered/read/failed WhatsApp, события доставки и прочтения RCS — в одну модель статуса по логическому идентификатору сообщения. Он позволяет отправителю задать единственный вопрос о том, дошло ли и как сообщение до клиента, и питает аналитику маршрутизации.

Ссылки

Технические характеристики источника

На этой странице представлены опубликованные стандарты, на которых они основаны. (Открывается в новой вкладке)

BNПоддерживается инженерной командой BroadNet·Обмен сообщениями операторского класса с 2003 года.
Прикрепите это к проводу

Разработано с использованием реального SMPP подключения и REST API.

Запросите тестовый доступ с реальными тестовыми ключами: сначала отправьте их на свой подтвержденный номер, а затем, после утверждения вашей личности отправителя и маршрутов, переходите к использованию в производственной среде более чем в 200 странах.