Добавить callback обработчик

Если вы хотите добавить обработчик callback, осуществите этот запрос: Добавить URL Callback системы на вашей стороне, на которую будут возвращаться статусы отправленных вами сообщений.

Примеры запросов

https://sms.ru/callback/add?api_id=[зарегистрируйтесь, чтобы получить api_id]&url=https%3A%2F%2Fyoursite.ru%2Fcallback.php&json=1

Пример ответа

При включенном параметре json=1:

{
    "status": "OK", // Запрос выполнен успешно (нет ошибок в авторизации)
    "status_code": 100, // Успешный код выполнения
    "callback": [ // Список добавленных callback
        "http://yoursite.ru/callback.php", // первый сайт
        "http://anothersite.ru/callback/index.php" // второй сайт
    ]
}

Без json:

100 // Запрос выполнен
http://yoursite.ru/callback.php // первый сайт
http://anothersite.ru/callback/index.php // второй сайт

Параметры

Параметр Обязательный Описание
url да Адрес обработчика (должен начинаться на http://). Если передаете в GET, то адрес необходимо экранировать функцией urlencode (или схожей - чтобы результат был похож на наш пример выше). Если передаете в POST, то экранировать не нужно.

Авторизация осуществляется при помощи:

Параметр Обязательный Описание
api_id да Авторизацию по вашему уникальному ключу (api_id). Этот способ авторизации - самый удобный и приведен в примере выше. Ваш api_id вы можете найти на главной странице личного кабинета: [зарегистрируйтесь, чтобы получить api_id]

или

Параметр Обязательный Описание
login да Ваш номер телефона (логин): 79255070602
password да Пароль (безопасность гарантируется при использовании https)

Пример на PHP (со включенным модулем curl)

Мы настоятельно рекомендуем использовать нашу библиотеку под PHP. Данный код указан только в качестве простого примера.

$ch = curl_init("https://sms.ru/callback/add");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
    "api_id" => "[зарегистрируйтесь, чтобы получить api_id]",
    "url" => "http://yoursite.ru/callback.php", // Адрес обработчика callback на вашем сайте
    "json" => 1
));
$body = curl_exec($ch);
curl_close($ch);

$json = json_decode($body);
if ($json) { // Получен ответ от сервера
    print_r($json); // Для дебага
    if ($json->status == "OK") { // Запрос выполнился
        // Запрос выполнен.
    } else { // Запрос не выполнился (возможно ошибка авторизации, параметрах, итд...)
        // Код ошибки: $json->status_code Текст ошибки: $json->status_text
    }
} else { // Запрос не выполнился Не удалось установить связь с сервером

}

Пример на PHP без curl

Мы настоятельно рекомендуем использовать нашу библиотеку под PHP. Данный код указан только в качестве простого примера.

$body = file_get_contents("https://sms.ru/callback/add?api_id=[зарегистрируйтесь, чтобы получить api_id]&url=".urlencode("http://yoursite.ru/callback.php")."&json=1"); 

$json = json_decode($body);
print_r($json); // Для дебага
// Для разбора $json можно использовать кусок кода из предыдущего примера.

Пример на curl

Если вы используете curl под Windows. То знак \ перед знаками ? и & необходимо убрать.

curl -d "url=http://yoursite.ru/callback.php" https://sms.ru/callback/add\?api_id=[зарегистрируйтесь, чтобы получить api_id]\&json=1

Значения кодов

Код Значение
-1 Сообщение не найдено
100 Запрос выполнен или сообщение находится в нашей очереди
101 Сообщение передается оператору
102 Сообщение отправлено (в пути)
103 Сообщение доставлено
104 Не может быть доставлено: время жизни истекло
105 Не может быть доставлено: удалено оператором
106 Не может быть доставлено: сбой в телефоне
107 Не может быть доставлено: неизвестная причина
108 Не может быть доставлено: отклонено
110 Сообщение прочитано (для Viber, временно не работает)
150 Не может быть доставлено: не найден маршрут на данный номер
200 Неправильный api_id
201 Не хватает средств на лицевом счету
202 Неправильно указан номер телефона получателя, либо на него нет маршрута
203 Нет текста сообщения
204 Имя отправителя не зарегистрировано у оператора получателя данного сообщения. Подайте заявку через раздел Отправители на сайте SMS.RU
205 Сообщение слишком длинное (превышает 8 СМС)
206 Будет превышен или уже превышен дневной лимит на отправку сообщений
207 На этот номер нет маршрута для доставки сообщений
208 Параметр time указан неправильно
209 Вы добавили этот номер (или один из номеров) в стоп-лист
210 Используется GET, где необходимо использовать POST
211 Метод не найден
212 Текст сообщения необходимо передать в кодировке UTF-8 (вы передали в другой кодировке)
213 Указано более 5000 номеров в списке получателей
214 Номер находится зарубежом (включена настройка "Отправлять только на номера РФ")
215 Этот номер находится в стоп-листе SMS.RU (от получателя поступала жалоба на спам)
216 В тексте сообщения содержится запрещенное слово
220 Сервис временно недоступен, попробуйте чуть позже
230 Превышен общий лимит количества сообщений на этот номер в день
231 Превышен лимит одинаковых сообщений на этот номер в минуту
232 Превышен лимит одинаковых сообщений на этот номер в день
233 Превышен лимит отправки повторных сообщений с кодом на этот номер за короткий промежуток времени ("защита от мошенников", можно отключить в разделе "Настройки")
300 Неправильный token (возможно истек срок действия, либо ваш IP изменился)
301 Неправильный api_id, либо логин/пароль
302 Пользователь авторизован, но аккаунт не подтвержден (пользователь не ввел код, присланный в регистрационной смс)
303 Код подтверждения неверен
304 Отправлено слишком много кодов подтверждения. Пожалуйста, повторите запрос позднее
305 Слишком много неверных вводов кода, повторите попытку позднее
500 Ошибка на сервере. Повторите запрос.
501 Превышен лимит: IP пользователя из сети TOR, слишком много таких сообщений за короткий промежуток времени (можно настроить в ЛК).
502 Превышен лимит: IP пользователя не совпадает с его страной, слишком много таких сообщений за короткий промежуток времени (можно настроить в ЛК).
503 Превышен лимит: Слишком много сообщений в эту страну за короткий промежуток времени (можно настроить в ЛК).
504 Превышен лимит: Слишком много кодов авторизаций зарубеж за короткий промежуток времени (можно настроить в ЛК).
505 Превышен лимит: Слишком много сообщений на один IP адрес (можно настроить в ЛК).
506 Превышен лимит: Слишком много сообщений, где IP адрес конечного пользователя принадлежит хостинговой компании (%s за последние 10 минут). Обычно это указывает на то, что запросы идут от ботов, а не пользователей.
507 IP адрес пользователя указан неверно, либо идет из частный подсети (192.*, 10.*, итд).
901 Callback: URL неверный (не начинается на http://)
902 Callback: Обработчик не найден (возможно был удален ранее)

Последнее обновление: 25 Сентября 2017 в 15:03

Бесплатный номер по России  +7 (800) 222-60-95