Руководство по взаимодействию с сервисом коротких сообщений (SMS) на основе HTTPS протокола, методом GET.
Запросы необходимо отправлять в UTF-8 кодировке. Не стоит использовать URL длиной более 2,000 символов. Но этот параметр зависит от многих факторов и может различаться в большую или меньшую сторону. Одинаковые запросы можно отправлять не чаще 1 раза в 1 минуту. В случае ошибки вернется:
Code Block |
---|
error: Попытка отправки более одного одинакового запроса в течение минуты |
Запрос на отправку смс:
Отправляется GET-запрос по адресу:
...
translite
транслитерация текста СМС с кириллицы на латиницу (не обязательный параметр). Для транслитерации данный параметр должен быть равен 1.
В случае успешной отправки смс:
Возвращается ID SMS в plainText. Пример:
...
user – пользователь
pwd – пароль
smsid
ID SMS
В случае успешного запроса:
В случае успешного запроса возвращается статус SMS сообщения в plainText:
send
статус сообщения не получен.
not_deliver
сообщение не было доставлено. Конечный статус (не меняется со временем).
expired
абонент находился не в сети в те моменты, когда делалась попытка доставки. Конечный Статус (не меняется со временем).
deliver
сообщение доставлено. Конечный статус (не меняется со временем).
partly_deliver
сообщение было отправлено, но статус так и не был получен. Конечный статус (не меняется со временем). В этом случае для разъяснения причин отсутствия статуса необходимо связаться со службой тех. поддержки.
Пример:
Code Block |
---|
deliver |
Проверка статуса SMS с подробной информацией:
Отправляется GET-запрос по адресу:
...
user – пользователь
pwd – пароль
smsid
ID SMS
detail
Запрос на детальную информацию по смс, всегда цифра 1
В случае успешного запроса:
В случае успешного запроса возвращается статус SMS сообщения в формате plainText. Строка является массивом, обработанной через php функцию serialize(). Для обратного перевода строки в массив, необходимо использовать php функцию unserialize():
Пример массива ответа, полученный через функцию unserialize():
Code Block | ||
---|---|---|
| ||
Array ( [id_sms] => IDSMS в системе для проверки статуса [time_change_state] => 2011-01-01 12:57:46 [state_sms] => Статус [num_parts] => 2 [price] => 1.15 ) |
...
id_sms
номер SMS сообщения, полученный в ответном XML-документа в процессе отправки SMS сообщения.
time_change_state
время изменения статуса.
state_sms
статус сообщения:
«send» - статус сообщения не получен. В этом случае передается пустой time_change_state.
«not_deliver» - сообщение не было доставлено. Конечный статус (не меняется со временем).
«expired» - абонент находился не в сети в те моменты, когда делалась попытка доставки. Конечный Статус (не меняется со временем.
«deliver» - сообщение доставлено. Конечный статус (не меняется со временем)
«partly_deliver» - сообщение было отправлено, но статус так и не был получен. Конечный статус (не меняется со временем). В этом случае для разъяснения причин отсутствия статуса необходимо связаться со службой тех. поддержки.
num_parts
Количество частей в СМС.
price
Цена за одну часть СМС.
Проверка баланса:
Отправляется GET-запрос по адресу:
...
Переменные: user – пользователь pwd – пароль * balance – параметр, определяющий вывод баланса (цифра 1)
В случае успешного запроса:
В случае успешного запроса в plainText возвращается ваш текущий баланс и остаток по текущему пакету через запятую. Пример ответа:
Code Block |
---|
445.6 RUR Россия:361,МТС:1,Мегафон:1,Skylink:1,Yota:1,Байкалвестком:1,Уралсвязьинформ:1,Енисейтелеком:1,НСС:1,Мотив:1,Tele2:1,СМАРТС:1,Ростелеком:1,BeeLine:1,Остальные:1 |
Входящие СМС:
Имеется возможность принимать входящие СМС, в том числе и с коротких номеров. Для подключения сервиса, использующего короткий номер, необходимо:
...
После обработки "входных данных" ваш скрипт должен ответить HTTP статусом 200 с текстом smsid=543 (Уникальный идентификатор СМС). В противном случае наша система будет пытаться доставить сообщение снова и снова (увеличивая интервал между попытками).
Ошибки возвращаемые платформой:
В случае возникновения ошибки возвращается текст ошибки в plainText. Возможные варианты:
У нас закончились SMS. Для разрешения проблемы свяжитесь с менеджером.
Закончились SMS.Закончились SMS/Недостаточно средств для отправки SMS;
Аккаунт заблокирован.;
Укажите номер телефона.;
Номер телефона присутствует в стоп-листе.;
Данное направление закрыто для вас.
Данное направление закрыто.
Недостаточно средств для отправки SMS. SMS будет отправлена как только вы пополните счет по данному направлению.
Текст SMS отклонен модератором.
;
Нет отправителя;Нет отправителя.
Отправитель не должен превышать 15 символов для цифровых номеров и 11 символов для буквенно-числовых.;
Номер телефона должен быть меньше 15 символов.;
Нет текста сообщения.
Нет ссылки.
Такого отправителя Нет.
;
Отправитель не прошел модерацию.;
error: Попытка отправки более одного одинакового запроса в течение минуты;
Данное сообщение уже было отправлено.
В случае возникновения ошибки свяжитесь со службой технической поддержки.