Перейти к содержанию

SOAP

Описание

Внимание

Для использования данного вида интеграции необходимо обратиться к менеджеру компании либо в техническую поддержку для настройки доступа.

Предоставляемый API сервиса отправки SMS-сообщений позволяет осуществить:

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

API сервиса отправки SMS организовано в соответствии с принципами SOAP. Протокол используется для обмена произвольными сообщениями в формате XML. SOAP может использоваться с любым протоколом прикладного уровня: SMTP, FTP, HTTP, HTTPS и др.

WSDL-документ для SOAP доступен по адресу:

https://ws.devinotele.com/SmsService.asmx?WSDL

Точка подключения:

https://ws.devinotele.com/SmsService.asmx

Внимание

Все запросы необходимо выполнять в кодировке UTF-8. Количество запросов 10 запросов/1 сек.

В случае возникновения исключительной ситуации во время обработки запроса или ошибки аутентификации, сервис возвращает код ошибки в виде:

<soap:Code>
  <soap:Value>soap:Receiver</soap:Value>
</soap:Code>
<soap:Reason>
  <soap:Text xml:lang="en">
    Server was unable to process request. ---
    &gt; Invalid user login or password
  </soap:Text>
</soap:Reason>

Аутентификация

Перед началом работы с методами сервиса необходимо получить ID сессий. Он получается путем вызова GetSessionID и передачи логина/пароля. Если логин и пароль валидны, то возвращается ID сессии, время жизни которого 2 часа. Он является первым параметром и используется во всех запросах к этому сервису.

Протокол HTTP не имеет состояний. Это означает, что веб-сервер обрабатывает каждый HTTP-запрос со стороны внешнего приложения или сайта независимо, а сервер не сохраняет данные о значениях переменных, использованных в предшествующих запросах. Поэтому данные, полученные при авторизации пользователя, должны быть переданы и при осуществлении запроса получения баланса авторизованного пользователя.

Сервис создает ID сессии в системе после прохождения аутентификации данных, передаваемых сервису, в POST-запросе.

Пример запроса

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <GetSessionID xmlns="http://ws.devinosms.com">
    <login>string</login>
    <password>string</password>
    </GetSessionID>
  </soap12:Body>
</soap12:Envelope>
Content-Type для параметров запроса:
Content-Type: application/soap+xml; charset=utf-8

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

Параметр Тип данных Описание
Login
обязательный
string Логин, полученный при регистрации
Password
обязательный
string Пароль, соответствующий логину

Пример ответа

В случае успешного прохождения аутентификации присланных данных сервис отправки SMS пришлет ответ со следующими параметрами:

HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <GetSessionIDResponse xmlns="http://ws.devinosms.com">
    <GetSessionIDResult>string</GetSessionIDResult>
    </GetSessionIDResponse>
  </soap12:Body>
</soap12:Envelope>

Получение баланса пользователя

Сервис возвращает значение баланса авторизованного пользователя по SessionID. Овердрафт при этом учитывается.

Пример запроса

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <GetBalance xmlns="http://ws.devinosms.com">
      <sessionID>string</sessionID>
    </GetBalance>
  </soap12:Body>
</soap12:Envelope>

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

Параметр Тип данных Описание
SessionID
обязательный
string ID сессии, полученный при аутентификации

Сервис проверяет валидность полученного SessionID (проверяет актуальность и наличие в cистеме) и, в случае успеха, авторизует пользователя и в ответе присылает баланс пользователя.

Пример ответа

HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <GetBalanceResponse xmlns="http://ws.devinosms.com">
      <GetBalanceResult>decimal</GetBalanceResult>
    </GetBalanceResponse>
  </soap12:Body>
</soap12:Envelope>

Отправка SMS

Отправка SMS с учетом часового пояса получателя

Чтобы сообщение получателю было доставлено в срок, задается отложенная отправка SendMessageByTimeZone. Часовой пояс вычисляется на основе номера получателя и, в зависимости от него, сообщение отправляется через заданный временной интервал, чтобы осуществилась доставка по местному времени получателя.

Пример запроса

POST /smsservice.asmx HTTP/1.1
Host: ws.devinotele.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <SendMessageByTimeZone xmlns="http://ws.devinosms.com">
      <sessionID>string</sessionID>
      <sourceAddress>string</sourceAddress>
      <destinationAddress>string</destinationAddress>
      <data>string</data>
      <sendDate>dateTime</sendDate>
      <validity>int</validity>
    </SendMessageByTimeZone>
  </soap12:Body>
</soap12:Envelope>

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

Параметр Тип данных Описание
SessionID
обязательный
string ID сессии, полученный при аутентификации (36 символов).
DestinationAddress
обязательный
string Номер получателя сообщения в международном формате: код страны + код сети + номер телефона. Пример: 79031234567, +79031234567, 89031234567
Data
обязательный
string Текст сообщения, сообщение не должно быть длиннее 2000 символов
SourceAddress
обязательный
string Адрес отправителя сообщения. До 11 латинских символов или до 15 цифровых.
SendDate
обязательный
DateTime Дата и время отправки (пример 2010-0601T19:14:00). Сообщение будет отправлено только при наступлении полученных даты и времени с учетом текущего часового пояса получателя.
Validity integer Время жизни сообщения (мин), по умолчанию 2880 мин.

Перед отправкой SMS Сервис проверяет запрос на:

  • наличие обязательных параметров
  • валидность сессии пользователя (аутентификацию и определение, не истекло ли его время жизни SessionID)
  • достаточно ли баланса пользователя на отправку SMS (достаточность определяется на основании тарифа пользователя на отправку SMS для мобильного оператора указанного в запросе номера)
  • валидность указанного в запросе номера
  • валидность адреса отправителя
  • длину сообщения

Если все проверки пройдены успешно, то сервис отправит сообщение в SMS-центр и вернет ID отправленного сообщения с параметрами как в примере ответа. Размер 1 сообщения составляет 70 русских символов или 160 символов латиницей. Сервис может вернуть более 1 ID, если текст сообщения выходит за пределы одного SMS.

Пример ответа

HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <SendMessageByTimeZoneResponse xmlns="http://ws.devinosms.com">
      <SendMessageByTimeZoneResult>
        <string>string</string>
        <string>string</string>
      </SendMessageByTimeZoneResult>
    </SendMessageByTimeZoneResponse>
  </soap12:Body>
</soap12:Envelope>

Отправка SMS адресатам и возвращение системных ID сообщений

Данный метод поддерживает массовую отправку сообщений (до 1000 сообщений) в одном запросе.

Пример запроса

POST /smsservice.asmx HTTP/1.1
Host: ws.devinotele.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <SendMessage xmlns="http://ws.devinosms.com">
      <sessionID>string</sessionID>
      <message>
          <Data>string</Data>
          <DelayUntilUtc>dateTime</DelayUntilUtc>
          <DestinationAddresses>
            <string>string</string>
            <string>string</string>
          </DestinationAddresses>
          <SourceAddress>string</SourceAddress>
          <ReceiptRequested>boolean</ReceiptRequested>
          <Validity>int</Validity>
      </message>
    </SendMessage>
  </soap12:Body>
</soap12:Envelope>

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

Параметр Тип данных Описание
SessionID
обязательный
string ID сессии, полученный при аутентификации (36 символов).
Data
обязательный
string Текст сообщения, сообщение не должно быть длиннее 2000 символов
DelayUntilUtc DateTime Время отправки. Если не заполнено, то отправляется немедленно.
DestinationAddresses
обязательный
string Номер получателя сообщения в международном формате: код страны + код сети + номер телефона. Пример: 79031234567, +79031234567, 89031234567
SourceAddress
обязательный
string Адрес отправителя сообщения. До 11 латинских символов или до 15 цифровых.
ReceiptRequested boolean Запрос о доставке
Validity integer Время жизни сообщения в минутах, по умолчанию 2880 мин.

Пример ответа

HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <SendMessageResponse xmlns="http://ws.devinosms.com">
      <SendMessageResult>
        <string>string</string>
        <string>string</string>
      </SendMessageResult>
    </SendMessageResponse>
  </soap12:Body>
</soap12:Envelope>

Отправка SMS адресатам и возвращение системных ID сообщений с учетом часового пояса получателей

Для того чтобы сообщение получателям было доставлено в срок, задается отложенная отправка SendMessageByTimeZoneToAddresses. Часовой пояс вычисляется на основе номера получателя и, в зависимости от него, сообщение отправляется через заданный временной интервал, чтобы осуществилась доставка по местному времени получателя. Данный метод поддерживает массовую отправку сообщений (до 1000 сообщений) в одном запросе.

Пример запроса

POST / HTTP/1.1
Host: localhost
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <SendMessageByTimeZoneToAddresses xmlns="http://ws.devinosms.com">
      <sessionID>string</sessionID>
      <sourceAddress>string</sourceAddress>
      <destinationAddresses>
        <string>string</string>
        <string>string</string>
      </destinationAddresses>
      <data>string</data>
      <sendDate>dateTime</sendDate>
      <validity>int</validity>
    </SendMessageByTimeZoneToAddresses>
  </soap12:Body>
</soap12:Envelope>

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

Параметр Тип данных Описание
SessionID
обязательный
string ID сессии, полученный при аутентификации (36 символов).
DestinationAddresses
обязательный
string Номер получателя сообщения в международном формате: код страны + код сети + номер телефона. Пример: 79031234567, +79031234567, 89031234567
Data
обязательный
string Текст сообщения, сообщение не должно быть длиннее 2000 символов
SourceAddress
обязательный
string Адрес отправителя сообщения. До 11 латинских символов или до 15 цифровых.
SendDate
обязательный
DateTime Дата и время отправки (пример 2010-0601T19:14:00). Сообщение будет отправлено только при наступлении полученных даты и времени с учетом текущего часового пояса получателя.
Validity
обязательный
integer Время жизни сообщения в минутах, по умолчанию 2880 мин.

Перед отправкой SMS сервис проверяет запрос на:

  • наличие обязательных параметров
  • валидность сессии пользователя (аутентификацию и определение, не истекло ли его время жизни SessionID)
  • достаточно ли баланса пользователя на отправку SMS (достаточность определяется на основании тарифа Пользователя на отправку SMS для мобильного оператора указанного в запросе номера)
  • валидность указанных в запросе номеров
  • валидность адреса отправителя
  • длину сообщения

Если все проверки пройдены успешно, то сервис отправит сообщение в SMS-центр и вернет IDы отправленных сообщений с параметрами как в примере ответа. Размер 1 сообщения составляет: 70 символов кириллицей или 160 символов латиницей. Сервис может вернуть более 1 ID, если текст сообщения выходит за пределы одного SMS.

Пример ответа

HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <SendMessageByTimeZoneToAddressesResponse xmlns="http://ws.devinosms.com">
      <SendMessageByTimeZoneToAddressesResult>
        <string>string</string>
        <string>string</string>
      </SendMessageByTimeZoneToAddressesResult>
    </SendMessageByTimeZoneToAddressesResponse>
  </soap12:Body>
</soap12:Envelope>

Получение статуса отправленного SMS

Сервис возвращает статус отправленного SMS в соответствии со значениями параметров sessionID и messageID.

Пример запроса

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <GetMessageState xmlns="http://ws.devinosms.com">
      <sessionID>string</sessionID>
      <messageID>string</messageID>
    </GetMessageState>
  </soap12:Body>
</soap12:Envelope>

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

Параметр Тип данных Описание
sessionID
обязательный
string ID сессии, полученный при аутентификации (36 символов).
messageID
обязательный
string ID сообщения (сегмента сообщения). Для одного запроса будет выполнен возврат статуса только одного сообщения (сегмента сообщения).

Пример ответа

HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <GetMessageStateResponse xmlns="http://ws.devinosms.com">
      <GetMessageStateResult>
        <State>int</State>
        <CreationDateUtc>dateTime</CreationDateUtc>
        <SubmittedDateUtc>dateTime</SubmittedDateUtc>
        <ReportedDateUtc>dateTime</ReportedDateUtc>
        <StateDescription>string</StateDescription>
        <Price>decimal</Price>
      </GetMessageStateResult>
    </GetMessageStateResponse>
  </soap12:Body>
</soap12:Envelope>

Описание возвращаемых параметров

Название Тип Описание
State integer Статус. Типы статусов сообщений приведены в примечании.
CreationDateUtc dateTime Дата и время создания (пример 2010-0601T19:14:00) в UTC.
SubmittedDateUtc dateTime Время получения в Devino Telecom (в UTC).
ReportedDateUtc dateTime Время получения отчета (в UTC).
StateDescription string Описание статуса (например, Недопустимый адрес получателя).
Price decimal Цена

Получение статистики по SMS-рассылкам за заданный промежуток времени

Сервис возвращает статистику по SMS-рассылкам за период, в соответствии со значениями параметров, передаваемых сервису в POST-запросе следующего формата.

Пример запроса

POST /smsservice.asmx HTTP/1.1
Host: ws.devinotele.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <GetStatistics xmlns="http://ws.devinosms.com">
      <sessionId>string</sessionId>
      <startDateTime>dateTime</startDateTime>
      <endDateTime>dateTime</endDateTime>
    </GetStatistics>
  </soap12:Body>
</soap12:Envelope>

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

Параметр Тип данных Описание
sessionId
обязательный
string ID сессии (36 символов).
startDateTime
обязательный
DateTime Дата и время начала периода, за который необходимо получить статистику, например 2012-01-18Т00:00:00. Время в UTC.
endDateTime
обязательный
DateTime Дата и время конца периода, за который необходимо получить статистику, например 2012-01-18Т23:59:00. Время в UTC.

После получения запроса сервис проверит валидность присланного ID сессии и даты начала/окончания формирования статистики (включая ограничение на то, что охватываемый диапазон должен не превышать 3 месяцев).

Пример ответа

HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <GetStatisticsResponse xmlns="http://ws.devinosms.com">
      <GetStatisticsResult>
        <Sent>int</Sent>
        <Delivered>int</Delivered>
        <Errors>int</Errors>
        <InProcess>int</InProcess>
        <Expired>int</Expired>
        <Rejected>int</Rejected>
      </GetStatisticsResult>
    </GetStatisticsResponse>
  </soap12:Body>
</soap12:Envelope>

Описание возвращаемых параметров

Название Тип Описание
Sent integer Количество отправленных сообщений
Delivered integer Количество доставленных сообщений
Errors integer Количество ошибок
InProcess integer Количество сообщений «в процессе отправки»
Expired integer Количество просроченных сообщений.
Rejected integer Количество отклоненных сообщений

Получение входящих сообщений

Система позволяет заводить входящие номера и на них получать SMS. Входящий номер заводится через личный кабинет.

Сервис возвращает входящие сообщения пользователя в интервале maxDate-minDate (который передан в этом запросе).

Пример запроса

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <GetIncomingMessages xmlns="http://ws.devinosms.com">
      <sessionID>string</sessionID>
      <maxDateUTC>dateTime</maxDateUTC>
      <minDateUTC>dateTime</minDateUTC>
    </GetIncomingMessages>
  </soap12:Body>
</soap12:Envelope>

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

Параметр Тип данных Описание
sessionId
обязательный
string ID сессии, полученный при аутентификации
maxDateUTC
обязательный
DateTime Значение интервала _по. Пример: 2014-11-01T11:30
minDateUTC
обязательный
DateTime Значение интервала с_. Пример: 2012-01-18Т23:59:00

Пример ответа

HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <GetIncomingMessagesResponse xmlns="http://ws.devinosms.com">
      <GetIncomingMessagesResult>
        <IncomingMessage>
          <Data>string</Data>
          <SourceAddress>string</SourceAddress>
          <DestinationAddress>string</DestinationAddress>
          <CreatedDateUtc>dateTime</CreatedDateUtc>
        </IncomingMessage>
        <IncomingMessage>
          <Data>string</Data>
          <SourceAddress>string</SourceAddress>
          <DestinationAddress>string</DestinationAddress>
          <CreatedDateUtc>dateTime</CreatedDateUtc>
        </IncomingMessage>
      </GetIncomingMessagesResult>
    </GetIncomingMessagesResponse>
  </soap12:Body>
</soap12:Envelope>

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

Название Тип Описание
Data string Текст сообщения
SourceAddress string Адрес отправителя
DestinationAddress string Адрес получателя
CreatedDateUtc DateTime Дата создания
Expired integer Количество просроченных сообщений
Rejected integer Количество отклоненных сообщений

Отправка Viber-сообщений

Отправка Viber адресатам и возвращение системных ID сообщений

Данный метод поддерживает массовую отправку сообщений (до 1000 сообщений) в одном запросе.

Пример запроса

POST /ViberService.asmx HTTP/1.1
Host: ws.devinotele.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <SendMessage xmlns="http://ws.devinosms.com">
      <sessionID>string</sessionID>
      <message>
          <Data>string</Data>
          <DestinationAddresses>
            <string>string</string>
            <string>string</string>
          </DestinationAddresses>
          <SourceAddress>string</SourceAddress>
          <Validity>int</Validity>
          <Optional>string</Optional>
      </message>
    </SendMessage>
  </soap12:Body>
</soap12:Envelope>

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

Параметр Тип данных Описание
sessionId
обязательный
string ID сессии (36 символов).
Data
обязательный
string Текст сообщения, сообщение не должно быть длиннее 1000 символов
DestinationAddresses
обязательный
string Номер получателя сообщения в международном формате: код страны + код сети + номер телефона. Пример: 79031234567, +79031234567, 89031234567
SourceAddress
обязательный
string Адрес отправителя сообщения. До 11 латинских или цифровых символов.
Validity
обязательный
integer Время жизни сообщения (мин, от 1 до 1440)
Optional string Дополнительный параметр

Пример ответа

HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <SendMessageResponse xmlns="http://ws.devinosms.com">
      <SendMessageResult>
        <string>string</string>
        <string>string</string>
      </SendMessageResult>
    </SendMessageResponse>
  </soap12:Body>
</soap12:Envelope>

Отправка Viber адресатам и возвращение системных ID сообщений с переотправкой по SMS

Данный метод поддерживает массовую отправку сообщений (до 1000 сообщений) в одном запросе.

Пример запроса

POST /ViberService.asmx HTTP/1.1
Host: ws.devinotele.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <SendMessageWithResend xmlns="http://ws.devinosms.com">
      <sessionID>string</sessionID>
      <message>
        <Data>string</Data>
        <DestinationAddresses>
          <string>string</string>
          <string>string</string>
        </DestinationAddresses>
        <SourceAddress>string</SourceAddress>
        <Validity>int</Validity>
        <Optional>string</Optional>
      </message>
    </SendMessageWithResend>
  </soap12:Body>
</soap12:Envelope>

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

Параметр Тип данных Описание
sessionId
обязательный
string ID сессии (36 символов)
Data
обязательный
string Текст сообщения, сообщение не должно быть длиннее 1000 символов
DestinationAddresses
обязательный
string Номер получателя сообщения в международном формате: код страны + код сети + номер телефона. Пример: 79031234567, +79031234567, 89031234567
SourceAddress
обязательный
string Адрес отправителя сообщения. До 11 латинских или цифровых символов.
Validity
обязательный
integer Время жизни сообщения (мин, от 1 до 1440)
Optional string Дополнительный параметр

Пример ответа

HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <SendMessageWithResendResponse xmlns="http://ws.devinosms.com">
      <SendMessageResult>
        <string>string</string>
        <string>string</string>
      </SendMessageResult>
    </SendMessageWithResendResponse>
  </soap12:Body>
</soap12:Envelope>

Получение статуса отправленного Viber-сообщения

Сервис возвращает статус отправленного Viber-сообщения в соответствии со значениями параметров sessionID и messageID.

Пример запроса

POST /ViberService.asmx HTTP/1.1
Host: 127.0.0.1
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <GetMessageState xmlns="http://ws.devinosms.com">
      <sessionID>string</sessionID>
      <messageID>long</messageID>
    </GetMessageState>
  </soap12:Body>
</soap12:Envelope>

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

Параметр Тип данных Описание
sessionID
обязательный
string ID сессии, полученный при аутентификации (36 символов).
messageID
обязательный
string ID Viber-сообщения. Для одного запроса будет выполнен возврат статуса только одного сообщения.

Пример ответа

HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <GetMessageStateResponse xmlns="http://ws.devinosms.com">
      <GetMessageStateResult>
        <State>Enqueued or Sent or Delivered or Read or Undelivered or Failed or Unknown or Expired</State>
        <ResentSms>
          <ViberSmsMessageStateInfo>
            <Id>long</Id>
          </ViberSmsMessageStateInfo>
          <ViberSmsMessageStateInfo>
            <Id>long</Id>
          </ViberSmsMessageStateInfo>
        </ResentSms>
      </GetMessageStateResult>
    </GetMessageStateResponse>
  </soap12:Body>
</soap12:Envelope>

Описание возвращаемых параметров

Название Тип Описание
State integer Статус. Типы статусов сообщений приведены в примечании.
CreationDateUtc dateTime Дата и время создания (пример 2010-0601T19:14:00) в UTC.
SubmittedDateUtc dateTime Время получения в Devino Telecom (в UTC).
ReportedDateUtc dateTime Время получения отчета (в UTC).
StateDescription string Описание статуса. Например, Недопустимый адрес получателя.
Price decimal Цена
ResentSms ViberSmsMessageStateInfo[] Коллекция статусов сообщений, которые были переотправлены по текущему Viber-сообщению

Коды ошибок и статусы сообщений

Код Наименование Описание Подробное описание
-200 Ошибка Errors=-200 Статус для фильтра Ошибка в детализации
-100 Протарифицировано Tarificated = -100 Статус для фильтра Протарифицировано в детализации
-3 Ошибка ErrorSendingDateTimeInterpretation= -3 Ошибка интерпретации даты и времени отправки
-1 Отправлено Sent = -1 Сообщение отправлено
-2 Отправляется LocalQueued = -2 Сообщение отправляется
-40 Ожидание Queued = -40 Сообщение в статусе Ожидание
-30 Остановлено Sending_To_Gateway = -30 Отправлено в шлюз
-20 Отправлено получателю Sending_To_Recipient = -20 Сообщение отправлено получателю
0 Доставлено Delivered_To_Recipient = 0 Сообщение доставлено
0x0000000B Ошибка Error_Invalid_Destination_Address =0x0000000B Неверно введён адрес получателя
0x0000000A Ошибка Error_Invalid_Source_Address =0x0000000A Неверно введён адрес отправителя
41 Ошибка Error_Incompatible_Destination = 41 Недопустимый адрес получателя
42 Ошибка Error_Rejected = 42 Отклонено
46 Ошибка Error_Expired = 46 Просрочен
47 Ошибка Deleted = 47 Просрочено
48 Ошибка Devino_Rejected = 48 Ошибка
0x000000FF Неизвестный Unknown = 0x000000FF Внутренняя ошибка
0x00000008 Ошибка System_Error = 0x00000008 Внутренняя ошибка