SMSFeedback Расширенный API
Расширенный API, в отличие от Стандартного sms API использует POST запрос для отправки сообщений, что позволяет за один запрос отправить до 200 смс сообщений. Это основное функциональное отличие двух API SMSfeedback.
Сообщение для запроса формируются на основе JSON формата. JSON (англ. JavaScript Object Notation) - текстовый формат обмена данными, основанный на JavaScript и обычно используемый именно с этим языком. Как и многие другие текстовые форматы, JSON легко читается людьми.
Расширенный API используется для обеспечения массовых смс рассылок с вашего сайта или из информационной системы. Данный способ отправки удобен тем, что база данных для рассылки никуда не выгружается для последующей отправки через программу или WEB кабинет SMSfeedback. Данный интерфейс взаимодействия позволяет достичь максимальной интеграции с нашим смс сервисом.
Проверку статуса отправленных сообщений можно реализовать двумя способами:
- используя JSON запрос на проверку состояния отправленных сообщений. Данный способ позволяет проверять до 200 смс сообщений, которые вы выбираете сами.
- второй вариант - это проверка очереди отправленных сообщений (очередь назначается при отправке сообщений параметром statusQueueName). Данный способ позволят проверить одним запросом до 1000 статусов последних смс в данной очереди.
- Передача сообщений
- Проверка состояния отправленных сообщений
- Проверка очереди статусов сообщений
- Проверка состояния счета
- Список доступных подписей отправителя
Передача сообщений (до 200 сообщений в запросе)
POST запрос на сервер, вида:
http://json.api.smsfeedback.ru/send/
{
"login": "api_login",
"password": "api_password",
"statusQueueName": "myQueue",
"scheduleTime": "2009-01-01T12:30:01+00:00",
"messages":[
{
"clientId" : "1",
"phone": "79031234567",
"text": "Message text",
"sender": "MySignature"
},
{
"clientId" : "2",
"phone": "71234567891",
"text": "text"
},
{
"clientId" : "3",
"phone": "71234567892",
"text": "Message text here",
"sender": "MySignature",
"wapurl": "wap.ru"
}
]
}
| Параметр | Статус | Описание |
|---|---|---|
| login | Обязательно | Логин |
| password | Обязательно | Пароль |
| scheduleTime | Дата для отложенной отправки сообщения, в UTC (2009-01-01T12:30:01+00:00). Для смены часового пояса необходимо изменять само время, "+00:00" - неизменно. | |
| statusQueueName | Название очереди статусов отправленных сообщений, в случае, если вы хотите использовать очередь статусов отправленных сообщений. От 3 до 16 символов, буквы и цифры (например myQueue1) | |
| clientId | Обязательно | Id сообщения на стороне клиента |
| phone | Обязательно | Номер телефона, в формате 79031234567 (функция проверки номера телефона на PHP) |
| text | Обязательно | Текст сообщения, в UTF-8 кодировке (функция смены кодировки с windows-1251 на UTF-8) |
| wapurl | Wap-push ссылка, в случае, если вы хотите передать wap-push сообщение (например wap.yousite.ru) | |
| sender | Подпись отправителя (например TEST) | |
| flash | Flash SMS – сообщение, которое сразу отображается на экране и не сохраняется в памяти телефона (1 – активировано) |
При успешной авторизации сервер должен вернуть json ответ вида:
{
"status": "ok",
"messages":[
{
"clientId" : "1",
"smscId": "12345",
"status": "accepted"
},
{
"clientId" : "2",
"smscId": "12346",
"status": "sender address invalid"
}
]
}где сервис выдает результаты обработки сообщений:
| Параметр | Описание |
|---|---|
| status | Статус приема пакета (ok – ошибок не обнаружено) |
| clientId | Id сообщения на стороне клиента |
| smscId | Id сообщения на стороне сервера |
| status (в messages) | Статус отправки сообщения (подробнее о статусах) |
Проверка состояния отправленных сообщений (до 200 сообщений в запросе)
POST запрос на сервер, вида:
http://json.api.smsfeedback.ru/status/
{
"login": "api_login",
"password": "api_password",
"messages": [
{
"clientId": "1",
"smscId": "12345"
},
{
"clientId": "2",
"smscId": "12346"
}
]
}
| Параметр | Статус | Описание |
|---|---|---|
| login | Обязательно | Логин |
| password | Обязательно | Пароль |
| clientId | Обязательно | Id сообщения на стороне клиента |
| smscId | Обязательно | Id сообщения на стороне сервера |
При успешной авторизации сервер должен вернуть json ответ вида:
{
"status": "ok/error",
"messages":[
{
"clientId" : "1",
"smscId": "12345",
"status": "delivered"
},
{
"clientId" : "2",
"smscId": "12346",
"status": "smsc reject"
}
]
}где сервис выдает статусы сообщений:
| Параметр | Описание |
|---|---|
| status | Статус приема пакета (ok – ошибок не обнаружено) |
| clientId | Id сообщения на стороне клиента |
| smscId | Id сообщения на стороне сервера |
| status (в messages) | Статус отправленного сообщения (подробнее о статусах) |
Проверка очереди статусов сообщений
POST запрос на сервер, вида:
http://json.api.smsfeedback.ru/statusQueue/
{
"login": "api_login",
"password": "api_password",
"statusQueueName" : "myQueue",
"statusQueueLimit" : "100"
}
| Параметр | Статус | Описание |
|---|---|---|
| login | Обязательно | Логин |
| password | Обязательно | Пароль |
| statusQueueName | Обязательно | Название очереди статусов сообщений. Название очереди устанавливается при передаче сообщения |
| statusQueueLimit | Количество запрашиваемых статусов из очереди (по умолчанию 1, макс. 1000) |
При успешной авторизации сервер должен вернуть json ответ вида:
{
"status": "ok/error",
"messages":[
{
"smscId": "12345",
"status": "delivered"
},
{
"smscId": "12346",
"status": "smsc reject"
}
]
}где сервис выдает статусы сообщений:
| Параметр | Описание |
|---|---|
| status | Статус приема пакета (ok – ошибок не обнаружено) |
| smscId | Id сообщения на стороне сервера |
| status (в messages) | Статус отправленного сообщения (подробнее о статусах) |
Проверка состояния счета
POST запрос на сервер, вида:
http://json.api.smsfeedback.ru/credits/
{
"login": "api_login",
"password": "api_password"
}
| Параметр | Статус | Описание |
|---|---|---|
| login | Обязательно | Логин |
| password | Обязательно | Пароль |
При успешной авторизации сервер должен вернуть json ответ вида:
{
"status": "ok/error",
"credits": "12345"
}где сервис выдает информацию о балансе:
| Параметр | Описание |
|---|---|
| status | Статус приема пакета (ok – ошибок не обнаружено) |
| credits | Количество доступных SMS на балансе (без учета возможного кредита) |
Список доступных подписей отправителя
POST запрос на сервер, вида:
http://json.api.smsfeedback.ru/senders/
{
"login": "api_login",
"password": "api_password"
}
| Параметр | Статус | Описание |
|---|---|---|
| login | Обязательно | Логин |
| password | Обязательно | Пароль |
При успешной авторизации сервер должен вернуть json ответ вида:
{
"status": "ok/error",
"senders":[ "Sender_one", "Sender_two", "Sender_three" ]
}где сервис выдает информацию о балансе:
| Параметр | Описание |
|---|---|
| status | Статус приема пакета (ok – ошибок не обнаружено) |
| senders | Список доступных подписей |

