Подтверждение номеров телефона без SMS

Сегодня компаниям все чаще нужно верифицировать клиента не только по email, но и по телефонному номеру. Проблем с подтверждением номера по смс две — это дорогой для компании и не всегда безопасный способ — клиенты часто используют временные виртуальные номера.
Предлагаем простой API метод для авторизации номеров телефонным звонком.

yjpog4e_fuab1g2j26otmepfznc.jpeg

Зачем нужно?


Телефонный номер остается одним из самых простых и надежных идентификаторов клиента.
Авторизация по номеру телефона используют сервисы с целью:
  • Двухфакторной аутентификации
  • Регистрации
  • Восстановления пароля

Как выше писали, авторизация по СМС часто не совершенна и слишком дорога. Регистрация или двухфакторная авторизация по звонку на телефонный номер сегодня — оптимальный способ подтверждения личности.

Как работает?


  1. Ваш клиент вводит номер телефона в форме на сайте
  2. Вы генерируете числовой код и отправляете API запрос
  3. Робот звонит клиенту и произносит цифры
  4. Клиент вводит цифры в форме на сайте, тем самым подтверждая номер

Как видим все предельно просто, все что вам нужно это сгеренировать случайный код и отправить вызов через API.

Как реализовать


В открытом API Zadarma есть метод request_checknumber.

Его параметры:

  • caller_id — номер, с которого совершается звонок, должен быть номером, подключенным в Zadarma;
  • to — номер телефона клиента, которому звонит робот;
  • code — код, который будет воспроизводиться. Набор цифр задаете вы, а воспроизводит голосовой робот, максимальная длина кода — 20 символов;
  • lang — язык начитки кода. Доступные языки — русский, английский, испанский, польский, немецкий, французский, украинский.

Вы просто генерируете код, отправляете API запрос и ждете пока клиент введет этот код у вас на сайте.

Что требуется, чтобы начать?


Несколько простых шагов для того, чтобы использовать авторизацию по номеру телефона в своём сервисе:
  1. Регистрируетесь
  2. Подключаете виртуальный номер в сервисе (обязательное условие, звонки вашим клиентам должны проходить с телефонного номера, подключенного в Zadarma)
  3. В личном кабинете создаете ключ авторизации API, начинаете работать с методом

Для удобства работы с API Zadarma, рекомендуем использовать официальную библиотеку (php, python и C#). После установки задаете ваши ключи API в подключаемых файлах.

Вот пример запроса с использованием клиента на языке PHP:

use Zadarma_API\Api;

require_once __DIR__.DIRECTORY_SEPARATOR.'include.php';

define ('USE_SANDBOX', false);
$api = new Api (KEY, SECRET, USE_SANDBOX);

$api→call ('/v1/request/checknumber/', [
«caller_id» => »74990000000»,
«to» => »79170000000»,
«code» => »12345»,
«lang» => «ru»
]);

А вот успешный ответ на данный запрос:

{
"status":"success",
"from":74990000000,
"to":79170000000,
"lang":"ru",
"time":1612779278
}

Стоимость


Интерфейс API Zadarma бесплатный. Для подтверждения номеров оплачивается исходящий звонок (посекундно) и аренда номера для совершения вызовов (1 раз в месяц). Для примера, исходящий звонок с произнесением кода на российский мобильный будет стоить около 30 копеек (примерно 15 секунд). А аренда номера в Москве обойдется в 120 рублей (код 499). В пакетных тарифах звонки еще дешевле, а виртуальный номер уже включен в пакет.

© Habrahabr.ru