SMS#
Допустимые типы данных при передаче запроса:
текстовые данные – передаются как текстовое SMS-сообщение;
двоичные данные – передаются в теле SMS-сообщения.
Запрос на отправку текстовых SMS-сообщений#
Метод: GET.
Примеры запросов#
GET-запрос с сообщением на латинице “test“ в простом текстовом формате.
http://partner.ru/login?clientId=79161234567&message=test&pass=123&serviceId=login
GET-запрос с текстом сообщения на кириллице “тест“ в URL-формате.
http://partner.ru/login?clientId=79161234567&message=%D1%82%D0%B5%D1%81%D1%82&pass=123&serviceId=login
Параметры запросов#
В таблице обязательные параметры выделены полужирным шрифтом.
Параметр |
Тип |
Описание |
---|---|---|
clientId |
string |
Номер телефона абонента, до 25 символов. Примеры: 79036550550, +79036550550, 8-903-655-05-50, 89036550550. |
message |
string |
Сообщение для отправки абоненту. ПодробнееТекст в данном параметре должен быть в кодировке UTF-8. Максимально допустимая длина сообщения: 2000 символов. |
serviceId |
string |
Идентификатор сервиса (логин), от имени которого происходит отправка сообщения. Подробнее
Сервис-провайдер заводит логин |
pass |
string |
Пароль для авторизации в сервисе. ПодробнееСервис-провайдер заводит пароль при подключении сервиса и сообщает его Партнёру. |
ptag |
string |
Идентификатор сообщения в системе Партнёра. ПодробнееДопустимые символы: 0...9a...zA...Z- Количество символов: от одного до 50. Это может быть любой идентификатор в системе Партнёра. Например, уникальный идентификатор сообщения или идентификатор подразделения, инициирующего запрос на отправку.
В отличие от параметра Сервис-провайдер опционально возвращает Партнёру данный идентификатор в рамках запроса на получение статуса доставки сообщения (см. Сервис получения статусов доставки). |
sending_time |
string |
Локальное время отправки сообщения абоненту. Подробнее
Задается в формате Если параметр указан, то его значение не может быть пустым.
Например, при значении параметра Часовой пояс абонента определяется не по фактическому местоположению абонента.
Если Партнёр не передает параметр
Если Партнёр передает в параметре |
time_zone |
string |
Часовой пояс абонента. Подробнее
Задается в формате Если Партнёр передает в этом параметре часовой пояс, то сообщение будет отправлено абоненту по местному времени этого часового пояса, иначе часовой пояс абонента определяется по номеру телефона абонента. Пример. Абонент с хабаровским номером находится в Москве. Возможны следующие варианты отправки:
Для нулевой зоны обязательно указание знака, неважно "+" или "–".
Знак "+" при кодировании URL преобразуется в |
flash |
string |
Признак отправки Flash-SMS. Подробнее
Если параметр Если параметр отсутствует или не равен «1», будет отправлено обычное SMS-сообщение.
Максимальная длина SMS-сообщений с установленным признаком
|
source |
string |
Сервисное имя отправителя. ПодробнееДанный параметр не является обязательным. Если параметр отсутствует в запросе, то сообщение будет отправлено абоненту с имени по умолчанию (настройка на стороне Сервис-провайдера). Использование данного параметра недоступно для Партнёра по умолчанию. Функционал может быть включен после согласования с Сервис-провайдером. В этом случае для Партнёра настраивается список разрешенных имен отправителей, либо включается функционал динамической подписи. |
output |
string |
Формат ответа на запрос. Подробнее
Если Если параметр не задан или имеет другое значение, будет применён формат по умолчанию: простой текст (text/plain), см. Ответ на запрос в текстовом формате. |
partnerMsgId |
string |
Уникальный идентификатор сообщения в системе Партнёра. ПодробнееКоличество символов: от одного до 50.
Данный параметр используется для контроля повторных отправок и дублирования.
Партнёр может отправить запрос на отправку сообщения с одним и тем же
При этом:
Сервис-провайдер опционально возвращает Партнёру данный идентификатор в рамках запроса на получение статуса доставки сообщения (см. Сервис получения статусов доставки). Использование данного параметра недоступно по умолчанию. Подключение данного функционала следует согласовать со своим курирующим менеджером. |
smsPriority |
integer |
Параметр указывает на приоритет сообщения. ПодробнееСообщения с более высоким приоритетом отправляются оператору в первую очередь. Возможные значения:
Использование данного параметра недоступно по умолчанию. Подключение данного функционала следует согласовать со своим курирующим менеджером. |
shortenLinks |
boolean |
Параметр указывает, требуется ли сокращать ссылки в тексте сообщения. ПодробнееИспользуется только для одиночных сообщений.
В случае каскадной доотправки необходимо использовать параметр
Использование данного параметра недоступно по умолчанию. Подключение данного функционала необходимо согласовать со своим курирующим менеджером. Подробнее: см. Сервис сокращения ссылок. |
Запросы с двоичными данными#
При передаче двоичных данных в тексте сообщения передается последовательность байт в шестнадцатеричной системе счисления.
Для передачи двоичных данных в запросе необходимо указать дополнительные параметры (см. ниже).
Метод: GET.
Пример запроса#
http://partner.ru/login?clientId=79161234567&message=0605040b8423f0dc0601ae02056a0045c60b03687474703a2f2f7761702e7A616772757A6B612e636F6D0001035A616772757A6B6155524C000101&serviceId=login&pass=123&smpp_encoding=245&smpp_esm_class=64
Параметры для передачи двоичных данных в запросе#
В таблице обязательные параметры отмечены полужирным шрифтом.
Параметр |
Тип |
Описание |
---|---|---|
message |
string |
Сообщение для отправки абоненту. ПодробнееПри отправке двоичных данных параметр содержит последовательность байт в шестнадцатеричной системе счисления (стандартный HEX Decimal). Наличие иных символов в тексте недопустимо. Для передачи двоичного сообщения текст должен быть в кодировке UTF-8. Максимально допустимая длина сообщения: 2000 символов. |
smpp_encoding |
integer |
Интерпретация данных. ПодробнееДля корректной доставки двоичного сообщения следует передать в запросе дополнительные параметры, обеспечивающие верную интерпретацию данных после отправки с использованием протокола SMPP версии 3.4. Для определенных разновидностей сообщений указывается один из параметров (или оба одновременно). Множество значений этих параметров задается протоколом SMPP версии 3.4.
При отправке двоичного сообщения абоненту во всех его частях проставляются
указанные значения параметров
Если не установлен ни один из параметров |
smpp_esm_class |
integer |
Ответ на запрос#
Примечание
Сервис-провайдер отправляет сообщения абонентам только при успешной обработке запроса.
Ответ на запрос в текстовом формате#
Ответ при успешной отправке запроса#
На успешный запрос Сервис-провайдер возвращает Партнёру:
HTTP-код
200
OK;идентификатор сообщения в системе Сервис-провайдера.
OK
4095284974
Ответный код |
Описание |
Возможные действия Партнера |
---|---|---|
200 |
Успешная обработка запроса.
В теле ответа передаётся идентификатор, присвоенный
сообщению Сервис-провайдером.
Идентификатор представляет собой 64-битное целое
положительное число.
|
Штатная работа с сервисом. |
Ошибки при отправке запроса#
При передаче ошибочного запроса в теле ответа может возвращаться короткое текстовое сообщение об ошибке.
Пример ответа в случае возникновения ошибки – неверного сочетания serviceId/pass
:
Invalid password
Код |
Описание |
Действие Партнера |
---|---|---|
400 |
Отсутствуют обязательные параметры или они заданы некорректно. Подробнее
Например, не передан параметр
|
Что делатьПовторить запрос с правильным сочетанием параметров и их корректными значениями. |
401 |
Передано неверное сочетание параметров |
Что делать
Повторить запрос с верными значениями
параметров |
402 |
Исчерпан остаток оплаченных сообщений (для Партнёров, работающих по предоплате). |
Что делатьДля возобновления отправки сообщений необходимо внести предоплату и обратиться к своему курирующему менеджеру. Повторять запрос Партнёру не следует. |
403 |
Сервис с переданным |
Что делатьСледует обратиться к своему курирующему менеджеру. Повторять запрос Партнёру не следует. |
406 |
Невозможно послать сообщение абоненту с переданным
|
Что делатьПовторять запрос Партнёру не следует. |
408 |
Превышение допустимой скорости отправки сообщений. ПодробнееДля сервиса Партнёра установлена допустимая скорость 10 запросов в секунду. Партнёр отправил 12 запросов в секунду.
Первые 10 запросов будут успешно обработаны:
в ответ на эти запросы Сервис-провайдер вернет
Партнёру статус
В ответ на последние два запроса
Сервис-провайдер вернет Партнёру статус
|
Что делатьПартнёр может повторить запрос, не превышая допустимой скорости. |
409 |
Запрещена отправка дубликатов. ПодробнееДля сервиса Партнёра включен функционал блокировки дубликатов. Партнёр отправил в течение суток три запроса для отправки сообщения на один номер с одинаковым текстом. Первый запрос будет успешно обработан, и сообщение будет отправлено абоненту.
В ответ на последние два запроса
Сервис-провайдер вернет Партнёру статус
Функционал блокировки дубликатов по умолчанию отключен для Партнёра. Функционал может быть включен по просьбе Партнёра. Также Сервис-провайдер может включить функционал блокировки дубликатов для Партнёра при необходимости. Например, в ответ на жалобы абонентов. |
Что делатьПовторять запрос Партнёру не следует. При необходимости отправки дубликата сообщения, Партнёр может обратиться в службу техподдержки Сервис-провайдера, предоставив наиболее полную информацию об условиях возникновения данной ситуации. |
414 |
Превышение допустимой длины текста сообщения,
переданного в параметре |
Что делатьПартнёр может повторить запрос, сократив текст сообщения до допустимой длины. |
500 |
Внутренняя ошибка сервера. Технические проблемы на стороне Сервис-провайдера. |
Что делать
При получении статуса
При получении статуса |
503 |
Запрос в обработке. Подробнее
Ошибка может возникнуть, если Партнёр
практически одновременно передает несколько
запросов с одним и тем же значением параметра
Пока не обработан первый запрос, на следующие
запросы с тем же |
Что делать
Партнёру следует выдержать паузу и подождать
ответ на первый запрос с переданным значением
параметра Партнёр может повторить запрос, если не получит ответ на первый запрос. |
Ответ в формате XML#
output=xml
.200
– запрос успешно обработан;500
– внутренняя ошибка сервера, технические проблемы на стороне Сервис-провайдера.
Примеры ответов#
Пример ответа в формате XML при успешной отправке запроса (HTTP-код 200
).
<?xml version="1.0" encoding="utf-8"?>
<response>
<code>200</code>
<text>OK</text>
<payload>
<id>4095284976</id>
</payload>
</response>
Пример ответа в формате XML при ошибочной отправке запроса: неверное сочетание serviceId/pass
.
<?xml version="1.0" encoding="utf-8"?>
<response>
<code>401</code>
<text>Invalid password</text>
</response>
При получении статуса 500
или при истечении тайм-аута ожидания ответа, Партнёр должен выдержать паузу минимум 1 минуту. По истечении паузы Партнёр может повторить запрос.
Примечание
При получении статуса 500
более 10 раз необходимо прекратить передачу запроса. После чего передать в службу техподдержки Сервис-провайдера наиболее полную информацию об условиях возникновения данной ошибки для дальнейшего анализа.
В таблице обязательные параметры выделены полужирным шрифтом.
Наименование |
Описание |
Примечание |
---|---|---|
xml version |
Номер версии XML. |
Содержится в прологе XML-документа. |
encoding |
Кодировка. |
Содержится в прологе XML-документа. |
response |
Корневой элемент, содержит элементы
|
|
code |
Код ответа (значения соответствуют HTTP-кодам для ответов с типом text/plain). |
Подробнее см. в разделе Ответ на запрос в текстовом формате. |
text |
Дополнительная краткая текстовая информация об ответе. |
Может содержать информацию об ошибке. |
payload |
Информация о сообщении, содержит элемент |
Передаются только в случае успешного
выполнения запроса (при значении
|
id |
Идентификатор, присвоенный сообщению Сервис-провайдером. Идентификатор представляет собой 64-разрядное целое положительное число. |