Подсистема обработки заявок в Ветис.API: различия между версиями
(не показано 18 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
= | =Общие сведения= | ||
В целях обеспечения эффективного информационного обмена между внешними информационными системами и ГИС '''«Ветис»''' взаимодействие организуется через универсальный шлюз '''[[Ветис.API]]''' с использованием | В целях обеспечения эффективного информационного обмена между внешними информационными системами и ГИС '''«Ветис»''' взаимодействие организуется через универсальный шлюз '''[[Ветис.API]]''' с использованием единой системы обработки заявок. Единая система обработки заявок создана с целью объединить в одном месте приём и обработку заявок на выполнение операции в информационных системах Россельхознадзора, таких как Меркурий, Аргус, Цербер и др.<br /> | ||
# Взаимодействие реализуется посредством запросов ИС Предприятий к заявочной системе. ГИС '''«Ветис»''' не может выступать в роли инициатора запроса к системе предприятия. Передача информации из ГИС '''«Ветис»''' осуществляется в виде ответа на запрос ИС предприятия.<br /> | Информационный обмен реализован по асинхронной схеме. Для данной схемы действуют следующие правила:<br /> | ||
# Любая операция в рамках информационного взаимодействия с ГИС '''«Ветис»''' представляет собой заявку на осуществление некоторых действий. Заявка от ИС Предприятия попадает в заявочную систему, где обрабатывается. Заявка проходит форматно-логический контроль, регистрацию и ей присваивается уникальный идентификатор. | # Взаимодействие реализуется посредством запросов ИС Предприятий к заявочной системе. ГИС '''«Ветис»''' не может выступать в роли инициатора запроса к системе предприятия. Передача информации из ГИС '''«Ветис»''' осуществляется в виде ответа на запрос от ИС предприятия.<br /> | ||
# Любая операция в рамках информационного взаимодействия с ГИС '''«Ветис»''' представляет собой заявку на осуществление некоторых действий. Заявка от ИС Предприятия попадает в заявочную систему, где обрабатывается. Заявка проходит форматно-логический контроль, регистрацию и ей присваивается уникальный идентификатор. Сервис позволяет отслеживать состояние данной заявки и получать результат выполнения операции. <br /> | |||
# Любой запрос в рамках информационного взаимодействия через универсальный шлюз '''"Ветис.API"''' должен содержать идентификационные данные хозяйствующего субъекта, производственной площадки, на которой осуществляется бизнес-операция, а также персональные аутентификационные данные сотрудника организации в ИС «Меркурий», осуществляющего действия в ИС предприятия, инициирующие операции по информационному обмену. Таким образом, важным условием осуществления информационного взаимодействия является предварительная регистрация хозяйствующего субъекта, его производственной площадки и ответственных лиц в ИС «Меркурий». | # Любой запрос в рамках информационного взаимодействия через универсальный шлюз '''"Ветис.API"''' должен содержать идентификационные данные хозяйствующего субъекта, производственной площадки, на которой осуществляется бизнес-операция, а также персональные аутентификационные данные сотрудника организации в ИС «Меркурий», осуществляющего действия в ИС предприятия, инициирующие операции по информационному обмену. Таким образом, важным условием осуществления информационного взаимодействия является предварительная регистрация хозяйствующего субъекта, его производственной площадки и ответственных лиц в ИС «Меркурий». | ||
Операция ''' | Доступ к сервису ограничивается с помощью ключей доступа к API (APIKey). Ключи доступа предоставляются в результате прохождения процедуры регистрации программного средства в качестве клиента сервиса заявочной системе. | ||
Операция '''Applying''' предназначена для подачи заявки на выполнение операции к универсальному шлюзу '''"Ветис.API"'''. На вход системы, в зависимости от сценария, передаются следующие сведения: | |||
* | * | ||
Для получения результата обработки заявки необходимо запросить результат по идентификатору заявки. | Для получения результата обработки заявки необходимо запросить результат по идентификатору заявки. | ||
===Возможные сценарии=== | ===Возможные сценарии=== | ||
При обработке запроса возможны следующие сценарии.<br /> | При обработке запроса возможны следующие сценарии.<br /> | ||
Строка 20: | Строка 24: | ||
===Используемые пространства имён и типы=== | ===Используемые пространства имён и типы=== | ||
{{столбцы}} | |||
{{столбец}} | |||
* [[NameSpaces#http://api.vetrf.ru/schema/cdm/application|app]] (<nowiki>http://api.vetrf.ru/schema/cdm/application</nowiki>) | |||
** [[APIKey|app:APIKey]] | |||
** [[Application|app:Application]] | |||
** [[ApplicationDataWrapper|app:ApplicationDataWrapper]] | |||
** [[ApplicationStatus|app:ApplicationStatus]] | |||
** [[ApplicationResultWrapper|app:ApplicationResultWrapper]] | |||
{{столбец}} | |||
* [[NameSpaces#http://api.vetrf.ru/schema/cdm/base|bs]] (<nowiki>http://api.vetrf.ru/schema/cdm/base</nowiki>) | |||
** [[UUID|bs:UUID]] | |||
* [[NameSpaces#http://www.w3.org/2001/XMLSchema|xs]] (<nowiki>http://www.w3.org/2001/XMLSchema</nowiki>) | |||
** [http://www.w3.org/TR/xmlschema-2/#dateTime xs:dateTime] | |||
** [http://www.w3.org/TR/xmlschema-2/#NCName xs:NCName] | |||
** [http://www.w3.org/TR/xmlschema-2/#string xs:string] | |||
{{столбцы/конец}} | |||
=Запрос статуса заявки= | =Запрос статуса заявки= | ||
Строка 29: | Строка 49: | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
<ws:submitApplicationRequest> | <ws:submitApplicationRequest> | ||
<ws:apiKey> | <ws:apiKey>{app:APIKey}</ws:apiKey> | ||
<app:application> | <app:application> | ||
<app:serviceId> | <app:serviceId>{xs:NCName}</app:serviceId> | ||
<app:issuerId> | <app:issuerId>{bs:UUID}</app:issuerId> | ||
<app:issueDate> | <app:issueDate>{xs:dateTime}</app:issueDate> | ||
<app:data> | <app:data> | ||
<…> | <…> | ||
Строка 50: | Строка 70: | ||
! Поле !! Описание !! Тип !! Обязательность | ! Поле !! Описание !! Тип !! Обязательность | ||
|- | |- | ||
| '''apiKey''' || Специальный код, который идентифицирует учетную запись пользователя и позволяет веб-сервису получить доступ к информации о хозяйствующем субъекте и обслуживаемых предприятиях, к которым данный пользователь относится. || || 1 | | '''apiKey''' || Специальный код, который идентифицирует учетную запись пользователя и позволяет веб-сервису получить доступ к информации о хозяйствующем субъекте и обслуживаемых предприятиях, к которым данный пользователь относится. || [[APIKey|app:APIKey]] || 1 | ||
|- | |- | ||
| [[application#Объект application|'''application''']] || Сведения о заявке.|| | | [[application#Объект application|'''application''']] || Сведения о заявке.|| [[application|app:application]] || 1 | ||
|} | |} | ||
Строка 60: | Строка 80: | ||
! Поле !! Описание !! Тип !! Обязательность | ! Поле !! Описание !! Тип !! Обязательность | ||
|- | |- | ||
| '''serviceId''' || Код запрашиваемого сервиса (системы, к которой обращается пользователь). || || 1 | | '''serviceId''' || Код запрашиваемого сервиса (системы, к которой обращается пользователь). || [http://www.w3.org/TR/xmlschema-2/#NCName xs:NCName] || 1 | ||
|- | |- | ||
| '''issuerId''' || Идентификатор пользователя, обратившегося к заявочной системе. || | | '''issuerId''' || Идентификатор пользователя, обратившегося к заявочной системе. || [[UUID|bs:UUID]] || 1 | ||
|- | |- | ||
| '''issueDate''' || Дата обращения пользователя к заявочной системе. || || 1 | | '''issueDate''' || Дата обращения пользователя к заявочной системе. || [http://www.w3.org/TR/xmlschema-2/#dateTime xs:dateTime] || 1 | ||
|- | |- | ||
| '''data''' || Сведения о заявке.|| | | '''data''' || Сведения о заявке.|| [[ApplicationDataWrapper|app:ApplicationDataWrapper]] || 1 | ||
|} | |} | ||
Строка 76: | Строка 96: | ||
<submitApplicationResponse xmlns="http://api.vetrf.ru/schema/cdm/application/ws-definitions"> | <submitApplicationResponse xmlns="http://api.vetrf.ru/schema/cdm/application/ws-definitions"> | ||
<application xmlns="http://api.vetrf.ru/schema/cdm/application"> | <application xmlns="http://api.vetrf.ru/schema/cdm/application"> | ||
<applicationId> | <applicationId>{bs:UUID}</applicationId> | ||
<status> | <status>{app:ApplicationStatus}</status> | ||
<serviceId> | <serviceId>{xs:NCName}</serviceId> | ||
<issuerId> | <issuerId>{bs:UUID}</issuerId> | ||
<issueDate> | <issueDate>{xs:dateTime}</issueDate> | ||
<rcvDate> | <rcvDate>{xs:dateTime}</rcvDate> | ||
</application> | </application> | ||
</submitApplicationResponse> | </submitApplicationResponse> | ||
Строка 94: | Строка 114: | ||
! Поле !! Описание !! Тип !! Обязательность | ! Поле !! Описание !! Тип !! Обязательность | ||
|- | |- | ||
| [[application#Объект application_2|'''application''']] || Сведения о заявке.|| | | [[application#Объект application_2|'''application''']] || Сведения о заявке.|| |[[Application|app:Application]] || 1 | ||
|} | |} | ||
Строка 102: | Строка 122: | ||
! Поле !! Описание !! Тип !! Обязательность | ! Поле !! Описание !! Тип !! Обязательность | ||
|- | |- | ||
| '''applicationId''' || Сгенерированный идентификатор заявки. || || 1 | | '''applicationId''' || Сгенерированный идентификатор заявки. || [[UUID|bs:UUID]] || 1 | ||
|- | |- | ||
| '''status''' || Статус готовности результата. || | | '''status''' || Статус готовности результата. || [[ApplicationStatus|app:ApplicationStatus]] || 1 | ||
|- | |- | ||
| '''serviceId''' || Код запрашиваемого сервиса (системы, к которой обращается пользователь). || || 1 | | '''serviceId''' || Код запрашиваемого сервиса (системы, к которой обращается пользователь). || [http://www.w3.org/TR/xmlschema-2/#NCName xs:NCName] || 1 | ||
|- | |- | ||
| '''issuerId''' || Идентификатор пользователя, обратившегося к заявочной системе. || | | '''issuerId''' || Идентификатор пользователя, обратившегося к заявочной системе. || [[UUID|bs:UUID]] || 1 | ||
|- | |- | ||
| '''issueDate''' || Дата и время получения заявки сервисом. || || 1 | | '''issueDate''' || Дата и время получения заявки сервисом. || [http://www.w3.org/TR/xmlschema-2/#dateTime xs:dateTime] || 1 | ||
|- | |- | ||
| '''rcvDate''' || Дата и время формирования результата. || | | '''rcvDate''' || Дата и время формирования результата. || [http://www.w3.org/TR/xmlschema-2/#dateTime xs:dateTime] || 1 | ||
|} | |} | ||
Строка 122: | Строка 142: | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
<ws:receiveApplicationResultRequest> | <ws:receiveApplicationResultRequest> | ||
<ws:apiKey> | <ws:apiKey>{xs:string}</ws:apiKey> | ||
<ws:issuerId> | <ws:issuerId>{bs:UUID}</ws:issuerId> | ||
<ws:applicationId> | <ws:applicationId>{bs:UUID}</ws:applicationId> | ||
</ws:receiveApplicationResultRequest> | </ws:receiveApplicationResultRequest> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 135: | Строка 155: | ||
! Поле !! Описание !! Тип !! Обязательность | ! Поле !! Описание !! Тип !! Обязательность | ||
|- | |- | ||
| '''apiKey''' || Специальный код, который идентифицирует учетную запись пользователя и позволяет веб-сервису получить доступ к информации о хозяйствующем субъекте и обслуживаемых предприятиях, к которым данный пользователь относится. || || 1 | | '''apiKey''' || Специальный код, который идентифицирует учетную запись пользователя и позволяет веб-сервису получить доступ к информации о хозяйствующем субъекте и обслуживаемых предприятиях, к которым данный пользователь относится. || [http://www.w3.org/TR/xmlschema-2/#string xs:string] || 1 | ||
|- | |- | ||
| '''issuerId''' || Идентификатор пользователя, обратившегося к заявочной системе. || | | '''issuerId''' || Идентификатор пользователя, обратившегося к заявочной системе. || [[UUID|bs:UUID]] || 1 | ||
|- | |- | ||
| '''applicationId''' || Идентификатор заявки, в заявочной системе. || | | '''applicationId''' || Идентификатор заявки, в заявочной системе. || [[UUID|bs:UUID]] || 1 | ||
|} | |} | ||
==Данные ответа== | ==Данные ответа== | ||
Строка 150: | Строка 169: | ||
<receiveApplicationResultResponse xmlns="http://api.vetrf.ru/schema/cdm/application/ws-definitions"> | <receiveApplicationResultResponse xmlns="http://api.vetrf.ru/schema/cdm/application/ws-definitions"> | ||
<application xmlns="http://api.vetrf.ru/schema/cdm/application"> | <application xmlns="http://api.vetrf.ru/schema/cdm/application"> | ||
<applicationId> | <applicationId>{bs:UUID}</applicationId> | ||
<status> | <status>{app:ApplicationStatus}</status> | ||
<serviceId> | <serviceId>{xs:NCName}</serviceId> | ||
<issuerId> | <issuerId>{bs:UUID}</issuerId> | ||
<issueDate> | <issueDate>{xs:dateTime}</issueDate> | ||
<rcvDate> | <rcvDate>{xs:dateTime}</rcvDate> | ||
<prdcRsltDate> | <prdcRsltDate>{xs:dateTime}</prdcRsltDate> | ||
<result> | <result> | ||
<...> | <...> | ||
Строка 172: | Строка 191: | ||
! Поле !! Описание !! Тип !! Обязательность | ! Поле !! Описание !! Тип !! Обязательность | ||
|- | |- | ||
| [[application#Объект application_3|'''application''']] || Сведения о заявке.|| | | [[application#Объект application_3|'''application''']] || Сведения о заявке.|| [[Application|app:Application]] || 1 | ||
|} | |} | ||
Строка 180: | Строка 199: | ||
! Поле !! Описание !! Тип !! Обязательность | ! Поле !! Описание !! Тип !! Обязательность | ||
|- | |- | ||
| '''applicationId''' || Сгенерированный идентификатор заявки. || || 1 | | '''applicationId''' || Сгенерированный идентификатор заявки. || [[UUID|bs:UUID]] || 1 | ||
|- | |- | ||
| '''status''' || Статус готовности результата. || | | '''status''' || Статус готовности результата. || [[ApplicationStatus|app:ApplicationStatus]] || 1 | ||
|- | |- | ||
| '''serviceId''' || Код запрашиваемого сервиса (системы, к которой обращается пользователь). || || 1 | | '''serviceId''' || Код запрашиваемого сервиса (системы, к которой обращается пользователь). || [http://www.w3.org/TR/xmlschema-2/#NCName xs:NCName] || 1 | ||
|- | |- | ||
| '''issuerId''' || Идентификатор пользователя, обратившегося к заявочной системе. || | | '''issuerId''' || Идентификатор пользователя, обратившегося к заявочной системе. || [[UUID|bs:UUID]]|| 1 | ||
|- | |- | ||
| '''issueDate''' || Дата и время получения заявки сервисом. || || 1 | | '''issueDate''' || Дата и время получения заявки сервисом. || [http://www.w3.org/TR/xmlschema-2/#dateTime xs:dateTime] || 1 | ||
|- | |- | ||
| '''rcvDate''' || Дата и время формирования результата. || | | '''rcvDate''' || Дата и время формирования результата. || [http://www.w3.org/TR/xmlschema-2/#dateTime xs:dateTime] || 1 | ||
|- | |- | ||
| '''prdcRsltDate''' || || | | '''prdcRsltDate''' || || [http://www.w3.org/TR/xmlschema-2/#dateTime xs:dateTime] || 1 | ||
|- | |- | ||
| '''result''' || || | | '''result''' || || [[ApplicationResultWrapper|app:ApplicationResultWrapper]] || 1 | ||
|} | |} | ||
Версия 15:59, 2 июня 2015
Общие сведения
В целях обеспечения эффективного информационного обмена между внешними информационными системами и ГИС «Ветис» взаимодействие организуется через универсальный шлюз Ветис.API с использованием единой системы обработки заявок. Единая система обработки заявок создана с целью объединить в одном месте приём и обработку заявок на выполнение операции в информационных системах Россельхознадзора, таких как Меркурий, Аргус, Цербер и др.
Информационный обмен реализован по асинхронной схеме. Для данной схемы действуют следующие правила:
- Взаимодействие реализуется посредством запросов ИС Предприятий к заявочной системе. ГИС «Ветис» не может выступать в роли инициатора запроса к системе предприятия. Передача информации из ГИС «Ветис» осуществляется в виде ответа на запрос от ИС предприятия.
- Любая операция в рамках информационного взаимодействия с ГИС «Ветис» представляет собой заявку на осуществление некоторых действий. Заявка от ИС Предприятия попадает в заявочную систему, где обрабатывается. Заявка проходит форматно-логический контроль, регистрацию и ей присваивается уникальный идентификатор. Сервис позволяет отслеживать состояние данной заявки и получать результат выполнения операции.
- Любой запрос в рамках информационного взаимодействия через универсальный шлюз "Ветис.API" должен содержать идентификационные данные хозяйствующего субъекта, производственной площадки, на которой осуществляется бизнес-операция, а также персональные аутентификационные данные сотрудника организации в ИС «Меркурий», осуществляющего действия в ИС предприятия, инициирующие операции по информационному обмену. Таким образом, важным условием осуществления информационного взаимодействия является предварительная регистрация хозяйствующего субъекта, его производственной площадки и ответственных лиц в ИС «Меркурий».
Доступ к сервису ограничивается с помощью ключей доступа к API (APIKey). Ключи доступа предоставляются в результате прохождения процедуры регистрации программного средства в качестве клиента сервиса заявочной системе.
Операция Applying предназначена для подачи заявки на выполнение операции к универсальному шлюзу "Ветис.API". На вход системы, в зависимости от сценария, передаются следующие сведения:
Для получения результата обработки заявки необходимо запросить результат по идентификатору заявки.
Возможные сценарии
При обработке запроса возможны следующие сценарии.
2.1 Запрос успешно обработан.
2.1.1 Заявка требует обработки.
2.1.2 Результат сформирован в рамках запроса(cтатус заявки-completed).
2.2 Произошла ошибка при обработке запроса.
2.2.1 Некорректный запрос.
2.2.2 Запрос не прошёл проверку на бизнес-правила.
2.2.3 Внутренняя ошибка системы.
Используемые пространства имён и типы
|
Запрос статуса заявки
Данные запроса
Структура данных запроса в формате Х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 |
Объект 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 |