Перейти к содержанию

Канал доставки SMS

Последнее обновление 4 октября 2026Открыть как Markdown

Раздел «Канал доставки» задаёт, через какой SMS-шлюз локальный инстанс отправляет одноразовые коды и как эти коды работают. Канал один на инстанс. SMS отправляет сам инстанс, облако в отправке не участвует, поэтому у инстанса должен быть сетевой доступ к адресу шлюза.

Раздел открывается в меню SMS → Канал доставки и доступен администраторам с правом «Настройки».

Условия отправки SMS пользователю

SMS становится способом подтверждения пользователя, когда выполнены все условия:

  1. Канал настроен и включён — флажок «Активен» в этом разделе.
  2. SMS отмечен в «Доступных способах» группы, в которую входит пользователь (см. «Группы пользователей»).
  3. У пользователя заполнено поле «Телефон» — вручную в карточке или из каталога при синхронизации (см. «Пользователи» и «Синхронизация учётных записей»).

Если хотя бы одно условие не выполнено, SMS пользователю не предлагается.

Порядок подключения

  1. Получите у оператора адрес API, учётные данные и согласованное имя отправителя.
  2. Заполните блок «Шлюз» и нажмите «Сохранить».
  3. Отметьте «Активен» и сохраните страницу. Пока SMS не отмечен ни в одной группе, вход пользователей не меняется.
  4. В блоке «Проверка» отправьте тестовое SMS на свой номер и убедитесь, что оно пришло.
  5. Отметьте SMS в «Доступных способах» нужных групп. Пока канал выключен, отметить SMS в группе нельзя.
  6. Убедитесь, что у пользователей этих групп заполнено поле «Телефон».

Канал

Блок «Канал»: пресет, группы с выбранным SMS и флажок «Активен»

  • Пресет — тип шлюза: «Универсальный HTTP» (любой шлюз с HTTP API, принимающий JSON) или «Mango Office». От пресета зависит набор полей в блоке «Шлюз»;
  • Группы с выбранным SMS — только для чтения: группы, в которых отмечен SMS. Прочерк означает, что SMS не отмечен ни в одной группе;
  • Активен — включает канал. По умолчанию канал выключен.

Выключение канала. SMS перестаёт работать у всех пользователей одновременно. Отметки SMS в группах сохраняются и снова начинают действовать после включения канала. Пользователи, у которых SMS — единственный настроенный способ, войти не смогут. После сохранения панель перечисляет затронутые группы: «Канал выключен. Отметки SMS в группах сохранены, но метод больше не активен: <группы>».

Шлюз: универсальный HTTP

Инстанс отправляет на шлюз запрос POST с телом в формате JSON (Content-Type: application/json).

Блок «Шлюз»: адрес, авторизация, секрет, заголовки и шаблон тела запроса

  • URL шлюза — адрес API оператора, на который отправляется запрос;
  • Авторизация — способ, которым инстанс подтверждает себя шлюзу:
    • «Логин и пароль» — HTTP Basic: логин из поля «Логин Basic», пароль из поля «Секрет»;
    • «Ключ в заголовке» — значение из поля «Секрет» передаётся в заголовке, имя которого задано в поле «Имя заголовка»;
  • Логин Basic — показывается при авторизации «Логин и пароль»;
  • Имя заголовка — показывается при авторизации «Ключ в заголовке». Если поле пустое, используется Authorization. Значение передаётся без изменений: если оператор ожидает Bearer <токен>, в поле «Секрет» вводится строка вместе со словом Bearer;
  • Секрет — пароль Basic или значение заголовка. Поле всегда отображается пустым; если секрет уже сохранён, в нём видны серые звёздочки. Пустое поле при сохранении оставляет сохранённый секрет без изменений. Секрет хранится в базе инстанса в зашифрованном виде и на странице не показывается;
  • Дополнительные заголовки — заголовки, которых требует оператор сверх авторизации: по одному на строку в формате Имя: значение. Заголовок Content-Type этим полем не меняется;
  • Шаблон тела — тело запроса в формате JSON с подстановками:

    • {to} — номер получателя цифрами без «+», например 79241234567;
    • {from} — имя отправителя из поля «Имя отправителя»;
    • {message} — текст сообщения.

    {from} и {message} указываются внутри кавычек: кавычки и переносы строк в тексте инстанс экранирует сам. {to} указывается без кавычек, если шлюз ожидает число, и в кавычках, если строку. Значение по умолчанию:

    {"from":"{from}","to":{to},"message":"{message}"}
    

Ключ — в заголовке, а не в адресе

Если оператор позволяет передавать ключ и в адресе (?key=…), и в заголовке, используйте заголовок. Адрес шлюза попадает в текст ошибки — в поле «Последняя ошибка» и в журнал «Доставка SMS».

Поля «Имя отправителя», «Текст сообщения», «Таймаут» и флажок «Не проверять сертификат»

  • Имя отправителя — буквенное имя, согласованное с оператором;
  • Текст сообщения — текст, который получит пользователь. Подстановки: {code} — код, {resource} — название ресурса, на который входит пользователь, {ttl} — время жизни кода в минутах. Значение по умолчанию: «Код {code} для входа в {resource}. Действует {ttl} мин. Никому не сообщайте.» В одну SMS помещается 70 символов кириллицы; более длинный текст отправляется несколькими частями, и оператор, как правило, тарифицирует каждую;
  • Таймаут (с) — время ожидания ответа шлюза. По умолчанию 10. Значение больше 30 не рекомендуется: Windows-клиент ожидает ответа сервера около 32 секунд;
  • Не проверять сертификат — только для шлюза с сертификатом, которому инстанс не доверяет (например, во внутренней сети).

Соединение без проверки сертификата

С флажком «Не проверять сертификат» соединение со шлюзом не защищено от подмены: код второго фактора можно перехватить по пути к шлюзу.

Шлюз: Mango Office

При пресете «Mango Office» запрос формируется по API виртуальной АТС Mango Office. Поля «Авторизация», «Имя заголовка», «Дополнительные заголовки», «Шаблон тела» и «Не проверять сертификат» скрываются, вместо них появляются поля Mango Office:

  • URL шлюза — подставляется автоматически: https://app.mango-office.ru/vpbx/commands/sms;
  • Уникальный код ВАТС — из личного кабинета Mango Office;
  • Ключ подписи — ключ для подписи запроса из личного кабинета Mango Office; в сообщение не попадает. Пустое поле при сохранении оставляет сохранённый ключ без изменений;
  • Внутренний номер — короткий номер сотрудника в АТС, от имени которого отправляется SMS, например 101. Тестовое SMS отправляется не на него, а на номер из блока «Проверка»;
  • Имя отправителя — если поле пустое, используется отправитель из кабинета Mango Office;
  • Текст сообщения и Таймаут (с) — как для универсального HTTP.

Код

Блок «Код»: длина и время жизни кода, попытки, пауза, лимиты отправок и поведение при недоступности шлюза

Поле Что задаёт Допустимо По умолчанию
Длина кода Число цифр в коде 4–8 6
Время жизни кода (мин) Срок действия кода в минутах 1–15 5
Попыток ввода Сколько раз код можно ввести неверно; после этого нужен новый код 1–5 3
Пауза перед повторной отправкой (с) Минимальный интервал до отправки нового кода 30–120 60
Отправок на пользователя (ч) Сколько SMS один пользователь получает за час; 0 — без ограничения — 5
Отправок на организацию (ч) Сколько SMS инстанс отправляет за час всем пользователям; 0 — без ограничения — 0
Если шлюз недоступен Действие, если SMS не удалось отправить см. ниже Предложить другой настроенный способ

Когда лимит исчерпан, вход пользователя отклоняется, а в журнале «Доставка SMS» появляется запись об отказе. Рекомендуется задать лимит на организацию: по умолчанию его нет, а он ограничивает расходы, если кто-то начнёт массово запрашивать коды.

Если шлюз недоступен:

  • «Предложить другой настроенный способ» — пользователю предлагается другой настроенный у него способ: на VPN (RADIUS) инстанс переходит на него автоматически, в Windows и Linux пользователь выбирает способ из оставшихся;
  • «Отказать во входе» — вход отклоняется.

Вход без второго фактора при сбое шлюза невозможен ни в одном режиме. Сбой шлюза не засчитывается как неуспешная попытка в условиях блокировки; неверно введённый код засчитывается.

Проверка

Тестовое SMS отправляется по сохранённым настройкам и только при включённом канале. Перед проверкой сохраните страницу с отмеченным флажком «Активен».

Блок «Проверка»: номер получателя, кнопка «Отправить тест» и итог последнего теста

  1. Введите номер в поле «Номер получателя».
  2. Нажмите «Отправить тест». Рядом с кнопкой появится результат: «Тестовое SMS отправлено на +7 ••• ••-67.» или «Тестовое SMS не отправлено: …».
  3. Убедитесь, что SMS пришло на телефон.

Тестовое SMS составляется по полю «Текст сообщения»; вместо названия ресурса в нём стоит test. Код из тестового SMS для входа не действует. Тест не учитывается в лимитах отправок и записывается в журнал «Доставка SMS».

Под кнопкой — итог последнего теста:

  • Последний тест — дата и время;
  • Тест успешен — «Да» или «Нет»;
  • Последняя ошибка — текст ошибки последнего неудачного теста.

«Тест успешен: Да» означает, что шлюз принял сообщение. Доставку SMS подтверждает только его получение на телефоне.

Если тест не проходит

«Последняя ошибка» или сообщение Что проверить
HTTP 401, HTTP 403 Логин, секрет, имя заголовка
HTTP 400, HTTP 404 и другие HTTP 4xx URL шлюза, шаблон тела, дополнительные заголовки — по документации оператора
HTTP 5xx Ошибка на стороне шлюза; повторите позже или обратитесь к оператору
Mango result <код> Код ответа Mango Office; расшифровка — в документации Mango Office
mango credentials are empty Не заполнены «Уникальный код ВАТС», «Ключ подписи» или «Внутренний номер»
gateway url is empty Не заполнен URL шлюза
Ошибка соединения или истечения времени ожидания Сетевой доступ инстанса к адресу шлюза, значение «Таймаут (с)»
Ошибка проверки сертификата Сертификат шлюза не доверен инстансу
Тест не отправляется, «Последняя ошибка» не меняется Канал выключен или настройки не сохранены
«Номер не распознан. Оставьте только цифры и код страны.» Номер в поле «Номер получателя»
«Секрет не сохранён: не задан ключ шифрования.» — при сохранении Конфигурация инстанса; обратитесь в поддержку

Смотрите также

Связаться с нами

Подберём сценарий под вашу инфраструктуру, рассчитаем стоимость и запустим бесплатный пилот на 30 дней.

Отправляя заявку, вы соглашаетесь на обработку персональных данных.