Современный метод регистрации пользователя по e-mail и паролю становится вчерашним днем. Теперь компаниям все чаще нужно верифицировать своего клиента еще и по номеру телефона.
Чаще всего это нужно для того, чтобы идентифицировать личность пользователя. Классическая авторизация по СМС имеет две проблемы - она очень дорогая для компании и обходится хитрыми пользователями с помощью временного виртуального номера.
По этой причине многие переходят на верификацию пользователя посредством звонка на номер. Работает он следующим образом - пользователю звонит робот и называет код, который нужно ввести на сайте.
Реализовать это в телефонии Novofon можно с помощью нового метода API. И делается это следующим образом:
В открытом API есть метод request_checknumber.
Его параметры:
- caller_id — номер, с которого совершается звонок, должен быть номером, подключенным в Novofon;
- to — номер телефона клиента, которому звонит робот;
- code — код, который будет воспроизводиться. Набор цифр, который задаете вы и воспроизводит голосовой робот, максимальная длина - 20 символов;
- lang — язык начитки кода. Доступные варианты: ru-RU (русский), de-DE (немецкий), en-US (английский), es-ES (испанский), fi-FI (финский), fr-FR (французский), it-IT (итальянский), kk-KZ (казахский), nl-NL (голландский), pl-PL (польский), pt-PT (португальский), pt-BR (бразильский-португальский), sv-SE (шведский), tr-TR (турецкий). При отсутствии - ваш язык личного кабинета.
Что потребуется для начала работы?
- Первое, что необходимо сделать - зарегистрироваться в Novofon.
- Подключить виртуальный номер. Это обязательный пункт - с этого номера будут совершаться звонки на номера ваших пользователей.
- Создать ключ авторизации API и начать работу с методом.
Мы рекомендуем вам использовать официальную библиотеку (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" => "номер А",
"to" => "номер Б",
"code" => "1234567890",
"lang" => "ru"
]);
В случае успеха, вы получите типовой ответ:
{
"status":"success",
"From":номер А,
"To":номер Б,
"lang":"ru",
"time":1612779278
}
Идентификация пользователя постепенно становится одной из главных задач многих сервисов. И поиск способов по автоматизации и снижению расходов на это волнует многие компании. Теперь вы знаете на один метод больше.