Flash Call — авторизация по звонку
Как это работает
Технология Flash Call позволяет подтвердить личность клиента с помощью телефонного звонка: пользователь получает звонок с номера, последние 4 цифры которого — специальный код для авторизации.
Плюсы механики:
- экономия по сравнению с SMS — в 4-5 раз;
- звонки могут осуществляться на номера любых операторов по всему миру.
Добавление в механику отправки SMS покрывает риск не доставить код клиентам, до которых не удалось дозвониться.
Как настроить
1. Выберите провайдера для Flash Call.
Важный критерий выбора — возможность настройки через SMPP-соединение. От этого зависит, как будет происходить отправка кода из Mindbox в сервис:
- при поддержке SMPP-протокола можно отправлять коды через SMPP-соединение из транзакционного сценария;
- альтернативный способ — HTTP-запрос через вебхуки.
Ниже рассматриваем оба варианта интеграции.
Примеры сервисов: terasms, Rapporto, Devino Telecom,
2. Настройте соединение с сервисом и получите спецификации для получения кода авторизации из Mindbox.
3. Подключите SMS-соединение для отправки SMS при невозможности выполнения звонка.
Интеграция Flash Call по SMPP
1. Создайте SMPP-соединение для Flash-звонков.
Пример настройки:
2. Настройте отправку кода авторизации в сервис Flash Call.
Так как интеграция происходит через SMPP-соединение, в платформе Mindbox отправка настраивается через автоматическую SMS-рассылку с нужным подключением:
Отправки сообщения клиенту при этом не происходит, код отправляется в сторонний сервис, который запускает звонок клиенту с нужного номера.
Параметр кода авторизации — ${Recipient.AuthentificationCode}
Если на проекте уже заведены представленные ниже кампании, можете их переиспользовать для данной механики.
3. Создайте автоматическую SMS-рассылку, которая будет отправляться при невозможности совершить звонок, с рабочим соединением для SMS-отправок:
Код авторизации — ${Recipient.AuthentificationCode}
4. Создайте операцию для генерации кода:
5. Создайте операцию, с помощью которой будет проверяться введенный клиентом код:
6. Создайте операцию для запроса SMS по кнопке без ожидания звонка:
Отдельная операция позволит настроить ручной запуск SMS, когда опция звонка не подходит клиенту.
7. Создайте сценарий:
7.1. Запуск — по запросу кода:
7.2. Если запрос на Flash Call:
7.3. Отправляем код в сервис для Flash Call:
7.4. Через минуту:
7.4. Проверяем, были ли проблемы с отправкой кода:
7.5. В таком случае отправляем SMS клиенту:
7.6. В ветке «Нет» от первого условия:
Проверяем, был ли запрос на SMS:
В данном случае также отправляем SMS.
Транзакционный сценарий готов:
Интеграция Flash Call по HTTP
1. Создайте точку интеграции для вебхуков.
Заполнение полей зависит от выбранного сервиса.
Пример настройки:
2. Создайте вебхук для отправки кода авторизации.
Требования к формату могут различаться в зависимости от выбранного оператора.
Параметры, которые понадобятся для отправки клиенту:
-
мобильный номер —
${Recipient.MobilePhone}
-
код авторизации —
${Recipient.AuthentificationCode}
Вебхук должен принимать ответы:
Если на проекте уже заведены представленные ниже кампании, можете их переиспользовать для данной механики.
3. Создайте автоматическую SMS-рассылку, которая будет отправляться при невозможности совершить звонок:
Код авторизации — ${Recipient.AuthentificationCode}
4. Создайте операцию для генерации кода и запуска механики:
5. Создайте операцию, с помощью которой будет проверяться введенный клиентом код:
6. Создайте операцию для запроса SMS по кнопке без ожидания звонка:
Отдельная операция позволит настроить ручной запуск SMS, когда опция звонка не подходит клиенту.
7. Создайте сценарий:
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}
-
для подтверждения используйте операцию с шагом «Подтвердить мобильный телефон на стороне клиента»: