XML API
Серверная интеграция через POST-запросы в формате XML. Раздел содержит только SMS-методы, подтверждённые исходной спецификацией.
Общие принципы
- HTTP-метод:
POST. - Заголовок:
Content-Type: text/xml; charset=utf-8. - Кодировка XML-документа: UTF-8.
- По исходной спецификации XML-документ не должен содержать переносов строк; переносы в данных заменяются на
/n.
Отправка SMS
Действующий адрес: https://sms.papamedia.ru/xml/
<?xml version="1.0" encoding="utf-8"?>
<request>
<message type="sms" name_delivery="Тестовая рассылка">
<sender>YOUR_SENDER</sender>
<text>Текст сообщения</text>
<abonent phone="79991234567" number_sms="1" client_id_sms="1001" />
</message>
<security>
<login value="YOUR_LOGIN" />
<password value="YOUR_PASSWORD" />
</security>
</request>| Параметр | Тип | Описание |
|---|---|---|
type | String | Для обычного SMS используется значение sms. |
name_delivery | String | Название рассылки. |
sender | String | Имя отправителя SMS. |
text | String | Текст SMS. |
phone | Int | Номер получателя. |
number_sms | Int | Номер сообщения внутри отправляемого XML. |
client_id_sms | Int | Необязательный клиентский ID. По спецификации помогает избежать повторной отправки. |
time_send | Date | Дата и время отправки в формате YYYY-MM-DD HH:MM. |
login, password | String | Данные авторизации. Также описаны варианты с токеном. |
Успешный ответ
<response>
<information number_sms="1" id_sms="123456" parts="1">send</information>
</response>id_sms используется для проверки статуса; parts показывает количество частей SMS.
Проверка статуса
Действующий адрес: https://sms.papamedia.ru/xml/state.php
<request>
<security>
<login value="YOUR_LOGIN" />
<password value="YOUR_PASSWORD" />
</security>
<get_state>
<id_sms>123456</id_sms>
</get_state>
</request>Ответ содержит id_sms, время изменения и статус. Возможные значения: send, deliver, not_deliver, expired, read, partly_deliver.
Статусы на сервер клиента
Спецификация также описывает POST-доставку статусов на адрес клиента. Адрес согласуется с менеджером. Сервер клиента должен вернуть принятые id_sms; иначе система повторяет доставку статуса до пяти раз.
Проверка баланса
Действующий адрес: https://sms.papamedia.ru/xml/balance.php
<request>
<security>
<login value="YOUR_LOGIN" />
<password value="YOUR_PASSWORD" />
</security>
</request>Ответ содержит остаток средств в money и расчётное количество доступных SMS по направлениям в элементах sms area="…". Количество по разным направлениям нельзя суммировать.