Скачать

 

Описание транспортных протоколов для организации канала СМС рассылок

Softline Mobile Systems

Архитектура системы.

С целью балансировки нагрузки и обеспечения бесперебойной работы SMS платформа развернута на двух автономных узлах, которые находятся в разных частях города и имеют независимые интернет каналы. Каждый из узлов полностью дублирует функции другого, в случае недоступности одного из серверов вся нагрузка переносится на другой сервер. Совокупный коэффициент доступности кластера из двух узлов составляет 99,5%.

SMS платформа интегрирована со всеми крупными операторами мобильной связи (MTS, Kyivstar, Life, Beeline, GT, …). В случае возникновения проблем у одного из операторов рассылка может быть осуществлена по каналам другого оператора.

Система обеспечивает балансировку нагрузок на платформы операторов мобильной связи и приоритеты рассылок(три уровня).

Интерфейсы по взаимодействию с Банками, СК и финансовыми организациями.

Организация безопасного канала по протоколам:

Каналы: Физическое подключение (медный или оптоволоконный кабель), MPLS VPN, IPSec VPN, L2T8 / L2TPv3 VPN.

Протоколы: TLS / SSL, HTTPS, SMTPS, SMTP + TLS, SMTP, HTTP, SMTP, SMPP, SOAP, WebServices.

Рассылка через WEB Interface предусматривает создание/использование шаблонов рассылок, планировщика рассылок (дата/время рассылки, балансировка нагрузки), альфанумерических имен, обработка разных форматов файлов (text, cs, excel)

Регулярные автоматические рассылки (без участия менеджеров Банка).

Интеграция с внутренним банковским ПО для рассылок уведомлений о задолженности, приближении срока уплаты и т.п.

Интеграция с Процессинговыми системами Банка для уведомления о движении средств по карточному счету клиента

Удобная биллинговая система, работающая в режиме реального времени

Отчеты по массовым рассылкам

Отчеты по процессингу

Монитор рассылок (остановить, приостановить и повторно запустить рассылку)

Автоматизирование СМС и голосовые рассылки по расписанию.

Система разворачивается внутри контакт-центра банка и интегрируется с CRM системой, БД и т.д. (на усмотрение Банка). Администратор с помощью графического приложения задает регламент проведения СМС или голосовых рассылок.

Преимущества: полная автоматизация процесса рассылок, интеграция с учетной системой Банка. Для контакт-центра Банка нет надобности использовать операторов для прозвона абонентов. Система автоматически производит обзвон клиентов Банка и соединяет с оператором который принадлежит к определенной бизнес группе/категории, имеющей отношение к данному клиенту банка.

SMTP протоколом для отправки сообщений.

Формат отправки сообщения:

Адрес отправки: 380ХХХХХХХХХ@xxx.mobisoftline.com.ua

Тело сообщения: plain text, до 160 символов (свыше 160 автоматическое разбиение СМС на несколько).

Тема сообщения: не учитывается

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

Авторизация входящих запросов к SMS-платформе компании Софтлайн происходит по IP адресу отправителя.

Существует вариант реализации массовой рассылки на базе SMTP сообщения с файлом с базой клиентов.

Формат рассылки:

Attachment (Excel файл), первая колонка – телефон в числовом формате (380ХХХХХХХХХ), другие ячейки произвольные.

Текст письма – является текстом сообщения, ссылки на колонки в excel файле (attachment)

SMPP протоколом для отправки сообщений.

Отправка СМС и получения статуса о доставке СМС к клиенту согласно спецификации SMPP 3.3/3.4

HTTP протоколом для отправки сообщений.

Формат GET запроса:           

processing?From=user_name&To=380XXXXXXXXX&Text=MessageText

Авторизация входящих запросов к SMS-платформе компании Софтлайн происходит по IP адресу отправителя.

Интеграция на базе Web Services (пример):

http://mobisoftline.com.ua:8180/sms/WSI?wsdl

http://195.245.253.227:8180/sms/WSI?wsdl

1. (WSDL)

<definitions name="WSI" targetNamespace="sms.papchap.com">

<types>

<xs:schema targetNamespace="sms.papchap.com" version="1.0">

<xs:element name="FailedLoginException" type="tns:FailedLoginException"/>

<xs:element name="IllegalAccessException" type="tns:IllegalAccessException"/>

<xs:element name="echo" type="tns:echo"/>

<xs:element name="echoResponse" type="tns:echoResponse"/>

<xs:element name="requestMessageStatus" type="tns:requestMessageStatus"/>

<xs:element name="requestMessageStatusResponse" type="tns:requestMessageStatusResponse"/>

<xs:element name="requestNotificationStatus" type="tns:requestNotificationStatus"/>

<xs:element name="requestNotificationStatusResponse" type="tns:requestNotificationStatusResponse"/>

<xs:element name="sendMessages" type="tns:sendMessages"/>

<xs:element name="sendMessagesResponse" type="tns:sendMessagesResponse"/>

<xs:complexType name="echo">

<xs:sequence>

<xs:element minOccurs="0" name="arg0" type="xs:string"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="echoResponse">

<xs:sequence>

<xs:element minOccurs="0" name="return" type="xs:string"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="sendMessages">

<xs:sequence>

<xs:element minOccurs="0" name="alfaName" type="xs:string"/>

<xs:element maxOccurs="unbounded" minOccurs="0" name="contacts" type="tns:wsiContact"/>

<xs:element minOccurs="0" name="priority" type="xs:int"/>

<xs:element minOccurs="0" name="template" type="xs:string"/>

<xs:element minOccurs="0" name="user" type="tns:wsiUser"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="wsiContact">

<xs:complexContent>

<xs:extension base="tns:contact">

<xs:sequence>

<xs:element maxOccurs="unbounded" minOccurs="0" name="params" nillable="true" type="xs:string"/>

</xs:sequence>

</xs:extension>

</xs:complexContent>

</xs:complexType>

<xs:complexType name="contact">

<xs:sequence>

<xs:element minOccurs="0" name="phone" type="xs:string"/>

<xs:element name="prop">

<xs:complexType>

<xs:sequence>

<xs:element maxOccurs="unbounded" minOccurs="0" name="entry">

<xs:complexType>

<xs:sequence>

<xs:element minOccurs="0" name="key" type="xs:anyType"/>

<xs:element minOccurs="0" name="value" type="xs:anyType"/>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>

<xs:complexType name="wsiUser">

<xs:sequence>

<xs:element minOccurs="0" name="password" type="xs:string"/>

<xs:element minOccurs="0" name="userName" type="xs:string"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="sendMessagesResponse">

<xs:sequence>

<xs:element minOccurs="0" name="return" type="tns:wsiResponse"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="wsiResponse">

<xs:sequence>

<xs:element minOccurs="0" name="accepted" type="xs:int"/>

<xs:element minOccurs="0" name="delivered" type="xs:int"/>

<xs:element minOccurs="0" name="errorDescription" type="xs:string"/>

<xs:element minOccurs="0" name="expired" type="xs:int"/>

<xs:element minOccurs="0" name="notificationID" type="xs:long"/>

<xs:element minOccurs="0" name="notificationResponse" type="xs:int"/>

<xs:element maxOccurs="unbounded" minOccurs="0" name="statuses" nillable="true" type="tns:wsiRequestResponse"/>

<xs:element minOccurs="0" name="total" type="xs:int"/>

<xs:element minOccurs="0" name="undeliverable" type="xs:int"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="wsiRequestResponse">

<xs:complexContent>

<xs:extension base="tns:requestResponse">

<xs:sequence>

<xs:element name="notificationResponse" type="xs:long"/>

<xs:element name="status" type="xs:int"/>

</xs:sequence>

</xs:extension>

</xs:complexContent>

</xs:complexType>

<xs:complexType name="requestResponse">

<xs:sequence>

<xs:element minOccurs="0" name="date" type="xs:dateTime"/>

<xs:element minOccurs="0" name="errorDescription" type="xs:string"/>

<xs:element name="id" type="xs:long"/>

<xs:element minOccurs="0" name="msgStatus" type="tns:eStatusType"/>

<xs:element minOccurs="0" name="phone" type="xs:string"/>

<xs:element name="requestId" type="xs:long"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="FailedLoginException">

<xs:sequence>

<xs:element minOccurs="0" name="message" type="xs:string"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="requestMessageStatus">

<xs:sequence>

<xs:element minOccurs="0" name="requestID" type="xs:long"/>

<xs:element minOccurs="0" name="user" type="tns:wsiUser"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="requestMessageStatusResponse">

<xs:sequence>

<xs:element minOccurs="0" name="return" type="tns:wsiRequestResponse"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="IllegalAccessException">

<xs:sequence>

<xs:element minOccurs="0" name="message" type="xs:string"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="requestNotificationStatus">

<xs:sequence>

<xs:element minOccurs="0" name="requestID" type="xs:long"/>

<xs:element minOccurs="0" name="user" type="tns:wsiUser"/>

<xs:element minOccurs="0" name="statusType" type="xs:int"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="requestNotificationStatusResponse">

<xs:sequence>

<xs:element minOccurs="0" name="return" type="tns:wsiResponse"/>

</xs:sequence>

</xs:complexType>

<xs:simpleType name="eStatusType">

<xs:restriction base="xs:string">

<xs:enumeration value="NOSTATUS"/>

<xs:enumeration value="TAKEN"/>

<xs:enumeration value="SENT"/>

<xs:enumeration value="DELIVERED"/>

<xs:enumeration value="NOT_DELIVERED"/>

<xs:enumeration value="CANT_SEND"/>

<xs:enumeration value="INSUFFICIENT_OF_MONEY"/>

<xs:enumeration value="SCHEDULED"/>

<xs:enumeration value="ENROUTE"/>

<xs:enumeration value="EXPIRED"/>

<xs:enumeration value="DELETED"/>

<xs:enumeration value="UNDELIVERABLE"/>

<xs:enumeration value="ACCEPTED"/>

<xs:enumeration value="UNKNOWN"/>

<xs:enumeration value="REJECTED"/>

<xs:enumeration value="SKIPPED"/>

<xs:enumeration value="SMSC_NOT_READY"/>

<xs:enumeration value="PROTOCOL_NOT_SUPPORTED"/>

<xs:enumeration value="OPERATOR_FAILED"/>

</xs:restriction>

</xs:simpleType>

</xs:schema>

</types>

<message name="WSI_requestNotificationStatusResponse">

<part element="tns:requestNotificationStatusResponse" name="requestNotificationStatusResponse"/>

</message>

<message name="IllegalAccessException">

<part element="tns:IllegalAccessException" name="IllegalAccessException"/>

</message>

<message name="WSI_echoResponse">

<part element="tns:echoResponse" name="echoResponse"/>

</message>

<message name="WSI_sendMessagesResponse">

<part element="tns:sendMessagesResponse" name="sendMessagesResponse"/>

</message>

<message name="WSI_sendMessages">

<part element="tns:sendMessages" name="sendMessages"/>

</message>

<message name="WSI_requestMessageStatusResponse">

<part element="tns:requestMessageStatusResponse" name="requestMessageStatusResponse"/>

</message>

<message name="WSI_requestMessageStatus">

<part element="tns:requestMessageStatus" name="requestMessageStatus"/>

</message>

<message name="WSI_requestNotificationStatus">

<part element="tns:requestNotificationStatus" name="requestNotificationStatus"/>

</message>

<message name="FailedLoginException">

<part element="tns:FailedLoginException" name="FailedLoginException"/>

</message>

<message name="WSI_echo">

<part element="tns:echo" name="echo"/>

</message>

<portType name="WSI">

<operation name="echo" parameterOrder="echo">

<input message="tns:WSI_echo"/>

<output message="tns:WSI_echoResponse"/>

</operation>

<operation name="requestMessageStatus" parameterOrder="requestMessageStatus">

<input message="tns:WSI_requestMessageStatus"/>

<output message="tns:WSI_requestMessageStatusResponse"/>

<fault message="tns:FailedLoginException" name="FailedLoginException"/>

<fault message="tns:IllegalAccessException" name="IllegalAccessException"/>

</operation>

<operation name="requestNotificationStatus" parameterOrder="requestNotificationStatus">

<input message="tns:WSI_requestNotificationStatus"/>

<output message="tns:WSI_requestNotificationStatusResponse"/>

<fault message="tns:FailedLoginException" name="FailedLoginException"/>

<fault message="tns:IllegalAccessException" name="IllegalAccessException"/>

</operation>

<operation name="sendMessages" parameterOrder="sendMessages">

<input message="tns:WSI_sendMessages"/>

<output message="tns:WSI_sendMessagesResponse"/>

<fault message="tns:FailedLoginException" name="FailedLoginException"/>

</operation>

</portType>

<binding name="WSIBinding" type="tns:WSI">

<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

<operation name="echo">

<soap:operation soapAction=""/>

<input>

<soap:body use="literal"/>

</input>

<output>

<soap:body use="literal"/>

</output>

</operation>

<operation name="requestMessageStatus">

<soap:operation soapAction=""/>

<input>

<soap:body use="literal"/>

</input>

<output>

<soap:body use="literal"/>

</output>

<fault name="FailedLoginException">

<soap:fault name="FailedLoginException" use="literal"/>

</fault>

<fault name="IllegalAccessException">

<soap:fault name="IllegalAccessException" use="literal"/>

</fault>

</operation>

<operation name="requestNotificationStatus">

<soap:operation soapAction=""/>

<input>

<soap:body use="literal"/>

</input>

<output>

<soap:body use="literal"/>

</output>

<fault name="FailedLoginException">

<soap:fault name="FailedLoginException" use="literal"/>

</fault>

<fault name="IllegalAccessException">

<soap:fault name="IllegalAccessException" use="literal"/>

</fault>

</operation>

<operation name="sendMessages">

<soap:operation soapAction=""/>

<input>

<soap:body use="literal"/>

</input>

<output>

<soap:body use="literal"/>

</output>

<fault name="FailedLoginException">

<soap:fault name="FailedLoginException" use="literal"/>

</fault>

</operation>

</binding>

<service name="WSI">

<port binding="tns:WSIBinding" name="WSIPort">

<soap:address location="http://195.245.253.227:8180/sms/WSI"/>

</port>

</service>

</definitions>

Examples:

Send notification:

  1. <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:q0="sms.papchap.com" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2. - <soapenv:Body>
  3. - <q0:sendMessages>
  4.   <alfaName>Bank</alfaName>
  5. - <contacts>
  6.   <phone>380503801077</phone>
  7.   <prop />
  8.   <params>MTS</params>
  9.   </contacts>
  10. - <contacts>
  11.   <phone>380636592541</phone>
  12.   <prop />
  13.   <params>KS</params>
  14.   </contacts>
  15.   <template>Test message PARAM #0</template>
  16. - <user>
  17.   <password>TestPASS</password>
  18.   <userName>Bank</userName>
  19.   </user>
  20.   </q0:sendMessages>
  21.   </soapenv:Body>
  22.   </soapenv:Envelope>

Response

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">

- <env:Body>

- <ns2:sendMessagesResponse xmlns:ns2="sms.papchap.com">

- <return>

<accepted>2</accepted>

<delivered>0</delivered>

<expired>0</expired>

<notificationID>4866</notificationID>

<notificationResponse>0</notificationResponse>

- <statuses>

<date>2011-03-28T16:47:32.606+03:00</date>

<id>11523871</id>

<phone>380503801077</phone>

<requestId>11523871</requestId>

<notificationResponse>11523871</notificationResponse>

<status>12</status>

</statuses>

- <statuses>

<date>2011-03-28T16:47:32.612+03:00</date>

<id>11523872</id>

<phone>380636592541</phone>

<requestId>11523872</requestId>

<notificationResponse>11523872</notificationResponse>

<status>12</status>

</statuses>

<total>2</total>

<undeliverable>0</undeliverable>

</return>

</ns2:sendMessagesResponse>

</env:Body>

</env:Envelope>

Request notification status:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:q0="sms.papchap.com" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

- <soapenv:Body>

- <q0:requestNotificationStatus>

 <requestID>4866</requestID>

- <user>

 <password>TestPASS</password>

 <userName>Bank</userName>

 </user>

 </q0:requestNotificationStatus>

</soapenv:Body>

</soapenv:Envelope>

Response:

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">

- <env:Body>

- <ns2:requestNotificationStatusResponse xmlns:ns2="sms.papchap.com">

- <return>

<accepted>0</accepted>

<delivered>1</delivered>

<expired>0</expired>

<notificationID>4866</notificationID>

<notificationResponse>0</notificationResponse>

- <statuses>

<date>2011-03-28T16:47:32+03:00</date>

<id>11523871</id>

<phone>380503801077</phone>

<requestId>0</requestId>

<notificationResponse>0</notificationResponse>

<status>3</status>

</statuses>

- <statuses>

<date>2011-03-28T16:47:32+03:00</date>

<id>11523872</id>

<phone>380636592541</phone>

<requestId>0</requestId>

<notificationResponse>0</notificationResponse>

<status>2</status>

</statuses>

<total>2</total>

<undeliverable>0</undeliverable>

</return>

</ns2:requestNotificationStatusResponse>

</env:Body>

</env:Envelope>

Request message status:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:q0="sms.papchap.com" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

- <soapenv:Body>

- <q0:requestMessageStatus>

<requestID>11523872</requestID>

- <user>

<password>TestPASS</password>

<userName>Bank</userName>

</user>

</q0:requestMessageStatus>

</soapenv:Body>

</soapenv:Envelope>

Response:

- <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">

- <env:Body>

- <ns2:requestMessageStatusResponse xmlns:ns2="sms.papchap.com">

- <return>

<date>2011-03-28T16:47:32+03:00</date>

<id>11523872</id>

<phone>380636592541</phone>

<requestId>0</requestId>

<notificationResponse>0</notificationResponse>

<status>2</status>

</return>

</ns2:requestMessageStatusResponse>

</env:Body>

</env:Envelope>

Описание параметров:

notificationID – идентификатор рассылки. Тип long. Уникальное значение.

user имя пользователя. Тип текстовый.

password – пароль для доступа к серверу. Тип текстовый.

(user/password – выдает контент провайдер после заключения соглашения)

template – текст сообщения для рассылки. Тип текстовый. Длина сообщения до 160 символов латиницей и 70 - кириллицей. В тексте можно использовать ссылки на параметры из контактной информации (элемент < Contact>). Для этого нужно использовать следующий синтаксис: Prosimo splatity PARAM #0 zgidno ug PARAM #1

где PARAM #0 – ссылка на значение 1-го параметра <param> для каждого <Contact>

alfaname – вместо номера телефона отправителя будет отображаться альфанумерическое имя, например: Softline. Тип текстовый. Только буквы и цифры.

Priority – приоритет отправки СМС. Допустимые значения 0, 1, 2.

(0 – самый низкий приоритет)

Описание параметров элемента <Contact>

messageID – идентификатор контакта. Тип числовой уникальное значение.

phone – номер телефона. Тип числовой в формате 380509999999

param_value – дополнительный параметр по контакту, например имя клиента, сумма задолженности и т.д.

date – дата события. Формат 2010-03-31T13:01:25.113+03:00

status – статус по рассылке. Тип текстовый. Возможные варианты: 0("Принят"), 1|2("Доставлен"), 3("Просрочен"), 4("Удален"), 5("Невозможно доставить"), 6("Отклонен"), 7("Неизвестен")

acceptedколичество принятых СМС

statusType статус по рассылке. С помощью этого параметра происходит фильтрация сообщений.

notificationResponse – код приема запроса. Если значение отличается от 0, то это обозначает, что возникла ошибка, детальная информация об ошибке сообщается в параметре errorDescription.

errorDescription – описание ошибки возникшей при доставке сообщений

2.Отчет о доставке по всей рассылке.

1.  POST URI HTTP/1.1
2.  Host: localhost
3.  Content-Type: text/xml; charset=utf-8
4.  Content-Length: length
5.  SOAPAction: Action
6.   
7.  <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:q0="http://ws.mobisoftline.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
8.   <soapenv:Body>
9.     <q0:requestNotificationStatus>
10.     <arg0>
11.       <requestID>notificationID</requestID>
12.       <user>
13.         <password>password</password>
14.         <userName>login</userName>
15.      </user>
16.       <statusType>statusType</statusType>
17.     </arg0>
18.   </q0:requestNotificationStatus>
19. </soapenv:Body>
20.</soapenv:Envelope>
21. 

 Response

22. 
23.HTTP/1.1 200 OK
24.Content-Type: text/xml; charset=utf-8
25.Content-Length: length
26. 
27.<?xml version="1.0" ?>
28. 
29.<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
30.- <S:Body>
31.- <ns2:requestNotificationStatusResponse xmlns:ns2="http://ws.mobisoftline.com/">
32.- <return>
33.   <errorDescription /> 
34.   <notificationResponse>0</notificationResponse> 
35.   <accepted>accepted</accepted> 
36.   <delivered>delivered</delivered> 
37.   <expired>expired</expired> 
38.   <notificationID>notificationID</notificationID> 
39.-  <statuses>
40.     <errorDescription /> 
41.     <notificationResponse>notificationResponse </notificationResponse> 
42.     <date>date</date> 
43.     <id>messageID</id> 
44.     <phone>phone</phone> 
45.     <status>status</status> 
46.   </statuses>
47.   <total>total</total> 
48.   <undeliverable>undeliverable</undeliverable> 
49.  </return>
50.  </ns2:requestNotificationStatusResponse>
51.  </S:Body>
52.  </S:Envelope>
53. 
54. 

 3.Отчет о доставке по конкретному контакту.

55.POST URI HTTP/1.1
56.Host: localhost
57.Content-Type: text/xml; charset=utf-8
58.Content-Length: length
59.SOAPAction: Action
60. 
61.<?xml version="1.0" encoding="utf-8"?>
62.<soapenv:Body>
63.   <q0:requestMessageStatus>
64.     <arg0>
65.       <requestID>messageID</requestID>
66.       <user>
67.         <password>password</password>
68.         <userName>user_name</userName>
69.       </user>
70.     </arg0>
71.   </q0:requestMessageStatus>
72. </soapenv:Body>
73.</soapenv:Envelope>
74. 

 Response

75.HTTP/1.1 200 OK
76.Content-Type: text/xml; charset=utf-8
77.Content-Length: length
78. 
79.<?xml version="1.0" ?>
80. 
81.- <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
82.- <S:Body>
83.- <ns2:requestMessageStatusResponse xmlns:ns2="http://ws.mobisoftline.com/">
84.- <return>
85.   <errorDescription /> 
86.   <notificationResponse> notificationResponse </notificationResponse> 
87.   <date>date</date> 
88.   <id>messageID</id> 
89.   <phone>phone</phone> 
90.   <status>status</status> 
91.  </return>
92.  </ns2:requestMessageStatusResponse>
93.  </S:Body>
94.  </S:Envelope>
95. 
96. 

 

     Скачать

Отраслевые решения: СМС-рассылки, СМС-реклама и СМС- информирование
Главные услуги  Контакты
Банкам Центрам красоты и здоровья Охранным структурам СМС-рассылки

Киев, Василия Стуса, 35-37

тел. +38 044 221-8761, 323-0740
Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.

Страховым компаниям Интернет-магазинам Автосалонам СМС-реклама
Торговым сетям и магазинам Интернет-провайдерам Промышленности Мобильный маркетинг
Коллекторам Турагентствам Информационным службам Голосовые сообщения
Рекламным агентствам Службам такси Фитнес-центрам Короткие номера