SMS может не прийти по разным причинам: от ошибки в номере и отсутствия сети до ограничений на стороне оператора или неверной настройки отправки. Для точной диагностики важно сначала разделить ситуацию: вы ждете обычное сообщение как получатель или отправляете SMS клиентам из сайта, CRM либо сервиса.
Начните с простых проверок. Убедитесь, что номер указан правильно, телефон включен и может принимать сообщения, а на устройстве есть сеть. Если проблема касается одного отправителя, проверьте, не заблокирован ли его номер или имя отправителя в настройках телефона.
Не запрашивайте код много раз подряд. Повторные запросы могут иметь лимит, а новый код обычно отменяет предыдущий.
Для бизнеса причина определяется по статусу сообщения. Статус позволяет понять, был ли запрос принят сервисом, передан оператору и доставлен на устройство. Не делайте вывод только по отсутствию ответа клиента: сначала посмотрите технический результат отправки.
Номер с пробелами, лишними символами, неверным кодом страны или дублем в базе может не пройти обработку. Перед загрузкой базы приведите телефоны к единому формату. Подробные правила - в статье о формате номеров.
Абонент может находиться вне зоны сети, быть за границей, выключить телефон или ограничить прием сообщений. В таких случаях результат зависит от условий сети и времени, в течение которого оператор пытается доставить сообщение.
Получатель может использовать фильтр спама, заблокировать отправителя или отказаться от коммуникаций. Для рекламных сообщений также важны согласие получателя, корректное имя отправителя и соответствие текста правилам операторов.
Если SMS запускается с сайта или из CRM, проверьте параметры запроса, обработку ответа, баланс, имя отправителя и логи вашего приложения. Для кодов подтверждения добавьте ограничение повторных запросов и показывайте пользователю понятный таймер до следующей попытки.
Для SMS-кода важны короткий срок действия, лимит на число отправок и проверок, а также понятное сообщение с названием сервиса. Если пользователь не получил код, не раскрывайте лишнюю информацию об учетной записи и не позволяйте бесконечно запрашивать новые сообщения.
Подключить такой сценарий можно через авторизацию по SMS или SMS API.
Отправка означает, что сервис принял сообщение в работу. Для дальнейшей диагностики нужен статус: он показывает, что произошло на следующем этапе обработки.
Можно, но только после анализа причины и с ограничением частоты. Повтор не исправит ошибочный номер или блокировку, а для кодов подтверждения может запутать пользователя.
В зависимости от способа работы статусы доступны в личном кабинете, через API или в подключенной интеграции.