Участником взаимодействия может быть разработан сервис приема push-уведомлений самостоятельно в соответствии с данным описанием, либо использовано готовое решение, которое входит в состав набора шаблонов электронных сервисов.

Описание сервиса приёма push-уведомлений

Сервис приема push-уведомлений осуществляет прием входных и отправку выходных данных, приведенных в таблице 9.

Таблица 9 – Перечень входных и выходных данных сервиса приема push-уведомлений

Название

Тип

Обозначение

Описание

1

Входные данные

1.1

Push-уведомление

Контейнер

PushNotification

Push-уведомление передается средствами метода PushNotification web-сервиса и включает следующие данные (рисунок 29):

    Время опроса очередей доставки ИС УВ; Наименования очередей доставки; Количество сообщений в каждой очереди доставки.

SOAP-запрос приведён на рисунке 30.

1.1.1

Время опроса очередей доставки ИС УВ

dateTime

InformationTimestamp

Время опроса в формате ГГГГ-ММ-ДДTЧЧ:ММ:ССZ

1.1.2

Данные состояния очереди

Контейнер

QueueInformation

Включает следующие данные:

    Наименование очереди доставки; Количество сообщений в очереди доставки.

1.1.2.1

Наименование очереди доставки

String

QueueName

Наименование одной из трех очередей доставки (не более 500 символов).

1.1.2.2

Количество сообщений в очереди доставки

Int

QueueSize

Количество сообщений в очереди доставки, которая соответствует queueName.

2

Выходные данные

2.1

Ответное сообщение на отправленное push-уведомление

Контейнер

PushNotificationResponse

Ответное сообщение на отправленное push-уведомление является подтверждением успешного получения ИС УВ push-уведомления.

Ответное сообщение передается средствами метода PushNotification web-сервиса и не содержит никаких бизнес данных (рисунок 31).

2.2

Ответное сообщение с ошибкой на отправленное push-уведомление

Контейнер

PushNotificationException

Ответное сообщение с ошибкой на отправленное push-уведомление является подтверждением успешного получения ИС УВ push-уведомления.

Ответное сообщение с ошибкой передается средствами метода PushNotification web-сервиса и может содержать описание ошибки (рисунок 32).

2.3

Метод передачи данных push-уведомления

Метод SOAP-сервера

PushNotificationData

Метод передает следующие данные:

    Время опроса очередей доставки ИС УВ; Наименования очередей доставки; Количество сообщений в каждой очереди доставки.


НЕ нашли? Не то? Что вы ищете?

Рисунок 40 – Cхема структуры данных push-уведомления

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas. xmlsoap. org/soap/envelope/" xmlns:SOAP-ENC="http://schemas. xmlsoap. org/soap/encoding/" xmlns:xsi="http://www. w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www. w3.org/2001/XMLSchema">

       <SOAP-ENV:Body>

               <PushNotificationRequest xmlns:m="urn://x-artefacts-smev-gov-ru/smev/1.0">

                       <PushNotification>

                               <InformationTimestamp>2015-02-06T15:14:20Z</InformationTimestamp>

                               <QueueInformation>

                                       <QueueName>name1</QueueName>

                                       <QueueSize>2</QueueSize>

                               </QueueInformation>

                               <QueueInformation>

                                       <QueueName>name2</QueueName>

                                       <QueueSize>25</QueueSize>

                               </QueueInformation>

                               <QueueInformation>

                                       <QueueName>name3</QueueName>

                                       <QueueSize>12</QueueSize>

                               </QueueInformation>

                       </PushNotification>

               </PushNotificationRequest>

       </SOAP-ENV:Body>

</SOAP-ENV:Envelope>

Рисунок 41 – SOAP-структура push-уведомления

Рисунок 42 – Схема структуры данных ответного сообщения на отправленное push-уведомление

Рисунок 43 – Схема структуры данных ответного сообщения с ошибкой на отправленное push-уведомление

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="http://www. w3.org/2001/XMLSchema" xmlns:tns="urn://x-artefacts-smev-gov-ru/smev/1.0" targetNamespace="urn://x-artefacts-smev-gov-ru/smev/1.0" elementFormDefault="unqualified">

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

       <xs:complexType name="PushNotificationRequest">

               <xs:sequence>

                       <xs:element name="PushNotification" type="tns:QueueNotificationInformation"/>

               </xs:sequence>

       </xs:complexType>

       <xs:complexType name="QueueNotificationInformation">

               <xs:sequence>

                       <xs:element name="InformationTimestamp" type="xs:dateTime"/>

                       <xs:element name="QueueInformation" type="tns:QueueInformation" form="qualified" nillable="true" minOccurs="1" maxOccurs="unbounded"/>

               </xs:sequence>

       </xs:complexType>

       <xs:complexType name="QueueInformation">

               <xs:sequence>

                       <xs:element name="QueueName">

                               <xs:simpleType>

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

                                               <xs:minLength value="1"/>

                                               <xs:maxLength value="500"/>

                                       </xs:restriction>

                               </xs:simpleType>

                       </xs:element>

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

               </xs:sequence>

       </xs:complexType>

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

       <xs:complexType name="PushNotificationResponse">

               <xs:sequence>

                       <xs:element name="DescriptionResponse" type="tns:Description"/>

               </xs:sequence>

       </xs:complexType>

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

       <xs:complexType name="PushNotificationException">

               <xs:sequence>

                       <xs:element name="DescriptionException" type="tns:Description"/>

               </xs:sequence>

       </xs:complexType>

       <xs:complexType name="Description">

               <xs:sequence>

                       <xs:element name="Description" type="xs:string" form="qualified" nillable="true" minOccurs="0"/>

               </xs:sequence>

       </xs:complexType>

</xs:schema>

Рисунок 44 – xsd-схема сервиса приема push-уведомлений «PushNotificationSchema. xsd»

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25