Стратегия fallback: резервные каналы WhatsApp, RCS и SMS
Как выстроить стратегию резервных каналов для WhatsApp, RCS и SMS: триггеры fallback, таймауты по типам сообщений, защита от дублей, согласие и стоимость.
Автор: OmniChannels.ai Editorial Team · Проверил: BroadNet Messaging Solutions Team
Омниканальность
Короткий ответ
Стратегия резервных каналов (fallback) отправляет каждое сообщение сначала по предпочтительному каналу клиента, например в WhatsApp или RCS, и переключается на следующий канал, обычно SMS, только если первый канал не сработал или доставка не подтверждена за заданное время. Определите порядок каналов и таймаут для каждого типа сообщений, запускайте fallback по статусу доставки, а не прочтения, отменяйте или отзывайте первую попытку, чтобы не создавать дубли, и соблюдайте правила получения согласия в каждом канале.
На этой странице
- Что такое стратегия резервных каналов?
- Как выбрать порядок каналов?
- Что должно запускать fallback?
- Сколько должен ждать каждый шаг?
- Как предотвратить дубли сообщений?
- Как согласие и требования регуляторов влияют на fallback?
- Как fallback влияет на стоимость?
- Как внедрить цепочку резервных каналов по шагам?
- Пример из практики: интернет-магазин электроники в странах Персидского залива
- Какие ошибки в fallback встречаются чаще всего?
- Как помогает OmniChannels.ai
Главное
- У fallback два триггера: мгновенная ошибка при отправке и таймаут, когда доставка не подтверждена; нужно обрабатывать оба.
- Таймаут должен соответствовать времени, в течение которого сообщение остаётся полезным: короткий для OTP и длиннее для уведомлений о заказе, а большинство маркетинговых сообщений вообще не должны переходить на резервный канал.
- Платформа Google RCS умеет автоматически отзывать недоставленные сообщения по истечении срока (message expiration), поэтому передача в SMS проходит чисто.
- Дубли предотвращаются так: фиксируйте, по какому каналу сообщение доставлено, отзывайте или завершайте по сроку ожидающие попытки и используйте уникальные ID сообщений.
- Для каждого канала в цепочке нужно собственное правовое основание или согласие на получение сообщений (opt-in), поэтому маркетинговое сообщение в WhatsApp нельзя просто перевести в маркетинговое SMS.
Это руководство для руководителей CX и CRM и инженеров, которые отправляют важные сообщения по нескольким каналам и хотят, чтобы каждый клиент получил их ровно один раз. Оно объясняет, как построить fallback между WhatsApp, RCS и SMS: что его запускает, сколько ждать, как избежать дублей и где согласие ограничивает ваши возможности. Сравнение самих каналов смотрите в статье WhatsApp, SMS и RCS: сравнение.
Что такое стратегия резервных каналов?
Стратегия резервных каналов (fallback) — это набор правил, который определяет, какой канал использовать первым для каждого сообщения, когда от него отказаться и какой канал взять следующим. Цель: клиент получает сообщение один раз, вовремя и по лучшему из доступных ему каналов.
У каждого канала есть пробелы. WhatsApp доходит только до людей, у которых есть аккаунт и подключение к интернету. RCS доходит только до устройств и операторов, которые поддерживают RCS-сообщения для бизнеса. SMS доходит почти до любого телефона, но передаёт только простой текст. Fallback объединяет каналы так, что пробелы одного закрываются другим.
Цепочка резервных каналов состоит из четырёх частей:
- Порядок каналов, например WhatsApp, затем RCS, затем SMS.
- Триггеры, которые переводят сообщение на следующий канал.
- Таймаут для каждого шага, исходя из того, как долго сообщение остаётся полезным.
- Правила остановки, которые завершают цепочку после подтверждения доставки и отменяют всё, что ещё ожидает отправки.
Как выбрать порядок каналов?
Выбирайте порядок для каждого типа сообщений и каждого клиента, а не один раз для всего бизнеса. WhatsApp, затем RCS, затем SMS — распространённый порядок для насыщенных транзакционных сообщений, но он подходит не всегда.
- Начинайте там, где клиента можно достать. Если по вашим данным у номера нет аккаунта WhatsApp, старт с WhatsApp добавит неудачную попытку и задержку. Если проверка возможностей (capability check) показывает, что номер не принимает RCS, пропустите RCS.
- Для критичных уведомлений ставьте первым самый надёжный канал. Для предупреждений о мошенничестве или сообщений о безопасности многие команды отправляют SMS первым, потому что оно работает без передачи данных, а насыщенный канал используют для последующего сообщения.
- Учитывайте заявленное предпочтение клиента. Если клиент выбрал SMS при регистрации, соблюдайте это, даже если доступен более богатый канал.
- Ведите поддержку в канале клиента. Ответы клиенту, который написал в WhatsApp, должны идти в WhatsApp; fallback нужен для сообщений, инициированных бизнесом.
- Пересматривайте порядок по рынкам. В странах Персидского залива (GCC) WhatsApp широко используется для бизнес-коммуникации, а покрытие RCS зависит от оператора и страны, поэтому лучший порядок может отличаться, например, в ОАЭ и в Европе.
Что должно запускать fallback?
Fallback должны запускать два типа событий: ошибка при отправке и отсутствие подтверждения доставки к концу таймаута. Отчёты о прочтении запускать его не должны.
Мгновенные ошибки
Некоторые сбои известны сразу. В RCS, как указано в документации Google, платформа возвращает 404 NOT_FOUND, если устройство не поддерживает RCS, RCS выключен или ваш агент не запущен в сети пользователя, и 400 INVALID_ARGUMENT, если сообщение использует функцию, которую устройство не может показать. В WhatsApp отправка может завершиться ошибкой, если у номера нет аккаунта WhatsApp или шаблон отклонён. В таких случаях сообщение нужно сразу передавать на следующий канал, не дожидаясь таймаута.
Многих таких ошибок можно избежать, проверив номер заранее. Платформа Google RBM предлагает проверки возможностей (capability checks): они показывают, может ли номер получать RCS и какие функции поддерживает, при условии что номер недавно подключался к RCS.
Таймауты
Другие сбои происходят молча. Сообщение принято, но статус DELIVERED не приходит, обычно потому что телефон выключен или не в сети. Платформа Google RBM хранит недоставленные сообщения в очереди до 30 дней, поэтому без таймаута RCS-сообщение может прийти намного позже, чем оно было нужно.
Почему не отчёты о прочтении?
Отчёты о прочтении зависят от настроек пользователя и в WhatsApp, и в RCS. Клиент, который их отключил, может читать каждое сообщение, но событие READ не придёт никогда. Если переходить на резервный канал из-за отсутствия прочтения, будут уходить лишние SMS и появятся дубли. Используйте данные о прочтении, чтобы измерять вовлечённость, а не чтобы управлять fallback.
| Сигнал | Использовать как триггер fallback? | Почему |
|---|---|---|
| Ошибка при отправке (нет поддержки, нет аккаунта, отклонено) | Да, сразу | Канал не может доставить это сообщение |
| Нет статуса DELIVERED в пределах таймаута | Да | Телефон, вероятно, не в сети или недоступен в этом канале |
| Статус FAILED после принятия | Да, сразу | Попытка доставки завершилась неудачей |
| DELIVERED, но нет READ | Нет | Отчёты о прочтении могут быть отключены |
| Клиент ответил | Остановить цепочку | Доставка подтверждена |
Сколько должен ждать каждый шаг?
Задавайте таймаут исходя из времени, в течение которого сообщение остаётся полезным: чем короче этот срок, тем короче ожидание. Универсального числа нет, поэтому начните с обоснованного значения для каждого сценария и корректируйте его по собственным данным о доставке.
| Тип сообщения | Срок полезности | Подход к таймауту | Типичная цепочка |
|---|---|---|---|
| OTP и коды входа | Минуты | Очень короткий; оставьте клиенту время использовать следующий код | WhatsApp (authentication) или RCS, затем SMS |
| Уведомления о мошенничестве и безопасности | Минуты | Короткий; для самых критичных можно отправлять SMS параллельно | Сначала SMS либо насыщенный канал с быстрым переходом на SMS |
| Уведомления о заказе и доставке | Часы | Умеренный; сообщение должно прийти до события | WhatsApp, затем RCS, затем SMS |
| Напоминания о визите | До времени визита | Длиннее; срок действия должен истекать до того, как напоминание потеряет смысл | WhatsApp или RCS, затем SMS |
| Маркетинг и предложения | До окончания предложения | Обычно без fallback | Один канал с соответствующим согласием |
| Ответы поддержки | Определяется клиентом | Без fallback; отвечайте в канале, которым пользовался клиент | Тот же канал; email, если диалог потерян |
Два правила делают таймауты надёжными:
- Завершайте первую попытку по сроку, когда переходите на резервный канал. В RCS задайте
ttlилиexpireTimeдля сообщения. Документация Google поясняет: если сообщение истекает недоставленным, платформа отзывает его и уведомляет ваш webhook, и это естественный сигнал отправить SMS. Сообщение также можно отозвать явно. Meta тоже описывает настройку времени жизни (TTL) для некоторых типов шаблонов WhatsApp; проверьте в актуальной документации, какие категории её поддерживают. - Задавайте период действия и для SMS. Стандарт SMS (3GPP TS 23.040) позволяет отправителю указать период действия (validity period), по истечении которого сеть прекращает попытки доставки. Короткий период действия для OTP не даст коду прийти после того, как он истёк.
Как предотвратить дубли сообщений?
Считайте каждое сообщение одним логическим сообщением с несколькими возможными доставками и останавливайте цепочку, как только одна доставка подтверждена. Рекомендации Google RBM говорят о том же: убедитесь, что сообщение не было доставлено, прежде чем отправлять его повторно, и используйте уникальные ID сообщений.
Чек-лист защиты от дублей
- Присваивайте один ID логическому сообщению и записывайте на него каждую попытку в каждом канале.
- Проверяйте запись перед каждым шагом fallback: если любой канал сообщил DELIVERED, остановитесь.
- Завершите по сроку или отзовите ожидающую попытку до отправки в следующий канал.
- Учитывайте состояние гонки. Google отмечает, что в редких случаях отзыв может не сработать, потому что сообщение доставляется именно в этот момент. Если отзыв не удался, проверьте наличие события DELIVERED, прежде чем отправлять SMS.
- Делайте содержимое безопасным для двойного получения. Сообщение с OTP не должно подразумевать, что первый код недействителен, если это не так, а два уведомления о заказе не должны противоречить друг другу.
- Фиксируйте причины fallback, чтобы видеть, чем он вызван: ошибками, таймаутами или отсутствием поддержки канала.
Как согласие и требования регуляторов влияют на fallback?
Для каждого канала в цепочке нужно собственное разрешение. Fallback меняет канал, но не переносит согласие с одного канала на другой.
- WhatsApp: Meta требует получить согласие на получение сообщений (opt-in), прежде чем бизнес начнёт отправлять их пользователю, а сообщения по инициативе бизнеса вне окна обслуживания клиента должны использовать утверждённые шаблоны. См. WhatsApp opt-in в документации Meta.
- RCS: проверка Google перед запуском проверяет, что ваши рассылки соответствуют согласию пользователей, а агенты обязаны учитывать STOP и аналогичные ключевые слова.
- SMS: регулируется местными телекоммуникационными правилами и правилами защиты данных. В странах Персидского залива (GCC) для рекламных SMS обычно требуются зарегистрированные имена отправителя (альфа-имена) и соблюдение разрешённых часов отправки; уточняйте детали у регулятора и своего провайдера. Наше руководство по регистрации имени отправителя (альфа-имени) описывает процесс в ОАЭ и Саудовской Аравии.
Поэтому большинству маркетинговых сообщений не нужен fallback. Клиент, согласившийся на предложения в WhatsApp, мог не согласиться на рекламные SMS, а SMS может прийти вне разрешённых часов. Транзакционные сообщения, такие как OTP и уведомления о заказе, находятся в более устойчивой позиции, но во всех каналах они должны оставаться сугубо транзакционными. Держите отписки (opt-out) в центре процесса: STOP в одном канале нужно проверять перед тем, как любой другой канал отправит маркетинговое сообщение. Подробнее — в нашем руководстве по согласию.
Как fallback влияет на стоимость?
Fallback добавляет расходы только тогда, когда срабатывает, но плохо настроенная цепочка может заплатить дважды за одно сообщение. Считайте стоимость доставленного сообщения, а не попытки.
- WhatsApp: Meta берёт плату за каждый доставленный шаблон сообщения в зависимости от категории и рынка получателя. Согласно документации Meta о ценах, с 1 октября 2026 года Meta взимает плату за сервисные сообщения (service) сверх ежемесячного бесплатного лимита на каждый бизнес-номер телефона, а также за служебные шаблоны (utility), отправленные внутри окна обслуживания клиента; уточняйте в актуальном прайс-листе Meta.
- RCS: цены задают рынки, операторы и провайдеры, и они различаются для разных типов сообщений.
- SMS: оплачивается за сегмент в зависимости от направления. Арабский текст использует Unicode, и в сегмент помещается меньше символов; см. наше руководство по ограничениям длины.
Способы снизить расходы без ущерба для доставки:
- Пропускайте каналы, которыми клиент не может пользоваться. Старт с WhatsApp для человека без аккаунта добавляет задержку и неудачную попытку.
- Используйте проверки возможностей перед отправкой RCS.
- Настройте таймауты так, чтобы fallback срабатывал для телефонов вне сети, а не из-за медленных отчётов о доставке (DLR).
- Делайте резервное SMS коротким и, где возможно, в пределах одного сегмента.
Ориентировочные прайс-листовые цены по каналам сравните на нашей странице с ценами.
Как внедрить цепочку резервных каналов по шагам?
- Составьте список типов сообщений и для каждого определите основной канал, цепочку и таймаут.
- Фиксируйте доступность каналов для каждого клиента: известный аккаунт WhatsApp, поддержка RCS, действующий мобильный номер, согласие по каждому каналу.
- Подготовьте равнозначное содержимое для каждого канала, с ключевыми фактами в обычном тексте.
- Приведите статусы доставки из всех каналов к единой модели, например sent, delivered, read и failed, чтобы один движок правил мог на них реагировать.
- Реализуйте триггеры: немедленный fallback при ошибках, fallback по таймеру при отсутствии доставки.
- Реализуйте правила остановки: доставка или ответ завершает цепочку; ожидающие попытки завершаются по сроку или отзываются.
- Протестируйте сценарии сбоев: номер без WhatsApp, телефон с отключённым RCS, выключенный телефон.
- Отслеживайте показатели еженедельно: долю fallback по сценариям и рынкам, причины, дубли и стоимость доставленного сообщения.
Сторону webhook описывают руководство по интеграции API для сообщений и руководство по статусам доставки.
Пример из практики: интернет-магазин электроники в странах Персидского залива
«Najm Electronics» (вымышленный пример) продаёт онлайн в ОАЭ, Саудовской Аравии и Кувейте. Компания отправляет OTP при оформлении заказа, уведомления о заказах и еженедельные предложения.
- OTP при оформлении заказа. Клиенты, про которых известно, что у них есть WhatsApp, получают аутентификационный шаблон (authentication) с кнопкой копирования кода; остальные получают SMS сразу. Если WhatsApp возвращает ошибку или доставка не приходит в течение короткого таймаута, SMS-код отправляется с коротким периодом действия. Страница оформления заказа сообщает клиенту, что код может прийти по SMS.
- Уведомления о заказе. Цепочка: WhatsApp, затем RCS для поддерживаемых устройств, затем SMS. RCS-сообщение содержит насыщенную карточку с действием «Отследить заказ» и сроком действия, который истекает заметно раньше слота доставки. Когда сообщение истекает недоставленным, платформа отзывает его, и SMS уходит с той же ссылкой для отслеживания. Система фиксирует, по какому каналу сообщение доставлено, поэтому никто не получает все три.
- Еженедельные предложения. Предложения идут только в WhatsApp клиентам, которые дали согласие на маркетинг в WhatsApp. SMS-fallback нет: многие из этих клиентов не соглашались на рекламные SMS, а часы отправки различаются по странам.
- Анализ. После первого месяца команда проверяет причины fallback по рынкам. Высокая доля ошибок RCS у одного оператора показывает, что там агент ещё не запущен, поэтому RCS для этого оператора пропускается, пока покрытие не подтверждено. Это экономит лишнюю попытку на каждом сообщении.
Какие ошибки в fallback встречаются чаще всего?
- Переход на резервный канал из-за отсутствия отчётов о прочтении, из-за чего дубли уходят людям, которые прочитали первое сообщение.
- Нет срока действия у первой попытки, поэтому исходное сообщение приходит с опозданием после SMS.
- Один таймаут для всего: слишком длинный для OTP и слишком короткий для напоминаний.
- Перевод маркетинга на SMS без согласия на SMS.
- Разное содержимое в разных каналах, из-за чего клиенты видят противоречивые данные.
- Старт с каналов, которыми клиент не пользуется, что добавляет задержку и расходы.
- Отсутствие измерений fallback, из-за чего сбои операторов и пробелы в покрытии остаются незамеченными.
Ограничения: поведение платформ, цены и регулирование меняются. Проверяйте актуальные сведения в документации Google и Meta и у своего провайдера. Это руководство — практические рекомендации, а не юридическая консультация.
Как помогает OmniChannels.ai
OmniChannels.ai позволяет настроить резервные каналы (fallback) для каждого сценария, например WhatsApp, затем RCS, затем SMS. Статусы доставки из всех каналов (SUBMITTED, SENT, DELIVERED, READ, FAILED, REJECTED) приходят в одном формате webhook, поэтому один набор правил может управлять и fallback, и отчётностью. BroadNet Technologies — официальный Meta Business Solution Provider и партнёр Google RBM, а SMS работают через её прямые подключения к операторам. В RCS есть автоматический переход на SMS там, где RCS недоступен. Разработчики могут начать с документации RCS API.
Часто задаваемые вопросы
Что такое SMS fallback?
SMS fallback — это правило, по которому сообщение уходит по SMS, если предпочтительный канал, например WhatsApp или RCS, не может его доставить. Триггером служит либо ошибка при отправке, например когда номер не принимает RCS, либо таймаут, когда подтверждение доставки не приходит. SMS ставят последним шагом, потому что оно доходит почти до любого мобильного телефона без приложения и мобильного интернета.
На какой статус запускать fallback: доставлено или прочитано?
Для срочных сообщений ориентируйтесь на статус доставки. Отчёты о прочтении зависят от настроек пользователя и в WhatsApp, и в RCS, поэтому сообщение может быть прочитано, а событие READ так и не придёт. Если ждать статус прочтения, будут уходить лишние резервные сообщения и появятся дубли. Данные о прочтении полезны для оценки вовлечённости постфактум, но не должны управлять fallback.
Сколько ждать перед переходом на SMS?
Это зависит от того, как долго сообщение остаётся полезным. OTP-коды быстро истекают, поэтому таймаут должен быть достаточно коротким, чтобы у клиента осталось время ввести код из SMS. Уведомления о доставке могут ждать дольше, а напоминания о визите — ещё дольше. Задавайте таймауты для каждого сценария, измеряйте, как часто срабатывает fallback и как часто сообщение доставляется сразу в двух каналах, и корректируйте значения по собственным данным.
Можно ли переводить маркетинговые сообщения на SMS?
Только если клиент дал согласие на SMS-рассылки и местные правила разрешают отправку в это время. Согласие на маркетинг в WhatsApp не распространяется на SMS автоматически. В странах Персидского залива (GCC) для рекламных SMS обычно ещё нужно зарегистрированное имя отправителя, или альфа-имя, и соблюдение разрешённых часов отправки. Многие компании не переводят маркетинг на резервный канал вовсе или используют email там, где есть согласие.
Как не допустить, чтобы клиент получил одно сообщение дважды?
Присвойте каждому логическому сообщению один ID, фиксируйте, по какому каналу оно доставлено, и прекращайте все остальные попытки, как только доставка подтверждена. В RCS задайте срок действия сообщения (message expiration) или отзовите его перед отправкой SMS. В SMS задайте период действия (validity period), чтобы задержавшееся сообщение было отброшено. Часть дублей неизбежна, если телефон выходит в сеть с опозданием, поэтому делайте так, чтобы содержимое было безопасно получить дважды.
Всегда ли порядок WhatsApp, RCS, SMS правильный?
Нет. Это распространённый порядок для насыщенных транзакционных сообщений, но правильная последовательность зависит от аудитории и типа сообщения. Для критичных уведомлений многие команды начинают с SMS, потому что оно работает без мобильного интернета. Если у клиента нет аккаунта WhatsApp, старт с WhatsApp только добавляет задержку. Выбирайте порядок для каждого сценария и каждого клиента, исходя из того, что вы знаете о его каналах.
Источники
- Send messages (message expiration and fallback) — RCS for Business, Google for Developers
- Revoke messages — RCS for Business, Google for Developers
- Capability checks — RCS for Business, Google for Developers
- Getting opt-in for WhatsApp — Meta for Developers
- WhatsApp Business Platform pricing — Meta for Developers
- 3GPP TS 23.040: Technical realization of the Short Message Service (SMS)
Читайте дальше
Ещё руководстваОмниканальность
Как запустить бизнес по перепродаже white-label SMS и WhatsApp
Как начать white-label бизнес на перепродаже SMS и WhatsApp: бизнес-модели, субаккаунты, контроль кредита, выбор провайдера и чек-лист запуска.
13 мин чтения
Омниканальность
Карта сообщений клиентского пути: канал для каждого этапа
Постройте карту сообщений клиентского пути от привлечения до возврата: канал для каждого этапа, триггеры, правила и таблица-шаблон для копирования.
9 мин чтения
SMS и OTP
WhatsApp, SMS или RCS: какой канал выбрать для OTP и рассылок
Сравнение WhatsApp, SMS и RCS для OTP, уведомлений, маркетинга и поддержки: охват, факторы стоимости, согласие, резервный канал и готовая таблица выбора.
8 мин чтения
