SMS может не дойти из-за ошибки в номере, временной недоступности телефона, ограничений сети, некорректного отправителя или сбоя в интеграции. Для диагностики мало посмотреть на отметку «отправлено»: нужно проверить статус доставки, время попытки, код ошибки и сам текст сообщения. В статье разберём пошаговую проверку для малого бизнеса, расскажем, когда повторять отправку, как не создавать дубли и какие данные включить в отчётность.
Какие статусы показывают, почему SMS не дошло?
Первый шаг — открыть историю сообщения в личном кабинете или получить статус через API. Запись «отправлено» обычно означает, что сервис принял запрос и передал его дальше. Она ещё не подтверждает, что клиент увидел SMS на телефоне.
Для работы оператору нужна понятная таблица статусов. Минимальный набор выглядит так:
| Доставлено | Сеть подтвердила доставку на устройство | Если клиент не видит текст, проверить папку с заблокированными сообщениями и настройки телефона |
| Ожидает доставки | Телефон или сеть пока не подтвердили получение | Время отправки, доступность номера и срок действия повторных попыток |
| Не доставлено | Доставка завершилась ошибкой | Код ошибки, номер, направление и текст сообщения |
| Отклонено | Запрос не прошёл проверку сервиса или сети | Имя отправителя, формат номера и требования к содержанию |
| Неизвестный результат | Сервис не получил однозначное подтверждение | Логи API и повторную проверку через личный кабинет |
Коды статусов зависят от сервиса и оператора, поэтому их расшифровку лучше хранить в инструкции для сотрудников. Если в отчёте есть только «успешно» и «ошибка», подключите расширенную аналитику: дата и время запроса, номер заказа, идентификатор сообщения, результат доставки и текст ошибки. Такой отчёт помогает отделить проблему клиента от сбоя в вашей системе.
Практический чек-лист по этой теме собран в материале «Почему SMS не доходят клиентам в Беларуси: чек-лист». Его удобно использовать при разборе единичной жалобы и при регулярной проверке рассылки.
Почему ошибка в номере блокирует доставку?
Номер часто портится ещё до отправки. Сотрудник вводит его с лишним пробелом, CRM хранит старый формат, форма принимает слишком короткое значение, а интеграция передаёт вместо номера внутренний идентификатор клиента. В результате сообщение не дойдёт даже при исправной работе SMS-сервиса.
Проверьте четыре поля:
- номер начинается с кода страны и содержит нужное количество цифр;
- в нём нет пробелов, скобок, дефисов и букв;
- CRM передаёт именно мобильный номер клиента, а не номер организации;
- при повторной отправке система не подставляет старое значение из карточки заказа.
Для Беларуси полезно привести номера к единому формату до передачи в API. Например, CRM может хранить один и тот же контакт в нескольких вариантах, а фильтр рассылки посчитает их разными получателями. Нормализация снижает количество технических ошибок и помогает точнее считать доставку по клиентам.
После исправления номера отправьте тестовое сообщение на него вручную и сравните результат с автоматической отправкой. Если ручное SMS доставлено, ищите причину в интеграции: параметрах запроса, авторизации, кодировке или обработке ответа сервиса.
Как текст и отправитель влияют на доставку?
Даже правильный номер не гарантирует получение, если система неправильно передаёт имя отправителя или текст. Ошибка бывает в запрещённых символах, обрезанном шаблоне, ссылке, превышении длины сообщения или неверной кодировке. Кириллица занимает больше места, чем текст в GSM-7, поэтому длинное сообщение разбивается на части. В справочных материалах по SMS указывается ограничение до 160 символов для GSM-7 и до 70 символов для Unicode в одном сегменте.
Перед запуском проверьте шаблон на реальном телефоне. В нём должны быть понятны отправитель, причина сообщения и следующий шаг клиента. Для уведомления о заказе достаточно номера заказа, нового статуса и инструкции, где посмотреть детали. Длинное описание акции лучше заменить короткой формулировкой и отдельной ссылкой.
- Не оставляйте отправителя без названия компании: клиенту будет сложно понять, от кого пришло сообщение.
- Проверьте, не обрезается ли ссылка после разбивки текста на несколько частей.
- Посчитайте сегменты до отправки: длинный текст увеличивает количество SMS для одного получателя.
- Сохраните контрольный шаблон и запретите ручное изменение ключевых переменных.
Отправьте тесты на телефоны с разными настройками и проверьте латиницу, кириллицу, цифры, знак «№», кавычки и ссылку. Если ошибка появляется только в одном шаблоне, причина почти наверняка находится в его содержимом или кодировке.
Когда повторная отправка помогает, а когда создаёт дубли?
Повторная попытка нужна при временном статусе: телефон клиента выключен, сеть временно недоступна или сервис ещё ждёт подтверждение. При окончательном отказе повторять сообщение с теми же параметрами бессмысленно. Система должна сначала определить тип ошибки, а уже потом выбрать действие.
| Ситуация | Действие |
| Статус ожидает доставки | Подождать заданный интервал и выполнить одну повторную попытку |
| Неверный формат номера | Исправить данные и отправить после проверки |
| Дубликат запроса | Не повторять отправку, а сверить идентификатор сообщения |
| Ошибка авторизации API | Проверить ключ, права и журнал запросов |
| Сообщение доставлено | Не отправлять его повторно, даже если клиент не ответил |
Чтобы клиент не получил два одинаковых SMS, присваивайте каждому событию уникальный идентификатор. Например, для заказа это может быть комбинация номера заказа, типа уведомления и версии статуса. Перед повторной попыткой система проверяет, отправлялось ли уже сообщение с таким идентификатором.
Разделяйте события «статус изменился» и «отправка не подтверждена». Если заказ перешёл из «принят» в «готов к выдаче», создаётся новое уведомление. Если сеть не подтвердила первое сообщение, создаётся повторная попытка того же события. Такая логика особенно важна для статусов оплаты, доставки и самовывоза, где два одинаковых SMS могут запутать клиента.
Как проверить API, личный кабинет и отчёты?
Если SMS не доходят сразу большой группе клиентов, начните с технической цепочки. Сначала проверьте, создаются ли запросы в вашей системе. Затем убедитесь, что сервис принимает их без ошибок. После этого сравните время запроса со статусом доставки и посмотрите, возвращает ли API корректный ответ.
- Выберите один заказ, по которому клиент пожаловался на отсутствие SMS.
- Найдите его идентификатор в CRM и в журнале отправок.
- Сверьте номер, шаблон, имя отправителя и время запроса.
- Проверьте ответ API: принят ли запрос, есть ли код ошибки, не изменился ли статус позже.
- Сравните этот случай с сообщением, которое было доставлено в тот же период.
Если в личном кабинете сообщение есть, а в CRM его нет, проблема связана с обратной передачей статуса. Если в CRM зафиксирована отправка, но в кабинете записи нет, проверьте запрос и ключ доступа. Когда запросы есть, но ошибки появились одновременно у разных номеров, передайте в поддержку идентификаторы сообщений и временной интервал, а не только список телефонов.
Для небольшого бизнеса достаточно начать с отчёта по четырём показателям: сколько сообщений принято, сколько доставлено, сколько завершилось ошибкой и сколько осталось в ожидании. Затем добавьте группировку по шаблону и источнику контакта. Так видно, ломается ли конкретный текст, форма на сайте или интеграция с CRM.
Какие ошибки чаще всего мешают диагностике?
- Считать статус «отправлено» подтверждением доставки.
- Повторять SMS без проверки результата первой попытки.
- Исправлять номер вручную, но не менять данные в CRM.
- Проверять только один шаблон и делать вывод обо всей рассылке.
- Не сохранять идентификатор сообщения и время запроса.
- Оценивать работу канала по жалобам, не сверяя их с отчётом доставки.
Если проблема возникла после изменения сайта, CRM или шаблона, сравните отправку до и после обновления. Если сбой касается одного клиента, начните с номера и телефона. Если он касается всех сообщений, проверьте API, доступы, имя отправителя и состояние интеграции. Для бизнеса, который работает с ограничениями и изменениями маршрутов SMS в Беларуси, полезно заранее описать резервный сценарий и правила повторной попытки: об этом рассказывает материал «Как малому бизнесу работать с SMS при ограничениях в Беларуси в 2026 году».
3 шага, которые можно сделать сегодня:
- Включить в отчёт идентификатор сообщения, статус, код ошибки и время доставки.
- Проверить пять реальных номеров, два шаблона и передачу данных из CRM в API.
- Настроить повтор только для временных ошибок, используя уникальный идентификатор события.



