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

Материал из Справочная система Россельхознадзора
Перейти к навигации Перейти к поиску
Строка 16: Строка 16:
Реализована возможность подачи заявок на выполнение следующих операций
Реализована возможность подачи заявок на выполнение следующих операций
===Меркурий===
===Меркурий===
* [[ProductionOperation|оформление производственной партии (registerProductiveBatch)]];
* [[ProductionOperation|оформление производственной партии]] - registerProductiveBatch;
* [[TransportOperation|оформление транспортной партии (prepareOutcomingRequest)]];
* [[TransportOperation|оформление транспортной партии]] - prepareOutcomingRequest;
* [[IncomingOperation|оформление входящей партии (prepareIncomingRequest)]];
* [[IncomingOperation|оформление входящей партии]] - prepareIncomingRequest;
* [[ResolveDiscrepancyOperation|оформление результатов инвентаризации (resolveDiscrpepancy)]];
* [[ResolveDiscrepancyOperation|оформление результатов инвентаризации]] - resolveDiscrpepancy;
* [[MergeOperation|объединение записей складского журнала (mergeStockEntries)]];
* [[MergeOperation|объединение записей складского журнала]] - mergeStockEntries;
* [[GetVetDocumentByUuidOperation|получение ВСД по его идентификатору (getVetDocumentByUUID)]];
* [[GetVetDocumentByUuidOperation|получение ВСД по его идентификатору]] - getVetDocumentByUUID;
* [[GetVetDocumentChangesListOperation|получение ВСД, созданных или измененных за указанный интервал дат (получение истории изменений) (getVetDocumentChangsList)]];
* [[GetVetDocumentChangesListOperation|получение ВСД, созданных или измененных за указанный интервал дат (получение истории изменений)]] - getVetDocumentChangsList;
* [[GetVetDocumentListOperation|получение всех ВСД предприятия с возможностью фильтрации (getVetDocumentList)]];
* [[GetVetDocumentListOperation|получение всех ВСД предприятия с возможностью фильтрации]] - getVetDocumentList;
* [[GetStockEntryByUuidOperation|получение конкретной версии записи складского журнала по ее идентификатору (getStockEntryByUUID)]];
* [[GetStockEntryByUuidOperation|получение конкретной версии записи складского журнала по ее идентификатору]] - getStockEntryByUUID;
* [[GetStockEntryByGuidOperation|получение последней (актуальной) версии записи складского журнала по ее идентификатору (getStockEntryByGUID)]];
* [[GetStockEntryByGuidOperation|получение последней (актуальной) версии записи складского журнала по ее идентификатору]] - getStockEntryByGUID;
* [[GetStockEntryVersionListOperation|получение всех версий записи складского журнала по  ее идентификатору (getStockEntryVersionList)]];
* [[GetStockEntryVersionListOperation|получение всех версий записи складского журнала по  ее идентификатору]] - getStockEntryVersionList;
* [[GetStockEntryListOperation|получение актуального списка записей журнала (getStockEntryList)]];
* [[GetStockEntryListOperation|получение актуального списка записей журнала]] - getStockEntryList;
* [[GetStockEntryChangesListOperation|получение списка версий записей журнала, созданных или измененных за указанный интервал дат (получение истории изменений) (getStockEntryChangesList)]];
* [[GetStockEntryChangesListOperation|получение списка версий записей журнала, созданных или измененных за указанный интервал дат (получение истории изменений)]] - getStockEntryChangesList;
* [[ModifyBusinessEntityOperation|добавление/изменение сведений о хозяйствующем субъекте (modifyBusinessEntity)]];
* [[ModifyBusinessEntityOperation|добавление/изменение сведений о хозяйствующем субъекте]] - modifyBusinessEntity;
* [[ModifyEnterpriseOperation|добавление/изменение сведений о поднадзорном объекте (modifyEnterprise)]];
* [[ModifyEnterpriseOperation|добавление/изменение сведений о поднадзорном объекте]] - modifyEnterprise;
* [[WithdrawVetDocumentOperation|аннулирование ВСД (withdrawVetDocument)]];
* [[WithdrawVetDocumentOperation|аннулирование ВСД]] - withdrawVetDocument;
* [[ModifyActivityLocationsOperation|создание/удаление связи с площадкой (modifyActivityLocations)]].
* [[ModifyActivityLocationsOperation|создание/удаление связи с площадкой]] - modifyActivityLocations;
* [[ModifyProducerStockListOperation|добавление номенклатуры производителя в справочник (modifyProducerStockList)]]
* [[ModifyProducerStockListOperation|добавление номенклатуры производителя в справочник]] - modifyProducerStockList


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

Версия 15:50, 11 февраля 2016

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

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

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

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

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

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

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

Авторизация в шлюзе

Процесс авторизации при подключении к универсальному шлюзу Ветис.API описан здесь.

Бизнес-операции

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

Меркурий

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

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

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:ApplicationDataWrapper}</app:data>
    </app:application>
  </ws:submitApplicationRequest>


Объект submitApplicationRequest

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

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

Объект submitApplicationRequest/application

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

Поле Описание Тип Обязательность
serviceId Код запрашиваемого сервиса (системы, к которой обращается пользователь).
  • mercury-g2b.service - сервис системы Меркурий.
xs:NCName 1
issuerId Идентификатор хозяйствующего субъекта от имени которого происходит обращение к Ветис.API. Указанный хозяйствующий субъект должен быть одним из хозяйствующих субъектов, обслуживаемых данной программной системой. Перечень обслуживаемых программной системой хозяйствующих субъектов устанавливается при предоставлении доступа к Ветис.API. 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

Объект submitApplicationResponse/application

Поле Описание Тип Обязательность
applicationId Сгенерированный идентификатор заявки. bs:UUID 1
status Статус готовности результата. app:ApplicationStatus 1
serviceId Код запрашиваемого сервиса (системы, к которой обращается пользователь). xs:NCName 1
issuerId Идентификатор хозяйствующего субъекта от имени которого происходит обращение к Ветис.API. Указанный хозяйствующий субъект должен быть одним из хозяйствующих субъектов, обслуживаемых данной программной системой. Перечень обслуживаемых программной системой хозяйствующих субъектов устанавливается при предоставлении доступа к Ветис.API. 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

Объект receiveApplicationResultResponse/application

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