HTTP API задач процесса

Перед использованием API прочитайте жизненный цикл задач процесса. Для работы из серверного кода используйте ProcessTaskService.

Класс действия: ru.bgcrm.core.task.process.struts.ProcessTaskAction. Все ответы имеют стандартную оболочку bgcrm: status, message, data, eventList. Временные метки передаются в миллисекундах Unix.

Создание задачи процесса

Метод: createProcessTask

URL: /user/processTask.do?action=createProcessTask

Параметр Обязателен Описание

processId

Да

ID существующего процесса

taskId

Да

ID включённого определения задачи

config

Нет

Конфигурация обработчика, по умолчанию пустая строка

scheduledTime

Да

Плановое время в миллисекундах, не раньше текущего момента

maxRetries

Нет

Число повторных попыток, по умолчанию 0

{
  "status": "ok",
  "data": {
    "task": {
      "id": 17,
      "processId": 12345,
      "task": {
        "id": 3,
        "title": "Уведомить исполнителей",
        "clazz": "ru.bgcrm.dyn.NotifyExecutorsTask",
        "script": null,
        "enabled": true
      },
      "config": "channel=news",
      "scheduledTime": 1791738000000,
      "executedTime": null,
      "status": "PENDING",
      "retries": 0,
      "result": null,
      "maxRetries": 1,
      "cancellable": true
    }
  },
  "eventList": []
}

Отмена задачи процесса

Метод: cancelProcessTask

URL: /user/processTask.do?action=cancelProcessTask&id=:id

id — ID задачи процесса, а не определения из справочника. В data.task возвращается запись после перевода в CANCELLED. Отмена разрешена только для PENDING.

Получение по ID

Метод: getProcessTaskById

URL: /user/processTask.do?action=getProcessTaskById&id=:id

В data.task возвращается одна задача процесса. Неизвестный ID даёт ошибку.

Поиск

Метод: searchProcessTasks

URL: /user/processTask.do?action=searchProcessTasks

Параметр Обязателен Описание

processId

Нет

ID процесса

taskId

Нет

ID определения задачи

statuses

Нет

Коды статусов через запятую

scheduledTimeFrom, scheduledTimeTo

Нет

Границы планового времени, миллисекунды

executedTimeFrom, executedTimeTo

Нет

Границы фактического времени, миллисекунды

cancellable

Нет

Параметр принимается действием, но текущий репозиторий его не применяет

pageIndex, pageSize

Нет

Параметры страницы

{
  "status": "ok",
  "data": {
    "tasks": {
      "page": {
        "pageIndex": 1,
        "pageSize": 5,
        "pageCount": 1,
        "recordCount": 1
      },
      "list": [
        {
          "id": 17,
          "processId": 12345,
          "task": {
            "id": 3,
            "title": "Уведомить исполнителей",
            "clazz": "ru.bgcrm.dyn.NotifyExecutorsTask",
            "script": null,
            "enabled": true
          },
          "config": "channel=news",
          "scheduledTime": 1791738000000,
          "executedTime": null,
          "status": "PENDING",
          "retries": 0,
          "result": null,
          "maxRetries": 1,
          "cancellable": true
        }
      ]
    }
  },
  "eventList": []
}