Предлагаем простой API метод для авторизации номеров телефонным звонком.
Зачем нужно?
Телефонный номер остается одним из самых простых и надежных идентификаторов клиента.
Авторизация по номеру телефона используют сервисы с целью:
- Двухфакторной аутентификации
- Регистрации
- Восстановления пароля
Как выше писали, авторизация по СМС часто не совершенна и слишком дорога. Регистрация или двухфакторная авторизация по звонку на телефонный номер сегодня — оптимальный способ подтверждения личности.
Как работает?
- Ваш клиент вводит номер телефона в форме на сайте
- Вы генерируете числовой код и отправляете API запрос
- Робот звонит клиенту и произносит цифры
- Клиент вводит цифры в форме на сайте, тем самым подтверждая номер
Как видим все предельно просто, все что вам нужно это сгеренировать случайный код и отправить вызов через API.
Как реализовать
В открытом API Zadarma есть метод request_checknumber.
Его параметры:
- caller_id — номер, с которого совершается звонок, должен быть номером, подключенным в Zadarma;
- to — номер телефона клиента, которому звонит робот;
- code — код, который будет воспроизводиться. Набор цифр задаете вы, а воспроизводит голосовой робот, максимальная длина кода — 20 символов;
- lang — язык начитки кода. Доступные языки — русский, английский, испанский, польский, немецкий, французский, украинский.
Вы просто генерируете код, отправляете API запрос и ждете пока клиент введет этот код у вас на сайте.
Что требуется, чтобы начать?
Несколько простых шагов для того, чтобы использовать авторизацию по номеру телефона в своём сервисе:
- Регистрируетесь
- Подключаете виртуальный номер в сервисе (обязательное условие, звонки вашим клиентам должны проходить с телефонного номера, подключенного в Zadarma)
- В личном кабинете создаете ключ авторизации 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). В пакетных тарифах звонки еще дешевле, а виртуальный номер уже включен в пакет.
ссылка на оригинал статьи https://habr.com/ru/company/zadarma/blog/543394/
Добавить комментарий