SMSFeedback SMS API

Интерфейс прикладного программирования - Application programming interface (API) для интеграции с SMSfeedback

Стандартный API использует GET запрос для отправки смс сообщений и сообщений на Viber и Telegram (в рамках каскадной схемы доставки: сначала Telegram, потом Viber, потом смс). API подходит для оптимизации бизнес-процессови компании (сообщения о статусе товара или услуги клиенту, отправки пароля для авторизации или регистрации клиента на вашем сайте, смс уведомления и т.п.) или организации небольших смс рассылок по вашей базе данных на все страны мира.

Проверку статуса отправленных сообщений можно реализовать двумя способами:

  1. используя GET запрос на проверку состояния сообщения. Данный способ позволяет проверять статус 1 смс сообщения при помощи одного запроса.
  2. второй вариант - это проверка очереди отправленных сообщений (очередь назначается при отправке сообщений параметром statusQueueName). Данный способ позволят проверить одним запросом до 1000 статусов последних смс в данной очереди.

Передача сообщения

GET запрос на сервер, вида:

http://api.smsfeedback.ru/messages/v2/send/?phone=%2B79034567890&text=test
Параметр Статус Описание
login Обязательно Логин (basic access authentication)
password Обязательно Пароль (basic access authentication)
Вы можете использовать md5 для защиты вашего пароля при запросе к нашему сервису.
phone Обязательно Номер телефона в формате 71234567890 для РФ, 381234567890 для Украины, т.е. код страны плюс номер мобильного телефона без пробелов. (функция проверки номера телефона на PHP)
text Обязательно Текст сообщения, в UTF-8 кодировке (функция смены кодировки с windows-1251 на UTF-8)
wapurl Wap-push ссылка, в случае, если вы хотите передать wap-push сообщение (например, wap.yousite.ru)
sender Подпись отправителя (например, TEST)
scheduleTime Дата для отложенной отправки сообщения, в UTC (2009-01-01T12:30:01+00:00). Для смены часового пояса необходимо изменять само время, "+00:00" - неизменно.
Если Вы отправляете дату через URL, а не скрипт, то необходимо кодировать дату. Например, 2009-01-01T12%3A30%3A01%2000%3A00 . Вы можете закодировать вашу дату при помощи специального сервиса.
statusQueueName Название очереди статусов отправленных сообщений, в случае, если вы хотите использовать очередь статусов отправленных сообщений. От 3 до 16 символов, буквы и цифры (например, myQueue1)

При успешной авторизации, в ответ сервис должен вернуть plain/text ответ вида:

accepted;A133541BC

где до знака «;» сервис выдает ответ сервиса о статусе сообщения, а после знака «;» идентификатор сообщения (A-F 0-9, макс. 72 символа)
Идентификатор, номер телефона и время отправки желательно записывать в базу данных также на вашей стороне, чтобы Вы могли в любой момент уточнить, что стало с любым смс, зная его уникальный идентификатор.
Возможные статусы при отправке смс:

Параметр Описание
accepted Сообщение принято сервисом
invalid mobile phone Неверно задан номер телефона (формат 71234567890)
error authorization Неверный логин или пароль. Ошибка авторизации
text is empty Отсутствует текст
text must be string Текст не на латинице или не в utf-8 (функция смены кодировки с windows-1251 на UTF-8)
sender address invalid Неверная (незарегистрированная) подпись отправителя
wapurl invalid Неправильный формат wap-push ссылки
invalid schedule time format Неверный формат даты отложенной отправки сообщения
invalid status queue name Неверное название очереди статусов сообщений
not enough balance Баланс пуст (проверьте баланс)

Проверка состояния отправленного сообщения

GET запрос на сервер, вида:

http://api.smsfeedback.ru/messages/v2/status/?id=A132571BC&id=A132571BD&id=A132571BE
Параметр Статус Описание
login Обязательно Логин (basic access authentication)
password Обязательно Пароль (basic access authentication)
id Обязательно Идентификатор сообщения, который вернул сервис при отправке сообщения

При успешной авторизации, в ответ сервис должен вернуть plain/text ответ вида:

A132571BC;delivered

где до знака «;» id (A-F 0-9, макс. 72 симв.) запрашиваемого статуса, а после «;» ответ сервиса о статусе сообщения:

Параметр Описание
queued Сообщение находится в очереди
delivered Сообщение доставлено
delivery error Ошибка доставки SMS (абонент в течение времени доставки находился вне зоны действия сети или номер абонента заблокирован)
smsc submit Сообщение доставлено в SMSC
smsc reject Сообщение отвергнуто SMSC (номер заблокирован или не существует)
incorrect id Неверный идентификатор сообщения

Проверка очереди статусов отправленных сообщений

GET запрос на сервер, вида:

http://api.smsfeedback.ru/messages/v2/statusQueue/?statusQueueName=myQueue1&limit=5
Параметр Статус Описание
login Обязательно Логин (basic access authentication)
password Обязательно Пароль (basic access authentication). Вы можете использовать md5 для защиты вашего пароля при запросе к нашему сервису.
statusQueueName Обязательно Название очереди статусов сообщений. Название очереди устанавливается при передаче сообщения
limit Количество запрашиваемых статусов из очереди (по умолчанию 1, макс. 1000)

При успешной авторизации, в ответ сервис должен вернуть plain/text ответ вида:

A132571BC;smsc submit
A132571BC;delivered
A13257316;smsc submit
A1325753A;delivery error
A13257316;delivered

где сервис возвращает по одному статусу в каждой строке (подробнее о статусах)

Параметр Описание
queue is empty Очередь пуста
absent status queue name Не указано название очереди статусов сообщений
invalid status queue name Неверно указано название очереди статусов сообщений

Проверка состояния счета

GET запрос на сервер, вида:

http://api.smsfeedback.ru/messages/v2/balance/
Параметр Статус Описание
login Обязательно Логин (basic access authentication)
password Обязательно Пароль (basic access authentication)

При успешной авторизации, в ответ сервис должен вернуть plain/text ответ вида:

RUB;540.15;0.0
SMS;589;100

где в каждой строке 1 значение – тип баланса, 2 значение – баланс, 3 значение – кредит (возможность использовать сервис при отрицательном балансе)

Список доступных подписей отправителя

GET запрос на сервер, вида:

http://api.smsfeedback.ru/messages/v2/senders/
Параметр Статус Описание
login Обязательно Логин (basic access authentication)
password Обязательно Пароль (basic access authentication)

При успешной авторизации, в ответ сервис должен вернуть plain/text ответ вида:

SiteName.ru;active;
5134013;pending;
Bank;blocked;bad sender name
TEST-SMS;default;

где в каждой строке 1 значение – имя подписи, 2 значение – статус, 3 значение – примечание

Параметр Описание
active Подпись активирована и готова к использованию
new Новая подпись
pending Подпись в процессе активации
blocked Подпись заблокирована
default Подпись по умолчанию, готова к использованию