Метод «Создать новый маршрут»

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"

 }

}'