Flash Call — авторизация по звонку
Как это работает
Технология Flash Call позволяет подтвердить личность клиента с помощью телефонного звонка: пользователь получает звонок с номера, последние 4 цифры которого — специальный код для авторизации.
Плюсы механики:
- экономия по сравнению с SMS — в 4-5 раз;
- звонки могут осуществляться на номера любых операторов по всему миру.
Добавление в механику отправки SMS покрывает риск не доставить код клиентам, до которых не удалось дозвониться.
Как настроить
- Выберите провайдера для Flash Call.
Важный критерий выбора — возможность настройки через SMPP-соединение. От этого зависит, как будет происходить отправка кода из Mindbox в сервис:
- при поддержке SMPP-протокола можно отправлять коды через SMPP-соединение из транзакционного сценария;
- альтернативный способ — HTTP-запрос через вебхуки.
Ниже рассматриваем оба варианта интеграции.
Примеры сервисов: terasms, Rapporto, Devino Telecom,
-
Настройте соединение с сервисом и получите спецификации для получения кода авторизации из Mindbox.
-
Подключите SMS-соединение для отправки SMS при невозможности выполнения звонка.
Интеграция Flash Call по SMPP
- Создайте SMPP-соединение для Flash-звонков.
Пример настройки:

- Настройте отправку кода авторизации в сервис Flash Call.
Так как интеграция происходит через SMPP-соединение, в платформе Mindbox отправка настраивается через автоматическую SMS-рассылку с нужным подключением:

Отправки сообщения клиенту при этом не происходит, код отправляется в сторонний сервис, который запускает звонок клиенту с нужного номера.
Параметр кода авторизации — ${Recipient.AuthentificationCode}
Если на проекте уже заведены представленные ниже кампании, можете их переиспользовать для данной механики.
- Создайте автоматическую SMS-рассылку, которая будет отправляться при невозможности совершить звонок, с рабочим соединением для SMS-отправок:

Код авторизации — ${Recipient.AuthentificationCode}
- Создайте операцию для генерации кода:

- Создайте операцию, с помощью которой будет проверяться введенный клиентом код:

- Создайте операцию для запроса SMS по кнопке без ожидания звонка:

Отдельная операция позволит настроить ручной запуск SMS, когда опция звонка не подходит клиенту.
- Создайте сценарий:
7.1. Запуск — по запросу кода:

7.2. Если запрос на Flash Call:

7.3. Отправляем код в сервис для Flash Call:

7.4. Через минуту:

7.5. Проверяем, были ли проблемы с отправкой кода:

7.6. В таком случае отправляем SMS клиенту:

7.7. В ветке «Нет» от первого условия:

Проверяем, был ли запрос на SMS:

В данном случае также отправляем SMS.
Транзакционный сценарий готов:

Интеграция Flash Call по HTTP
- Создайте точку интеграции для вебхуков.
Заполнение полей зависит от выбранного сервиса.
Пример настройки:

- Создайте вебхук для отправки кода авторизации.
Требования к формату могут различаться в зависимости от выбранного оператора.
Параметры, которые понадобятся для отправки клиенту:
- мобильный номер —
${Recipient.MobilePhone} - код авторизации —
${Recipient.AuthentificationCode}

Вебхук должен принимать ответы:

Если на проекте уже заведены представленные ниже кампании, можете их переиспользовать для данной механики.
- Создайте автоматическую SMS-рассылку, которая будет отправляться при невозможности совершить звонок:

Код авторизации — ${Recipient.AuthentificationCode}
- Создайте операцию для генерации кода и запуска механики:

- Создайте операцию, с помощью которой будет проверяться введенный клиентом код:

- Создайте операцию для запроса SMS по кнопке без ожидания звонка:

Отдельная операция позволит настроить ручной запуск SMS, когда опция звонка не подходит клиенту.
- Создайте сценарий:
7.1. Запуск — по запросу кода:

7.2. Если запрос на Flash Call:

7.3. Отправляем вебхук в сервис для Flash Call:

7.4. Проверяем, успешность вызова:

- Если сервис ответит на вызов HTTP-кодом 2xx, событие уйдет в ветку «Да».
- Если в ответе придет код 5xx или 429, вебхук попробует отправиться ещё 3 раза с промежутком в 5 минут. После трех неудачных попыток отправки событие уйдет в ветку «Нет».
- Если вернется ответ с кодами 4xx (кроме 429), либо вебхук не удастся сформировать из-за ошибок в шаблонизаторе, событие также уйдет в ветку «Нет».
Ответ сервиса и ошибки можно проверить в логах вызова вебхуков.
7.5. Отправляем SMS, если не удалось успешно вызвать вебхук:

7.6. В ветке «Нет» от первого условия:

Проверяем, был ли запрос на SMS:

В данном случае также отправляем SMS.
Сценарий готов:

Подтверждение контакта
Тот же принцип подтверждения можно использовать для подтверждения контакта клиента:


Особенности:
- для генерации кода не нужно будет дополнительных шагов в операции или сценарии, достаточно указать параметр
${Recipient.MobilePhoneConfirmationCode} - для подтверждения используйте операцию с шагом «Подтвердить мобильный телефон на стороне клиента»:
