SMSFeedback SMS API
Интерфейс прикладного программирования - Application programming interface (API) для интеграции с SMSfeedback
Стандартный API использует GET запрос для отправки смс сообщений и сообщений на Viber и Telegram (в рамках каскадной схемы доставки: сначала Telegram, потом Viber, потом смс). API подходит для оптимизации бизнес-процессови компании (сообщения о статусе товара или услуги клиенту, отправки пароля для авторизации или регистрации клиента на вашем сайте, смс уведомления и т.п.) или организации небольших смс рассылок по вашей базе данных на все страны мира.
Проверку статуса отправленных сообщений можно реализовать двумя способами:
- используя GET запрос на проверку состояния сообщения. Данный способ позволяет проверять статус 1 смс сообщения при помощи одного запроса.
- второй вариант - это проверка очереди отправленных сообщений (очередь назначается при отправке сообщений параметром statusQueueName). Данный способ позволят проверить одним запросом до 1000 статусов последних смс в данной очереди.
- Передача сообщения
- Проверка состояния сообщения
- Проверка очереди статусов сообщений
- Проверка состояния счета
- Список доступных подписей отправителя
Передача сообщения
GET запрос на сервер, вида:
Параметр | Статус | Описание |
---|---|---|
login | Обязательно | |
password | Обязательно | Вы можете использовать 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 ответ вида:
где до знака «;» сервис выдает ответ сервиса о статусе сообщения, а после знака «;» идентификатор сообщения (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 запрос на сервер, вида:
Параметр | Статус | Описание |
---|---|---|
login | Обязательно | |
password | Обязательно | |
id | Обязательно | Идентификатор сообщения, который вернул сервис при отправке сообщения |
При успешной авторизации, в ответ сервис должен вернуть plain/text ответ вида:
где до знака «;» id (A-F 0-9, макс. 72 симв.) запрашиваемого статуса, а после «;» ответ сервиса о статусе сообщения:
Параметр | Описание |
---|---|
queued | Сообщение находится в очереди |
delivered | Сообщение доставлено |
delivery error | Ошибка доставки SMS (абонент в течение времени доставки находился вне зоны действия сети или номер абонента заблокирован) |
smsc submit | Сообщение доставлено в SMSC |
smsc reject | Сообщение отвергнуто SMSC (номер заблокирован или не существует) |
incorrect id | Неверный идентификатор сообщения |
Проверка очереди статусов отправленных сообщений
GET запрос на сервер, вида:
Параметр | Статус | Описание |
---|---|---|
login | Обязательно | |
password | Обязательно | |
statusQueueName | Обязательно | Название очереди статусов сообщений. Название очереди устанавливается при передаче сообщения |
limit | Количество запрашиваемых статусов из очереди (по умолчанию 1, макс. 1000) |
При успешной авторизации, в ответ сервис должен вернуть plain/text ответ вида:
A132571BC;delivered
A13257316;smsc submit
A1325753A;delivery error
A13257316;delivered
где сервис возвращает по одному статусу в каждой строке (подробнее о статусах)
Параметр | Описание |
---|---|
queue is empty | Очередь пуста |
absent status queue name | Не указано название очереди статусов сообщений |
invalid status queue name | Неверно указано название очереди статусов сообщений |
Проверка состояния счета
GET запрос на сервер, вида:
Параметр | Статус | Описание |
---|---|---|
login | Обязательно | |
password | Обязательно |
При успешной авторизации, в ответ сервис должен вернуть plain/text ответ вида:
SMS;589;100
где в каждой строке 1 значение – тип баланса, 2 значение – баланс, 3 значение – кредит (возможность использовать сервис при отрицательном балансе)
Список доступных подписей отправителя
GET запрос на сервер, вида:
Параметр | Статус | Описание |
---|---|---|
login | Обязательно | |
password | Обязательно |
При успешной авторизации, в ответ сервис должен вернуть plain/text ответ вида:
5134013;pending;
Bank;blocked;bad sender name
TEST-SMS;default;
где в каждой строке 1 значение – имя подписи, 2 значение – статус, 3 значение – примечание
Параметр | Описание |
---|---|
active | Подпись активирована и готова к использованию |
new | Новая подпись |
pending | Подпись в процессе активации |
blocked | Подпись заблокирована |
default | Подпись по умолчанию, готова к использованию |