Я хочу: | Спрятать |
Если вы хотите авторизовывать ваших пользователей, но не хотите платить абонентскую плату за регистрацию буквенных отправителей у операторов, то вы можете отправлять коды, состоящие из четырех цифр, путем звонка.
Мы совершим звонок пользователю со случайного номера, заранее сообщив вам 4 цифры, на которые он заканчивается. Вам останется попросить пользователя сообщить вам последние четыре цифры номера, с которого ему поступил звонок, и сверить с теми цифрами, которые вы передали нам. Если данные совпадут, то можете авторизовывать пользователя.
Данная система работает по всему миру.
40 копеек - номера России, 1 рубль - все остальные номера.
Совершить звонок на номер пользователя со случайного номера телефона.
https://sms.ru/code/call?phone=79255070602&ip=33.22.11.55&api_id=[зарегистрируйтесь, чтобы получить api_id]
{
"status": "OK", // Запрос выполнен успешно (нет ошибок в авторизации, проблем с отправителем, итд...)
"code": "1435", // Последние 4 цифры номера, с которого мы совершим звонок пользователю
"call_id": "000000-10000000", // ID звонка
"cost": 0.4, // Стоимость звонка
"balance": 4122.56 // Ваш баланс после совершения звонка
}
Параметр | Обязательный | Описание |
---|---|---|
phone | да | Номер телефона получателя |
ip | да | Мы можем защитить вас на случай от действий злоумышленников, которые вынуждают вас совершать много звонков на один или разные номера (к примеру, регистрируясь много раз подряд на вашем сайте с одного IP адреса). В этом параметре необходимо передать нам IP адрес вашего пользователя (не сервера!), и, если мы заметим, что с этим IP связано большое количество звонков (или иная подозрительная активность), то мы их начнем блокировать (ограничение настраивается в разделе "Настройки"). Если у вас происходит отправка звонка вручную (например с кассы), или запросы приходят только с локальных IP адресов, то нужно передать значение -1 |
partner_id= | Если вы участвуете в партнерской программе, укажите этот параметр в запросе и получайте проценты от стоимости отправленных сообщений. Ваш уникальный идентификатор - - уже указан в параметре. |
Авторизация осуществляется при помощи:
Параметр | Обязательный | Описание |
---|---|---|
api_id | да | Авторизацию по вашему уникальному ключу (api_id). Этот способ авторизации - самый удобный и приведен в примере выше. Ваш api_id вы можете найти на главной странице личного кабинета: [зарегистрируйтесь, чтобы получить api_id] |
или
Параметр | Обязательный | Описание |
---|---|---|
login | да | Ваш номер телефона (логин): 79255070602 |
password | да | Пароль (безопасность гарантируется при использовании https) |
$ch = curl_init("https://sms.ru/code/call");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array(
"phone" => "79255070602", // номер телефона пользователя
"ip" => $_SERVER["REMOTE_ADDR"], // ip адрес пользователя
"api_id" => "[зарегистрируйтесь, чтобы получить api_id]"
)));
$body = curl_exec($ch);
curl_close($ch);
$json = json_decode($body);
if ($json) { // Получен ответ от сервера
print_r($json); // Для дебага
if ($json->status == "OK") { // Запрос выполнился
echo "Звонок выполняется. ";
echo "Четырехзначный код (последние 4 цифры номера, с которого мы позвоним пользователю): ".$json->code.". ";
echo "ID звонка: ".$json->call_id.". ";
echo "Стоимость звонка: ".$json->cost." руб. ";
echo "Ваш баланс после звонка: ".$json->balance." руб. ";
echo "";
} else { // Ошибка в запросе
echo "Звонок не может быть выполнен. ";
echo "Текст ошибки: ".$json->status_text.". ";
echo "";
}
} else {
echo "Запрос не выполнился. Не удалось установить связь с сервером. ";
}
$body = file_get_contents("https://sms.ru/code/call?phone=79255070602&ip=".$_SERVER["REMOTE_ADDR"]);
$json = json_decode($body);
print_r($json); // Для дебага
// Для разбора $json можно использовать кусок кода из предыдущего примера.
#!/usr/bin/perl
use LWP::Simple;
use HTTP::Request::Common qw(POST);
$ua = LWP::UserAgent->new;
my $req = POST 'https://sms.ru/code/call',
[
phone => '79255070602',
api_id => '[зарегистрируйтесь, чтобы получить api_id]',
];
print $ua->request($req)->as_string;
curl --data-urlencode "phone=79255070602" "https://sms.ru/sms/send?api_id=[зарегистрируйтесь, чтобы получить api_id]"
Последнее обновление: 17 Мая 2024 в 13:50