#rest #api #business-process-management #bonita
#rest #API #управление бизнес-процессами #bonita
Вопрос:
Я пытаюсь получить дату начала архивной задачи через API Rest BPM портала Bonita (версия 7.1.3), но я не нахожу правильного метода.
Например, я использую:
.../bonita/API/bpm/archivedTask?p=0amp;f=processId=processIdNumber
и единственными датами, которые я получаю, являются:
[
{
...
"assigned_date": "2016-10-13 12:22:50.456",
...
"reached_state_date": "2016-10-13 12:22:51.717",
...
"archivedDate": "2016-10-13 12:22:51.729",
...
"dueDate": "2016-10-13 13:21:31.266",
"last_update_date": "2016-10-13 12:22:51.717"
}
]
Ни одна из этих дат не является датой начала.
Есть идеи?
Большое спасибо. С наилучшими пожеланиями.
Ответ №1:
На самом деле archivedTask
API возвращает только последнее состояние архивной задачи. Человеческая задача проходит через 3 состояния: initializing
, ready
и completed
. archivedTask
API возвращает только информацию о completed
состоянии.
Вероятно, вам нужно reached_state_date
ready
состояние.
Решение заключается в использовании archivedFlowNode
API, который будет возвращать массив с одной записью для каждого состояния.
Вот пример фильтрации по определенному идентификатору обращения (т.Е. Запущенному экземпляру процесса, например, 123), определенному имени задачи (например, Шаг 1) и получения только ready
информации о состоянии (вы можете ограничить c
значение 1 вместо 10, поскольку вы, вероятно, ожидаете только один результат):
/API/bpm/archivedFlowNode?p=0amp;c=10amp;f=caseId=123amp;f=state=readyamp;f=name=Step1
Обратите внимание, что =
это =
кодированный URL-адрес.
Также обратите внимание, что caseId
это идентификатор запущенного обращения. Если у вас есть только идентификатор архивного обращения, вы можете получить его, вызвав следующий API:
/API/bpm/archivedCase/456
где 456 — идентификатор архивного обращения. При ответе идентификатор обращения сохраняется в sourceObjectId
атрибуте.