Данный функционал можно использовать полноценно вместо отправки SMS кодов, совместно с отправкой SMS (см. функцию Отправка SMS-кода с функцией "Защита вызовом"), а также комбинировать, предоставляя абоненту возможность выбрать способ авторизации по SMS или звонком.
Абонент предоставляет Вам свой номер телефона, который необходимо авторизовать (проверить), точно также, как при авторизации с помощью отправки SMS кода на проверяемый номер,
И так, для проверки номера телефона, - Вы делаете запрос на API method=wait_call, при этом передаете номер проверяемого телефона абонента phone=79670311122 и устанавливаете время ожидания звонка от абонента (параметр call_protection=200), а также другие параметры, необходимые для авторизации на платформе (логин/пароль или api key). Параметр call_protection можно задать меньше, например call_protection=60 (60 секунд, ограничительное время за которое звонок может быть принят для конкретной авторизации).
Платформа в ответ выдает номер, на который необходимо позвонить для проверки.
При этом абоненту необходимо выдать сообщение, примерно следующего содержания (см. рекомендации).
"Для прохождения авторизации, позвоните на бесплатный номер 8800-ХХХ-ХХХХ, дождитесь ответа о том, что абонент занят, далее можно положить трубку, либо звонок будет сброшен после оканчания проигрывания сообщения".
В момент поступления звонка от проверяемого абонента, - Вы получите HTTP запрос с информацией о входящем вызове, на основании которой Вы должны произвести авторизацию абонента в своей системе.
Указать URL, на который будет осуществлен GET запрос необходимо в разделе "Настройки" -> "API и интеграция" -> раздел "Настройка получения информации о входящих вызовах"
<?php
// Пример 1 - отправляем SMS сообщение,
// совмещая аутентификацию с отправкой сообщения.
// в этом примере для аутентификации на сервере используется API KEY
// API KEY можно запросить в личном кабинете в разделе "НАСТРОЙКИ" -> "API и Интеграция"
// (доступно после активации SMS-шлюза)
//--------------------------------------------------------------------
require_once "ssms_su.php";
$key = "XxxYYyyZZZzzDDddEeeeFFFfff";
$phone = "7xxxYYYyyzz";
// при отправке SMS используется метода push_msg
$result = smsapi_push_msg_nologin_key($key, $phone, "Hello world =)!", array("sender_name"=>"user"));
var_dump($result);
// В результате выполнения запроса Вы получите массив $result, который будет содержать следующие параметры:
array(4) {
[0]=>
int(0) // Код ошибки (0 - выполнено успешно, СМС отправлена)
[1]=>
int(1) // Количество частей СМС
[2]=>
string(4) "1.29" // Стоимость
[3]=>
int(8213301) // ID SMS на стороне SMS-шлюза
}
// Пример 2 - отправляем SMS сообщение,
// совмещая аутентификацию с отправкой сообщения.
// в этом примере для аутентификации на сервере используется ЛОГИН и ПАРОЛЬ от cервиса
//--------------------------------------------------------------------
require_once "ssms_su.php";
$email = "user@example.com";
$password = "XxXXXXXXXXXXXXXXXX";
$phone = "7xxxYYYyyzz";
// при отправке SMS используется метода push_msg
$result = smsapi_push_msg_nologin($email, $password, $phone, "Hello world =)!", array("sender_name"=>"user"));
var_dump($result);
// В результате выполнения запроса Вы получите массив $result, который будет содержать следующие параметры:
array(4) {
[0]=>
int(0) // Код ошибки (0 - выполнено успешно, СМС отправлена)
[1]=>
int(1) // Количество частей СМС
[2]=>
string(4) "1.29" // Стоимость
[3]=>
int(8213301) // ID SMS на стороне SMS-шлюза
}
?>