Подсистема обработки заявок в Ветис.API: различия между версиями

Материал из Справочная система Россельхознадзора
Перейти к навигации Перейти к поиску
Строка 96: Строка 96:
|}
|}


===Объект application===
===Объект [[#Объект submitApplicationRequest|..Request]]/'''application'''===
Сведения о заявке.
Сведения о заявке.
{| class="wikitable"
{| class="wikitable"

Версия 21:20, 3 июля 2015

Общие сведения

В целях обеспечения эффективного информационного обмена между внешними информационными системами и ГИС «Ветис» взаимодействие организуется через универсальный шлюз Ветис.API с использованием единой системы обработки заявок. Единая система обработки заявок создана с целью объединить в одном месте приём и обработку заявок на выполнение операции в информационных системах Россельхознадзора, таких как Меркурий, Аргус, Цербер и др.

Принципы взаимодействия

Информационный обмен реализован по асинхронной схеме. Для данной схемы действуют следующие правила:

  • Взаимодействие реализуется посредством запросов ИС Предприятий к заявочной системе. ГИС «Ветис» не может выступать в роли инициатора запроса к системе предприятия. Передача информации из ГИС «Ветис» осуществляется в виде ответа на запрос от ИС предприятия.
  • Любая операция в рамках информационного взаимодействия с ГИС «Ветис» представляет собой заявку на осуществление некоторых действий. Заявка от ИС Предприятия попадает в заявочную систему, где обрабатывается. Заявка проходит форматно-логический контроль, регистрацию и ей присваивается уникальный идентификатор. Сервис позволяет отслеживать состояние данной заявки и получать результат ее выполнения.

Безопасность

Доступ к сервису ограничивается с помощью ключей доступа к API (APIKey). Ключи доступа предоставляются в результате прохождения процедуры регистрации программного средства в качестве клиента сервиса заявочной системе. API key - секретный код, который идентифицирует учетную запись. В сочетании с идентификатором пользователя, этот ключ позволяет получать доступ к информации о хозяйствующем субъекте.

Текущая версия

Заявочная система Applying предназначена для подачи заявок на выполнение следующих операций:

Возможные сценарии

При обработке запроса возможны следующие сценарии.

1. Запрос успешно обработан.

  • Заявка требует обработки.
  • Результат сформирован в рамках запроса(cтатус заявки-completed).

2. Произошла ошибка при обработке запроса.

  • Некорректный запрос.
  • Запрос не прошёл проверку на бизнес-правила.
  • Внутренняя ошибка системы.

На вход сервиса Applying передаются следующие сведения:

  • API key;
  • код запрашиваемого сервиса;
  • идентификатор пользователя;
  • заявка на выполнение операции.

Результатом обработки заявки в заявочной системе является:

  • сгенерированный идентификатор заявки;
  • статус готовности результата.

Для получения результата обработки заявки необходимо запросить результат по идентификатору заявки.

Используемые пространства имён и типы

Отправка заявки

Данные запроса

Структура данных запроса в формате ХML.

   <ws:submitApplicationRequest>
         <ws:apiKey>{app:APIKey}</ws:apiKey>
         <app:application>
            <app:serviceId>{xs:NCName}</app:serviceId>
            <app:issuerId>{bs:UUID}</app:issuerId>
            <app:issueDate>{xs:dateTime}</app:issueDate>
            <app:data>
                <…>
            </app:data>
         </app:application>
      </ws:submitApplicationRequest>


Объект submitApplicationRequest

Заявка в единой заявочной системе на выполнение определенной операции, определяет пользователя, который инициирует запрос и содержит сведения самого запроса.

Поле Описание Тип Обязательность
apiKey Специальный код, который идентифицирует учетную запись пользователя и позволяет веб-сервису получить доступ к информации о хозяйствующем субъекте и обслуживаемых предприятиях, к которым данный пользователь относится. app:APIKey 1
application Сведения о заявке. app:application 1

Объект ..Request/application

Сведения о заявке.

Поле Описание Тип Обязательность
serviceId Код запрашиваемого сервиса (системы, к которой обращается пользователь). xs:NCName 1
issuerId Идентификатор пользователя, обратившегося к заявочной системе. bs:UUID 1
issueDate Дата обращения пользователя к заявочной системе. xs:dateTime 1
data Сведения о заявке. app:ApplicationDataWrapper 1

Данные ответа

Структура данных запроса в формате ХML.

      <submitApplicationResponse xmlns="http://api.vetrf.ru/schema/cdm/application/ws-definitions">
         <application xmlns="http://api.vetrf.ru/schema/cdm/application">
            <applicationId>{bs:UUID}</applicationId>
            <status>{app:ApplicationStatus}</status>
            <serviceId>{xs:NCName}</serviceId>
            <issuerId>{bs:UUID}</issuerId>
            <issueDate>{xs:dateTime}</issueDate>
            <rcvDate>{xs:dateTime}</rcvDate>
         </application>
      </submitApplicationResponse>

Объект submitApplicationResponse

Заявка в заявочной системе, содержит сведения запроса.

Поле Описание Тип Обязательность
application Сведения о заявке. app:Application 1

Объект application

Поле Описание Тип Обязательность
applicationId Сгенерированный идентификатор заявки. bs:UUID 1
status Статус готовности результата. app:ApplicationStatus 1
serviceId Код запрашиваемого сервиса (системы, к которой обращается пользователь). xs:NCName 1
issuerId Идентификатор пользователя, обратившегося к заявочной системе. bs:UUID 1
issueDate Дата и время получения заявки сервисом. xs:dateTime 1
rcvDate Дата и время формирования результата. xs:dateTime 1

Запрос результата обработки заявки

Данные запроса

Структура данных запроса в формате ХML.

<ws:receiveApplicationResultRequest>
    <ws:apiKey>{xs:string}</ws:apiKey>
    <ws:issuerId>{bs:UUID}</ws:issuerId>
    <ws:applicationId>{bs:UUID}</ws:applicationId>
</ws:receiveApplicationResultRequest>

Объект receiveApplicationResultRequest

Запрос на получение результатов обработки заявки.

Поле Описание Тип Обязательность
apiKey Специальный код, который идентифицирует учетную запись пользователя и позволяет веб-сервису получить доступ к информации о хозяйствующем субъекте и обслуживаемых предприятиях, к которым данный пользователь относится. xs:string 1
issuerId Идентификатор пользователя, обратившегося к заявочной системе. bs:UUID 1
applicationId Идентификатор заявки, в заявочной системе. bs:UUID 1

Данные ответа

Структура данных ответа в формате ХML.

<receiveApplicationResultResponse xmlns="http://api.vetrf.ru/schema/cdm/application/ws-definitions">
    <application xmlns="http://api.vetrf.ru/schema/cdm/application">
        <applicationId>{bs:UUID}</applicationId>
        <status>{app:ApplicationStatus}</status>
        <serviceId>{xs:NCName}</serviceId>
        <issuerId>{bs:UUID}</issuerId>
        <issueDate>{xs:dateTime}</issueDate>
        <rcvDate>{xs:dateTime}</rcvDate>
        <prdcRsltDate>{xs:dateTime}</prdcRsltDate>
        <result>
            <...>
        </result>
    </application>
</receiveApplicationResultResponse>

Объект receiveApplicationResultResponse

Получение результатов обработки заявки.

Поле Описание Тип Обязательность
application Сведения о заявке. app:Application 1

Объект application

Поле Описание Тип Обязательность
applicationId Сгенерированный идентификатор заявки. bs:UUID 1
status Статус готовности результата. app:ApplicationStatus 1
serviceId Код запрашиваемого сервиса (системы, к которой обращается пользователь). xs:NCName 1
issuerId Идентификатор пользователя, обратившегося к заявочной системе. bs:UUID 1
issueDate Дата и время получения заявки сервисом. xs:dateTime 1
rcvDate Дата и время формирования результата. xs:dateTime 1
prdcRsltDate Дата и время получения результата выполнения заявки. xs:dateTime 1
result Результат выполнения заявки. app:ApplicationResultWrapper 1