Exportcenter:ApplicationManagementService: различия между версиями
(не показано 6 промежуточных версий этого же участника) | |||
Строка 29: | Строка 29: | ||
* код запрашиваемого сервиса; | * код запрашиваемого сервиса; | ||
* идентификатор пользователя; | * идентификатор пользователя; | ||
* заявка (запрос) на выполнение операции. | * заявка ('''запрос согласно спецификации выполняемой операции''') на выполнение операции. | ||
Результатом обработки заявки в заявочной системе является: | Результатом обработки заявки в заявочной системе является: | ||
Строка 93: | Строка 93: | ||
! Поле !! Описание !! Тип !! Обязательность | ! Поле !! Описание !! Тип !! Обязательность | ||
|- | |- | ||
| '''serviceId''' || Код запрашиваемого сервиса | | '''serviceId''' || Код запрашиваемого сервиса. | ||
|| [http://www.w3.org/TR/xmlschema-2/#NCName xs:NCName] || 1 | || [http://www.w3.org/TR/xmlschema-2/#NCName xs:NCName] || 1 | ||
|- | |- | ||
Строка 102: | Строка 100: | ||
| '''issueDate''' || Дата и время обращения пользователя к заявочной системе. Устанавливается разработчиком клиентской системы. || [http://www.w3.org/TR/xmlschema-2/#dateTime xs:dateTime] || 1 | | '''issueDate''' || Дата и время обращения пользователя к заявочной системе. Устанавливается разработчиком клиентской системы. || [http://www.w3.org/TR/xmlschema-2/#dateTime xs:dateTime] || 1 | ||
|- | |- | ||
| '''data''' || Сведения о заявке.|| [[ApplicationDataWrapper|app:ApplicationDataWrapper]] || 1 | | '''data''' || Сведения о заявке (запрос согласно спецификации выполняемой операции).|| [[ApplicationDataWrapper|app:ApplicationDataWrapper]] || 1 | ||
|} | |} | ||
Строка 180: | Строка 178: | ||
==Данные ответа== | ==Данные ответа== | ||
<br /> | |||
<div class="toccolours mw-collapsible mw-collapsed" style="width:100%"> | <div class="toccolours mw-collapsible mw-collapsed" style="width:100%"> | ||
Структура данных ответа в формате ХML. | Структура данных успешного ответа в формате ХML. | ||
<div class = "mw-collapsible-content"> | <div class = "mw-collapsible-content"> | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
Строка 196: | Строка 195: | ||
<...> | <...> | ||
</result> | </result> | ||
</application> | |||
</receiveApplicationResultResponse> | |||
</syntaxhighlight> | |||
</div> | |||
</div> | |||
<br /> | |||
<div class="toccolours mw-collapsible mw-collapsed" style="width:100%"> | |||
Структура данных ответа с ошибками в формате ХML. | |||
<div class = "mw-collapsible-content"> | |||
<syntaxhighlight lang="xml"> | |||
<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> | |||
<errors> | |||
<error code="{xs:NCName}">{xs:string}</apl:error> | |||
<error code="{xs:NCName}">{xs:string}</apl:error> | |||
<!-- ... --> | |||
</errors> | |||
</application> | </application> | ||
</receiveApplicationResultResponse> | </receiveApplicationResultResponse> | ||
Строка 203: | Строка 227: | ||
===Объект receiveApplicationResultResponse=== | ===Объект receiveApplicationResultResponse=== | ||
Получение результатов обработки заявки. | Получение результатов обработки заявки. | ||
{| class="wikitable" | {| class="wikitable" | ||
Строка 230: | Строка 255: | ||
| '''prdcRsltDate''' ||Дата и время получения результата выполнения заявки. || [http://www.w3.org/TR/xmlschema-2/#dateTime xs:dateTime] || 1 | | '''prdcRsltDate''' ||Дата и время получения результата выполнения заявки. || [http://www.w3.org/TR/xmlschema-2/#dateTime xs:dateTime] || 1 | ||
|- | |- | ||
| '''result''' ||Результат выполнения заявки. || [[ApplicationResultWrapper|app:ApplicationResultWrapper]] || 1 | | '''result''' ||Результат выполнения заявки (ответ на запрос согласно спецификации выполняемой операции). || [[ApplicationResultWrapper|app:ApplicationResultWrapper]] || 0..1 | ||
|- | |||
| '''errors''' ||Список ошибок. || [[BusinessErrorList|app:BusinessErrorList]] || 0..1 | |||
|} | |} |
Текущая версия на 00:51, 31 марта 2023
Общие сведения
- Подсистема обработки заявок предназначена для выполнения бизнес-операций в специализированных информационных системах Аргус, Меркурий, Веста и т.д.
- Сервис ApplicationManagementService выполняет принятие, авторизацию и маршрутизацию заявки к той или иной целевой специализированной информационной системе, а также предоставляет внешней системе результат обработки заявки.
Принципы взаимодействия
Работа с сервисом ApplicationManagementService реализована по псевдо-асинхронному принципу и осуществляется в два шага, оба из которых выполняются синхронно:
- 1 шаг – подача запроса с заявкой на выполнение бизнес-операции и получение результата приема заявки (идентификатора заявки);
- 2 шаг – подача запроса на получение результата обработки заявки/выполнения бизнес-операции с использованием полученного на шаге 1 идентификатора заявки.
Для данной схемы действуют следующие правила:
- Взаимодействие реализуется посредством запросов внешних информационных систем к ApplicationManagementService.
- Любая операция в рамках информационного взаимодействия представляет собой заявку на выполнение бизнес-операции. Заявка от внешней информационной системы попадает в ApplicationManagementService, проходит форматно-логический контроль, регистрацию (ей присваивается уникальный идентификатор), маршрутизируется на целевой внутренний сервис, который выполняет операцию.
- ApplicationManagementService позволяет отслеживать состояние данной заявки и получать результат ее выполнения.
Возможные сценарии
При обработке запроса возможны следующие сценарии:
1. Запрос успешно обработан.
- Заявка требует обработки (cтатус заявки - IN_PROCESS).
- Результат сформирован в рамках запроса (cтатус заявки - COMPLETED).
- Заявка требует обработки (cтатус заявки - IN_PROCESS).
2. Произошла ошибка при обработке запроса.
- Некорректный запрос.
- Запрос не прошёл проверку на бизнес-правила.
- Внутренняя ошибка системы.
- Некорректный запрос.
На вход сервиса ApplicationManagementService передаются следующие сведения:
- 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 | Код запрашиваемого сервиса. | 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 | Идентификатор заявки, в заявочной системе. Хранится в базе в течение 3-х дней. По истечении 3-х дней получить ответ по 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>
Структура данных ответа с ошибками в формате Х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>
<errors>
<error code="{xs:NCName}">{xs:string}</apl:error>
<error code="{xs:NCName}">{xs:string}</apl:error>
<!-- ... -->
</errors>
</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 | 0..1 |
errors | Список ошибок. | app:BusinessErrorList | 0..1 |