Метод «Создать новый маршрут»¶
Endpoint: POST {hostname}/ldm-flex-approval-service/api/v1/routes
Метод позволяет создать новый маршрут. Маршрут может быть создан и сразу запущен в работу или создан в режиме черновика (состояние маршрута «DRAFT»).
Более подробное описание метода находится в yaml файле «flex-approval -service», который расположен в папке с документацией.
Маппинг параметров запроса
| Входящие параметры | Способ передачи параметров | Требования к заполнению |
|---|---|---|
| X-Correlation-ID | Header | Опциональный ключ корреляции для операции |
| Idempotency-Key | Header | Ключ уникальности запроса |
| isDraft | Query | Признак создания черновика маршрута |
| callbacksBefore | Body | Массив URI на пре-обратные вызовы (FlexRouteCallback ldm-system-objects-service) |
| callbacksAfter | Body | Массив URI на пост-обратные вызовы (FlexRouteCallback ldm-system-objects-service) |
| mainObjectUri | Body | URI объект, с которым маршрут связан (документ) |
| parentObjectUri | Body | URI на исходную задачу (ldm-task-service) |
| objectsUri: · additionalProp1 · additionalProp2 · additionalProp3 | Body | Объекты, связанные с маршрутов (передаются и используются в обратных вызовах) |
| name | Body | Пользовательское наименование маршрута |
| taskTemplateCode | Body | taskClassCode шаблона поручения, на основе которого будет создана задача |
| taskTemplateId | Body | Идентификатор шаблона поручения, на основе которого будет создана задача |
| enabledReportClassCode | Body | Ожидаемый класс отчета (вид блокировки) CreateReportRequestDto.classCode=enabled_report_class_code |
| inputVariablesMap: · additionalProp1 · additionalProp2 · additionalProp3 |
Body | Маппинг переменных поручения |
| outputVariablesMap: · additionalProp1 · additionalProp2 · additionalProp3 |
Body | Маппинг переменных отчета поручения |
| resultPropertyCode | Body | Маппинг на поле результат в переменных поручения |
| tasksLinkClass | Body | Класс RELATION между созданными задачами и маршрутом (через relation-service) |
| taskToMainObjectLinkClass | Body | Класс RELATION между созданными задачами и объектом (через relation-service) |
| taskToParentObjectLinkClass | Body | Класс RELATION между созданными задачами и исходной задачей (через relation-service) |
| replyTo | Body | Наименование очереди (топик Kafka), куда необходимо отправить сообщение о выполнении задачи |
| lockKey | Body | Ключ для защиты (опционально) от параллельного запуска маршрутов. Гарантирует, что не может быть двух активных маршрутов с одним значением ключа |
| variables: · additionalProp1 · additionalProp2 · additionalProp3 |
Body | Глобальные переменные маршрута. Могут изменяться любым элементом маршрута |
Пример запроса:
curl --location 'https://docshouse.ldm.lanit.ru/dh-gateway-api-service/ldm-flex-approval-service/api/v1/routes?isDraft=true' \
-header 'accept: application/json' \
-header 'X-Correlation-ID: c6bfaf22-adfd-4f99-a008-cf38622d45e6' \
-header 'Content-Type: application/json' \
-data '{
"callbacksBefore": [
"string"
],
"callbacksAfter": [
"string"
],
"mainObjectUri": "string",
"parentObjectUri": "string",
"objectsUri": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"name": "string",
"taskTemplateCode": "string",
"taskTemplateId": "string",
"enabledReportClassCode": "string",
"inputVariablesMap": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"outputVariablesMap": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"resultPropertyCode": "string",
"tasksLinkClass": "string",
"taskToMainObjectLinkClass": "string",
"taskToParentObjectLinkClass": "string",
"replyTo": "string",
"lockKey": "string",
"variables": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
}
}'