8-800-333-16-50
Россия
8-812-313-24-88
Санкт-Петербург
8-495-225-50-36
Москва

Протокол XML

 

XML протокол – это популярный и универсальный метод передачи данных через Интернет.

Протокол XML имеет в основе обмен запросами на языке XML.
Обмен происходит через соединение TCP/IP по протоколу XML/XMLS методом POST.

XML протокол имеет существенные преимущества:
- возможность расширения, обусловленная гибкостью самого языка XML
- обеспечение безопасности и сохранности данных при подключении к шлюзу XMLS методом POST
К недостаткам протокола можно отнести:
- снижение популярности XML протокола, в том числе в технических решениях, связанных с рассылками sms сообщений
- относительно невысокая пропускная способность, обусловленная ограничением количества sms сообщений (до 250) в одном запросе. Именно по этой причине подключения к sms шлюзу через XML для массовых sms рассылок менее популярно, по сравнению с протоколом SMPP.

Для настройки API через XML протокол необходимо зарегистрироваться в системе SigmaSMS или обратиться к нашим специалистам любым удобным способом


  • 1 Входные параметры
  • 2 XML запросы
  • 2.1 XML-запрос для отправки сообщений
  • 2.2 XML-запрос для получения статуса ранее переданных сообщений
  • 3 Ограничение на передачу специальных символов в тексте SMS
  • 4 Статусы доставки ранее отправленных SMS
  • 5 Коды ошибок, возникающих при обработке запросов
  • 5.1 Ошибки, относящиеся к XML-запросу в целом
  • 5.2 Ошибки, относящиеся к передаче отдельных сообщений запроса
  • Смотрите также:

    Протоколы

    протокол HTTP
    протокол SMPP
    протокол SMTP
    протокол SOAP

    Справочники

  • Модуль для 1С
  • Разрешенные символы в имени отправителя
  • Определение длины сообщения
  • Использование регулярных выражений
  • 1 Входные параметры

    • Адрес обращения: http://api.sigmasms.ru/public/http/z.php
    • Формат входных данных:
            Content-Type: application/x-www-form-urlencoded
          Content-Charset: UTF-8
    • Тип авторизации: PLAIN (открытым текстом)
    • Метод отправки запроса: POST

    2 XML запросы

    Отправка SMS сообщения и получение статусов ранее отправленных сообщений производятся отправкой XML-запроса определенной структуры.
    В одном XML-запросе может быть отправлено до 250 SMS сообщений.
    При подключении по API для обмена информацией XML клиентом посылается запрос вида: <xml_request name="">
         Возможные значения поля name:

    • name="sms_send" – запрос на отправку SMS
    • name="sms_status2" – запрос на получение статуса ранее отправленных SMS

    В ответ на XML-запрос сервер выдает отклик вида: <xml_result xml_name="" res="">
         Возможные значения поля name:

    • name="sms_send" – запрос на отправку SMS
    • name="sms_status2" – запрос на получение статуса ранее отправленных SMS

         Возможные значения поля res:

    • res="0" – ошибок нет
    • res="-xxxxx" – обнаружена ошибка с кодом -xxxxx

    Авторизация происходит передачей логина и пароля: <xml_user lgn="" pwd=""/>

    2.1 XML-запрос для отправки сообщений

    Клиент отправляет XML-запрос на отправку сообщения (определить, что идет отправка SMS можно по полю name="sms_send") 

     <?xml version="1.0" encoding="UTF-8" ?>
      <xml_request name="sms_send">
       <xml_user lgn="" pwd=""/>
            <sms sms_id="1" number="XXXXXXXXXXX" source_number="sender" ttl="10">text sms</sms>
            <sms sms_id="2" number="XXXXXXXXXXX" source_number="" ttl="15">text sms</sms>
            <sms sms_id="s_3" number="XXXXXXXXXXX" source_number="">text sms</sms>
     </xml_request>
    

    Параметры запроса:

    • sms_id – уникальный идентификатор SMS в системе клиента. Строка длиной до 50 символов. На основе уникальности параметра sms_id проверяется дублирование запросов на отправку SMS. Если sms_id использован повторно, система вернет xml_result/push/@res=1, а в push_id будет указан идентификатор первой попытки отправки сообщения с данным sms_id.
    • number – телефонный номер получателя в международном формате или короткий номер. Строка длиной до 25 символов. Параметр не может быть пустым.
    • source_number – номер отправителя. Строка длиной от 11 до 16 символов в зависимости от ипа (номер или текст). Параметр не может быть пустым.
    • ttl – Время жизни сообщения в минутах. Необязательный параметр. Максимальное время, в течение которого сообщение должно быть доставлено на телефон. Если в течение этого времени доставка не возможна (например абонент не в зоне действия сети), сообщение не будет доставлено вовсе. Внимание, данная функция может не работает для некоторых направлений, например для CDMA телефонов.

    При успешном разборе XML-запроса в ответ придет сообщение вида:

    <xml_result xml_name="sms_send" res="" > <push sms_id="1" push_id="XXXX" res="0" number="XXXXXXXXXXX" sms_count=""/>
           <push sms_id="2" push_id="XXXX" res="0" number="XXXXXXXXXXX" sms_count=""/>
           <push sms_id="3" res="" description=""/>
    </xml_result>
    

    Параметры ответа:

    • push_id – уникальный идентификатор SMS в системе ESME
    • sms_id – уникальный внутренний идентификатор SMS в системе клиента
    • res=0 – SMS было отправлено успешно
    • res – “-xxxx” - код ошибки, возникшей при отправке конкретного SMS
    • description – описание ошибки, возникшей при отправке конкретного SMS
    • number – номер телефона получателя SMS
    • sms_count – количество SMS, из которых состоит одно набранное сообщение

    Если в результате разбора XML-запроса возникли ошибки, придет сообщение вида:

    			 <xml_result res=″-XXXX″ description=″″/>
    		

    Параметры ответа:

    • res – код ошибки XML-запроса или его обработки
    • description – описание ошибки

    2.2 XML-запрос для получения статуса ранее переданных сообщений

    Клиент отправляет XML-запрос на получение статуса переданных сообщений (определить, что идет получение статуса SMS можно по полю name="sms_status2")

    			 <?xml version="1.0" encoding="UTF-8" ?>
    			 <xml_request name="sms_status2" >
    			 <xml_user lgn="" pwd=""/>
    			 <sms push_id=""/>
    			 <sms push_id=""/>
    			 <sms push_id=""/>
    			 <sms push_id=""/>
    			 </xml_request>
    		

    Параметры запроса:

    • push_id – идентификатор ранее переданного SMS в системе ESME

    При успешном разборе XML-запроса в ответ придет сообщение вида:

    			 < xml_result name="sms_status2" res="" >
    			 < sms push_id="" status="" number="XXXXXXXXXXX" delivery_date="" delivery_time="" description="" />
    			 < sms push_id="" status="" number="XXXXXXXXXXX" delivery_date="" delivery_time="" description="" />
    			 < sms push_id="" status="" number="XXXXXXXXXXX" delivery_date="" delivery_time="" description="" />
    			 </xml_result>
    		

    Параметры ответа:

    • push_id – идентификатор ранее переданного SMS в системе ESME
    • status – код статуса доставки
    • number – номер телефона, на который было отправлено сообщение с указанным push_id
    • delivery_time - время доставки SMS. Строка вида «hh:mm:ss»
    • delivery_date – дата доставки SMS. Строка вида «dd.mm.yyyy»
    • description – описание статуса. Строка.

    Если в результате разбора XML-запроса возникли ошибки, придет сообщение вида:

    			 <xml_result res="-XXXX" description=""/>
    		

    Параметры ответа:

    • res – код ошибки XML-запроса или его обработки
    • description – описание ошибки

    3 Ограничение на передачу специальных символов в тексте SMS

    Для предотвращения ошибок при разборе XML-запросов и ответов, символы в тексте сообщения, которые используются как служебные в языке XML, необходимо заменять. Замена производится в запросах по таблице слева направо, а в ответах производится обратная замена справа налево.


    Специальный символ

       Замена   

    				 &lt;
    			

    				 &gt;
    			

    "

    				 &quot;
    			

    '

    				 &apos;
    			

    &

    				 &amp;
    			

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

    При выполнении запроса на получение статусов доставки ранее переданных сообщений «sms_status2» возвращаются коды, представленные в таблице.


    Статус

    Описание

    Расшифровка статуса

    -1004

    Push to SMSC failed

    SMS не доставлена по одной из следующих причин:
    - абонент находится вне зоны действия сети;
    - номер не обслуживается оператором связи;
    - недостаточно средств на счете;
    - для абонента заблокирован/не поддерживается прием SMS;
    - переполнена очередь входящих SMS на телефоне абонента;
    либо по другим причинам, связанным с невозможностью доставки.

    -1

    Bad submit_id

    Указан не существующий push_id сообщения

    1

    Push request queued

    SMS помещена в очередь на отправку

    2

    Request redirected to SMSC/MMSC

    SMS передана оператору связи и ожидает доставку

    4

    Content delivery confirmed

    SMS доставлена

    5 Коды ошибок, возникающих при обработке запросов

    При обработке XML-запроса могут возникать ошибки, код которых возвращаются в атрибуте <res>, а описание в атрибуте <description> ответа. Не следует путать эти коды ошибок со статусами доставки SMS!
    Система выдает описания ошибок, возникших как при разборе XML-запроса в целом, так и для каждого отдельного переданного сообщения.

    5.1 Ошибки, относящиеся к XML-запросу в целом

    Код и описание ошибки при разборе XML-запроса передается параметрами res и description в теге <xml_result>. Если возникли ошибки при разборе XML-запроса, она относится ко всем сообщениям данного запроса и ни одно из переданных в этом запросе сообщений не будет доставлено.

    5.2 Ошибки, относящиеся к передаче отдельных сообщений запроса

    Код и описание ошибки при отправке каждого конкретного SMS передается параметрами res и description в теге <push>. Код и описание ошибки в теге <push> относится только к сообщению с данным <push_id>. Все сообщения запроса при этом будут доставлены или не доставлены независимо друг от друга.

    Выбирайте лучшее

    Персональный
    менеджер
    Забота о каждом клиенте
    Провайдер
    с лицензией
    Ответственность за свое дело
    Прямые
    подключения
    Гарантируем качество СМС рассылки
    Удобный
    личный кабинет
    Быстрый старт. Online отчеты
    Низкие
    цены
    Надежность, качество, экономичная цена
    Получить коммерческое предложение

    Оставьте свои контактные данные. С вами свяжется наш менеджер и подробно расскажет о стоимости и возможностях СМС рассылки.