Стандартный (код в начале)
482913 is your OmniDemo verification code. It expires in 5 minutes. Never share this code with anyone.
GSM-7 · 102 симв. · 1 SMS
Бесплатный инструмент
Составьте сообщение с кодом подтверждения, которое умещается в одну SMS, автоматически подставляется на Android и iPhone и соответствует шаблону аутентификации WhatsApp от Meta. В комплекте: подсчёт сегментов, готовый код для отправки через API и чек-лист по безопасности.
Бесплатно · без регистрации · работает в вашем браузере
482913 is your OmniDemo verification code. It expires in 5 minutes. Never share this code with anyone.
GSM-7 · 102 симв. · 1 SMS
OmniDemo: your code is 482913. Valid for 5 min. Don't share it.
GSM-7 · 63 симв. · 1 SMS
482913 is your OmniDemo password reset code. It expires in 5 minutes. If you didn't request it, ignore this message.
GSM-7 · 116 симв. · 1 SMS
Источники: документация Google SMS Retriever, WICG origin-bound one-time codes, документация Apple Password AutoFill, аутентификационные шаблоны Meta (проверено 10 октября 2026 г.).
Нужны OTP по SMS, WhatsApp и голосу с автоматическим резервным каналом и одним счётом? Смотреть OTP и уведомления
Всё, что вы вводите здесь, не отправляется на наши серверы.
Краткий ответ
В хорошей OTP-SMS код стоит первым, указан бренд и срок действия, а пользователя предупреждают, что код нельзя никому сообщать. Например: «482913 — ваш код подтверждения Acme. Он действует 5 минут. Никому его не сообщайте.» Уложитесь в один сегмент (160 символов GSM-7 или 70 символов Unicode) и не добавляйте ссылки. Для автозаполнения на Android добавьте 11-символьный хеш приложения. Для iOS и веба завершите сообщение строкой «@yourdomain.com #482913».
Введите название приложения или бренда, затем выберите длину кода от 4 до 8 символов, только цифры или буквы и цифры, а также срок действия кода в минутах.
Выберите английский, арабский, французский, испанский, немецкий или португальский язык, затем SMS, WhatsApp или оба канала. Сообщения на арабском считаются как Unicode (70 символов в одной SMS).
При желании вставьте 11-символьный хеш Android-приложения и домен вашего сайта. Инструмент соберёт форматы SMS Retriever, с привязкой к домену и комбинированный, а также проверит лимит в 140 байт.
Скопируйте вариант SMS, JSON шаблона WhatsApp или запрос cURL либо Node.js для нашего SMS API. Затем пройдите чек-лист по безопасности перед запуском.
У сообщения с кодом подтверждения одна задача: быстро доставить нужный код нужному человеку так, чтобы им было сложно злоупотребить. Большинство пользователей читают код в уведомлении на экране блокировки, где видна только первая строка. Поставьте код в начало или рядом с ним и чётко укажите бренд, чтобы пользователь понимал, какой сервис отправил сообщение.
Длина влияет на стоимость и надёжность. В SMS в кодировке GSM-7 помещается 160 символов. Если сообщение разбито на части, в каждой помещается 153 символа. Один-единственный символ вне алфавита GSM-7, например арабская буква, эмодзи, изогнутый апостроф или буква с диакритическим знаком вроде «ó» или «ç», переводит всё сообщение в UCS-2. Тогда лимит падает до 70 символов, или 67 на часть. OTP из двух частей стоит вдвое дороже, и вероятность того, что одна из частей придёт с опозданием, немного выше. Генератор показывает кодировку и число сегментов для каждого варианта и умеет заменять буквы с диакритикой на простые, чтобы сообщения на испанском, португальском и французском оставались в GSM-7.
SMS Retriever API от Google позволяет Android-приложению прочитать SMS с кодом подтверждения без разрешения на доступ к SMS и без ввода кода пользователем. Согласно документации Google, сообщение не должно превышать 140 байт, должно содержать одноразовый код и 11-символьную хеш-строку, идентифицирующую ваше приложение. Лимит в 140 байт равен 160 символам GSM-7 или 70 символам UCS-2, поэтому на практике сообщение должно уместиться в одну SMS.
Хеш — это первые 11 символов хеша SHA-256 от имени пакета и сертификата подписи, закодированного в base64. В примере Google хеш стоит отдельной строкой в конце: «Your ExampleApp code is: 123ABC78», пустая строка, затем «FA+9qCX9VSu». Вычислите хеш по production-хранилищу ключей и зафиксируйте его на сервере. Google советует не использовать хеш-строки, вычисленные динамически на клиенте. В старых версиях документации требовалось, чтобы сообщение начиналось с «<#>». В текущей версии этого префикса нет. Он не мешает, но занимает 4 символа. Если вы не можете управлять форматом сообщения, есть альтернатива — SMS User Consent API: пользователь одним касанием разрешает приложению прочитать это единственное сообщение.
iOS и macOS распознают коды во входящих SMS и предлагают их над клавиатурой, если поле помечено как поле для одноразового кода: textContentType = .oneTimeCode в нативном приложении или autocomplete="one-time-code" в HTML-поле, как описано в документации Apple для разработчиков. Начиная с iOS 14 и macOS Big Sur Safari также поддерживает одноразовые коды с привязкой к источнику (origin-bound) — формат, описанный в спецификации WICG «Origin-bound one-time codes delivered via SMS».
В этом формате последняя строка сообщения выглядит так: «@example.com #747723». Сначала домен с символом @ впереди, затем ровно один пробел, затем код с символом # впереди. Необязательное третье значение «@embedded.example» указывает встроенный сайт. Текст для человека может стоять перед последней строкой. Любой другой текст между значениями делает строку недействительной. Тогда автозаполнение предлагает код только на этом домене или в связанных с ним приложениях, и фишинг становится значительно сложнее. Генератор собирает комбинированное сообщение с хешем для Android и последней строкой с привязкой к домену, которое для языков на латинице по-прежнему укладывается в 140 байт. Для арабского отправляйте форматы для Android и iOS отдельно.
Для отправки одноразовых паролей в WhatsApp нужен шаблон аутентификации (authentication), и тело сообщения в нём зафиксировано Meta. На английском оно звучит так: «<code> is your verification code.» Можно добавить строку безопасности от Meta «For your security, do not share this code.» и нижний колонтитул со сроком действия «This code expires in <N> minutes.», где code_expiration_minutes принимает значения от 1 до 90. В каждой языковой версии используется собственный фиксированный перевод Meta. URL, медиафайлы и эмодзи не поддерживаются.
Кнопку выбираете вы. Кнопка «Копировать код» работает везде. Автозаполнение в одно касание (one-tap) открывает ваше Android-приложение с кодом и требует имя пакета, хеш подписи и handshake. Zero-tap (только Android) обходится без кнопки: WhatsApp передаёт код прямо в ваше приложение. В iOS 26 и новее клавиатура предлагает код из уведомления без какой-либо интеграции. Код может содержать до 15 символов и дважды указывается в запросе на отправку: как параметр тела и как параметр кнопки (sub_type «url»). Текст кнопки «Копировать код» ограничен 25 символами. Задайте message_send_ttl_seconds, чтобы устаревшие коды не доставлялись с опозданием. Кроме того, Meta доставляет сообщения аутентификации через Cloud API только на основное устройство пользователя, а на связанных устройствах отображается скрытое уведомление.
Само сообщение — самая простая часть. Большинство случаев мошенничества с OTP и перерасхода бюджета связано со слабыми правилами вокруг него. Это широко применяемые рекомендации, а не юридические требования. Подберите значения под ваш уровень риска.
Для доставки используйте каскад. Сначала отправьте код в WhatsApp, если он есть у пользователя, затем через короткий тайм-аут (например, 30–60 секунд без отчёта о доставке (DLR)) переключитесь на резервный канал (fallback) — SMS, а в крайнем случае предложите голосовой звонок с озвучиванием кода для стационарных телефонов и зон со слабым покрытием. В странах Персидского залива (GCC) OTP относится к транзакционному трафику, поэтому правила для рекламных рассылок, например префикс «AD-» в имени отправителя в ОАЭ, к нему не применяются. Однако имя отправителя (альфа-имя) в большинстве рынков всё равно нужно регистрировать, поэтому перед запуском проверьте местные правила.
Сначала код, затем бренд, срок действия и предупреждение не сообщать код никому, всё в одном сегменте и без ссылок: «482913 — ваш код подтверждения Acme. Он действует 5 минут. Никому его не сообщайте.» Добавьте строку с хешем приложения для автозаполнения на Android и «@yourdomain.com #482913» последней строкой для автозаполнения на iOS и в вебе.
Стремитесь уложиться в один сегмент: 160 символов в GSM-7 или 70 в Unicode (например, на арабском). SMS Retriever от Google ограничивает сообщение 140 байтами, что соответствует тому же лимиту одной SMS. Более длинные сообщения делятся на части по 153 или 67 символов, и оплачивается каждая часть.
Нет. Текущая документация Google по SMS Retriever требует три вещи: не более 140 байт, одноразовый код и 11-символьный хеш приложения. Префикс «<#>» остался от старых рекомендаций. Если оставить его, ничего не сломается, но он займёт 4 символа.
Пометьте поле ввода как поле для одноразового кода (textContentType .oneTimeCode в приложениях, autocomplete="one-time-code" в вебе). Тогда iOS предложит коды из приложения «Сообщения». Чтобы привязать код к вашему сайту, завершите SMS строкой «@yourdomain.com #123456» с ровно одним пробелом между двумя значениями.
Нет. Тело сообщения («<code> is your verification code.») зафиксировано Meta и переводится на каждый язык. Можно лишь добавить необязательную строку безопасности, нижний колонтитул со сроком действия от 1 до 90 минут и выбрать кнопку: копирование кода, one-tap или zero-tap. URL, медиафайлы и эмодзи не допускаются.
Используйте оба канала. В WhatsApp есть кнопки копирования кода и автозаполнения в одно касание, а также отображается подтверждённое название вашей компании. SMS доходит на любой телефон, с интернетом или без. Типичная схема: сначала WhatsApp, затем резервный канал (fallback) — SMS, если через 30–60 секунд сообщение не доставлено, и голосовой звонок в крайнем случае.
Арабский текст использует кодировку UCS-2, которая позволяет разместить в одной SMS только 70 символов, а в каждой части разбитого сообщения — 67. Сокращайте текст на арабском, используйте для кода обычные (западные) цифры и проверяйте число символов в генераторе перед отправкой.
Лучше этого избегать. Ссылки в сообщениях с кодом облегчают фишинг, операторы чаще их фильтруют, а пользователи привыкают переходить по ссылкам из SMS. Отправляйте только код, а пользователь пусть вводит его вручную или использует автозаполнение в вашем приложении.
Ваш выбор в отношении конфиденциальности
Уведомление о cookieМы используем только то, что нужно для работы сайта. С вашего разрешения мы также запоминаем, как вы нас нашли (сайт-источник и ссылку кампании), чтобы наша команда знала, какой контент помог. Рекламных и сторонних файлов cookie нет. Уведомление о cookie