Я хочу: | Спрятать |
В качестве бесплатной альтернативы отправке кодов и паролей по СМС, мы разработали систему авторизации пользователя по звонку с его телефона.
https://sms.ru/callcheck/add?api_id=[зарегистрируйтесь, чтобы получить api_id]&phone=79255070602&json=1
Параметр | Обязательный | Описание |
---|---|---|
api_id | да | Ваш уникальный ключ (api_id). Этот способ авторизации - самый удобный и приведен в примере выше. Ваш api_id вы можете найти на главной странице личного кабинета: [зарегистрируйтесь, чтобы получить api_id]. Вместо api_id можно использовать параметры login и password, где указываются ваш логин и пароль от личного кабинета. В этом случае безопасность пароля гарантируется при использовании протокола https. |
phone | да | Номер телефона пользователя, который необходимо авторизовать (с которого мы будем ожидать звонок) |
json=1 | рекомендуется | Данный параметр вызывает ответ сервера в формате JSON, в котором предоставлено больше данных |
При включенном параметре json=1:
{
"status": "OK", // Запрос выполнен успешно (нет ошибок в авторизации)
"status_code": 100, // Успешный код выполнения
"check_id": "201737-542", // Идентификатор авторизации (необходимо сохранить в вашей базе для дальнейшей проверки состояния)
"call_phone": "78005008275", // Номер телефона, на который должен позвонить пользователь со своего номера
"call_phone_pretty": "+7 (800) 500-8275", // Номер телефона, на который должен позвонить пользователь со своего номера, в более красивом виде
"call_phone_html": "<a href="callto:78005008275">+7 (800) 500-8275<\a>" // Активная ссылка для мобильных телефонов, при нажатии на которую начнется набор номера
}
Без json:
100 // Запрос выполнен
201737-542 // Идентификатор авторизации (необходимо сохранить в вашей базе для дальнейшей проверки ее состояния)
78005008275 // Номер телефона, на который должен позвонить ваш пользователь со своего номера для прохождения авторизации
+7 (800) 500-8275 // Номер телефона, на который должен позвонить ваш пользователь со своего номера, в более красивом виде
Мы настоятельно рекомендуем использовать бесплатную опцию api callback для более быстрого и удобного получения статусов проверок. Она позволяет вам не запрашивать многократно статус проверки - он будут автоматически отправляться на ваш сервер в реальном времени.
https://sms.ru/callcheck/status?api_id=[зарегистрируйтесь, чтобы получить api_id]&check_id=[идентификатор авторизации]&json=1
Параметр | Обязательный | Описание |
---|---|---|
api_id | да | Ваш уникальный ключ (api_id). Этот способ авторизации - самый удобный и приведен в примере выше. Ваш api_id вы можете найти на главной странице личного кабинета: [зарегистрируйтесь, чтобы получить api_id]. Вместо api_id можно использовать параметры login и password, где указываются ваш логин и пароль от личного кабинета. В этом случае безопасность пароля гарантируется при использовании протокола https. |
check_id | да | Идентификатор авторизации, полученный от нас в первом примере |
json=1 | рекомендуется | Данный параметр вызывает ответ сервера в формате JSON, в котором предоставлено больше данных об отправленных сообщениях |
При включенном параметре json=1:
{
"status": "OK", // Запрос выполнен успешно (нет ошибок в формате запроса)
"status_code": 100, // Успешный код выполнения
"check_status": "401", // Статус авторизации
"check_status_text": "Авторизация по звонку: номер подтвержден", // Текстовое описание статуса авторизации
}
Без json:
100 // Запрос выполнен
401 // Статус проверки авторизации по телефону
Мы настоятельно рекомендуем использовать нашу библиотеку под PHP. Данный код указан только в качестве простого примера.
$ch = curl_init("https://sms.ru/callcheck/add");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
"api_id" => "[зарегистрируйтесь, чтобы получить api_id]",
"phone" => "79255070602", // Номер телефона, который надо проверить (с которого мы будем ожидать звонок)
"json" => 1 // Для получения более развернутого ответа от сервера
));
$body = curl_exec($ch);
curl_close($ch);
$json = json_decode($body);
if ($json) { // Получен ответ от сервера
print_r($json); // Для дебага
if ($json->status == "OK") { // Запрос выполнился
echo "Идентификатор проверки: $json->check_id";
echo "Номер, на который пользователю надо позвонить: $json->call_number";
echo "Номер, на который пользователю надо позвонить (в красивом виде): $json->call_number_pretty";
} else { // Запрос не выполнился (возможно ошибка авторизации, параметрах, итд...)
// Код ошибки: $json->status_code Текст ошибки: $json->status_text
}
} else { // Запрос не выполнился Не удалось установить связь с сервером
}
Мы настоятельно рекомендуем использовать нашу библиотеку под PHP. Данный код указан только в качестве простого примера.
$body = file_get_contents("https://sms.ru/callcheck/add?api_id=[зарегистрируйтесь, чтобы получить api_id]&phone=79255070602&json=1");
$json = json_decode($body);
print_r($json); // Для дебага
// Для разбора $json можно использовать кусок кода из предыдущего примера.
Если вы используете curl под Windows. То знак \перед знаками ? и & необходимо убрать.
curl https://sms.ru/callcheck/add\api_id=[зарегистрируйтесь, чтобы получить api_id]\phone=79255070602\json=1
Код | Описание |
---|---|
100 | Запрос выполнен, номер добавлен в базу для подтверждения и мы ожидаем с него звонок |
202 | Номер телефона пользователя указан неверно |
400 | Номер пока не подтвержден (с указанного вами номера пока не было звонка на номер, который предоставили вам мы) |
401 | Номер подтвержден |
402 | Истекло время, отведенное для проверки, либо неправильно указан check_id |
Последнее обновление: 31 Октября 2024 в 09:03