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

Предлагаем простой API метод для авторизации номеров телефонным звонком.



Зачем нужно?


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

  • Двухфакторной аутентификации
  • Регистрации
  • Восстановления пароля

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

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


  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:

<?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). В пакетных тарифах звонки еще дешевле, а виртуальный номер уже включен в пакет.