Получить список заданий бизнес-процесса bizproc.task.list

Scope: bizproc

Кто может выполнять метод: любой пользователь

Метод bizproc.task.list получает список заданий бизнес-процессов.

Администратор портала может запросить все задания или задания любого пользователя. Обычный пользователь — свои задания или подчиненного.

Для запроса своих заданий можно не указывать фильтр по USER_ID.

На облачных Битрикс24 информация по заданиям доступна в течение суток после завершения бизнес-процесса.

Параметры метода

Обязательные параметры отмечены *

Название
тип

Описание

SELECT
array

Массив содержит список полей, которые необходимо выбрать.

Можно указать только те поля, которые необходимы.

По умолчанию возвращает поля ENTITY, DOCUMENT_ID, ID, WORKFLOW_ID, DOCUMENT_NAME, NAME, DOCUMENT_URL

FILTER
object

Объект для фильтрации списка заданий в формате {"field_1": "value_1", ... "field_N": "value_N"}, где

  • field_Nполе задания для фильтра
  • value_N — значение поля

Если в фильтре присутствует USER_ID, то проверяется субординация пользователей:

  • руководитель может запросить список заданий своих подчиненных
  • администратор может запрашивать задания любых пользователей без ограничений

Если метод вызывает не администратор и фильтр по USER_ID не указан, то по умолчанию выбираются задания текущего пользователя

ORDER
object

Объект для сортировки списка заданий в формате {"field_1": "value_1", ... "field_N": "value_N"}, где

  • field_Nполе задания для сортировки
  • value_N — направление сортировки

Направление сортировки может принимать значения:

  • asc — по возрастанию
  • desc — по убыванию

Можно указать несколько полей для сортировки, например, {NAME: 'ASC', ID: 'DESC'}

START
integer

Параметр используется для управления постраничной навигацией.

Размер страницы результатов всегда статичный — 50 записей.

Чтобы выбрать вторую страницу результатов, необходимо передавать значение 50. Чтобы выбрать третью страницу результатов — значение 100 и так далее.

Формула расчета значения параметра start:

start = (N - 1) * 50, где N — номер нужной страницы

Примеры кода

Как использовать примеры в документации

curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"select":["ID","WORKFLOW_ID","DOCUMENT_NAME","DESCRIPTION","NAME","MODIFIED","WORKFLOW_STARTED","WORKFLOW_STARTED_BY","OVERDUE_DATE","WORKFLOW_TEMPLATE_ID","WORKFLOW_TEMPLATE_NAME","WORKFLOW_STATE","STATUS","USER_ID","USER_STATUS","MODULE_ID","ENTITY","DOCUMENT_ID","ACTIVITY","ACTIVITY_NAME","DOCUMENT_URL","PARAMETERS"],"order":{"ID":"DESC"},"filter":{"USER_ID":1,"STATUS":0,"ACTIVITY":"RequestInformationOptionalActivity"}}' \
        https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/bizproc.task.list
        
curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"select":["ID","WORKFLOW_ID","DOCUMENT_NAME","DESCRIPTION","NAME","MODIFIED","WORKFLOW_STARTED","WORKFLOW_STARTED_BY","OVERDUE_DATE","WORKFLOW_TEMPLATE_ID","WORKFLOW_TEMPLATE_NAME","WORKFLOW_STATE","STATUS","USER_ID","USER_STATUS","MODULE_ID","ENTITY","DOCUMENT_ID","ACTIVITY","ACTIVITY_NAME","DOCUMENT_URL","PARAMETERS"],"order":{"ID":"DESC"},"filter":{"USER_ID":1,"STATUS":0,"ACTIVITY":"RequestInformationOptionalActivity"},"auth":"**put_access_token_here**"}' \
        https://**put_your_bitrix24_address**/rest/bizproc.task.list
        
// callListMethod: Получает все данные сразу. Используйте только для небольших выборок (< 1000 элементов) из-за высокой нагрузки на память.
        
        const parameters = {
            select: [
                'ID',
                'WORKFLOW_ID',
                'DOCUMENT_NAME',
                'DESCRIPTION',
                'NAME',
                'MODIFIED',
                'WORKFLOW_STARTED',
                'WORKFLOW_STARTED_BY',
                'OVERDUE_DATE',
                'WORKFLOW_TEMPLATE_ID',
                'WORKFLOW_TEMPLATE_NAME',
                'WORKFLOW_STATE',
                'STATUS',
                'USER_ID',
                'USER_STATUS',
                'MODULE_ID',
                'ENTITY',
                'DOCUMENT_ID',
                'ACTIVITY',
                'ACTIVITY_NAME',
                'DOCUMENT_URL',
                'PARAMETERS'
            ],
            order: {
                ID: 'DESC'
            },
            filter: {
                'USER_ID': 1,
                'STATUS': 0,
                'ACTIVITY': 'RequestInformationOptionalActivity'
            }
        };
        
        try {
            const response = await $b24.callListMethod('bizproc.task.list', parameters);
            const items = response.getData() || [];
            for (const entity of items) { console.log('Entity:', entity); }
        } catch (error) {
            console.error('Request failed', error);
        }
        
        // fetchListMethod: Выбирает данные по частям с помощью итератора. Используйте для больших объемов данных для эффективного потребления памяти.
        
        const parameters = {
            select: [
                'ID',
                'WORKFLOW_ID',
                'DOCUMENT_NAME',
                'DESCRIPTION',
                'NAME',
                'MODIFIED',
                'WORKFLOW_STARTED',
                'WORKFLOW_STARTED_BY',
                'OVERDUE_DATE',
                'WORKFLOW_TEMPLATE_ID',
                'WORKFLOW_TEMPLATE_NAME',
                'WORKFLOW_STATE',
                'STATUS',
                'USER_ID',
                'USER_STATUS',
                'MODULE_ID',
                'ENTITY',
                'DOCUMENT_ID',
                'ACTIVITY',
                'ACTIVITY_NAME',
                'DOCUMENT_URL',
                'PARAMETERS'
            ],
            order: {
                ID: 'DESC'
            },
            filter: {
                'USER_ID': 1,
                'STATUS': 0,
                'ACTIVITY': 'RequestInformationOptionalActivity'
            }
        };
        
        try {
            const generator = $b24.fetchListMethod('bizproc.task.list', parameters, 'ID');
            for await (const page of generator) {
                for (const entity of page) { console.log('Entity:', entity); }
            }
        } catch (error) {
            console.error('Request failed', error);
        }
        
        // callMethod: Ручное управление постраничной навигацией через параметр start. Используйте для точного контроля над пакетами запросов. Для больших данных менее эффективен, чем fetchListMethod.
        
        const parameters = {
            select: [
                'ID',
                'WORKFLOW_ID',
                'DOCUMENT_NAME',
                'DESCRIPTION',
                'NAME',
                'MODIFIED',
                'WORKFLOW_STARTED',
                'WORKFLOW_STARTED_BY',
                'OVERDUE_DATE',
                'WORKFLOW_TEMPLATE_ID',
                'WORKFLOW_TEMPLATE_NAME',
                'WORKFLOW_STATE',
                'STATUS',
                'USER_ID',
                'USER_STATUS',
                'MODULE_ID',
                'ENTITY',
                'DOCUMENT_ID',
                'ACTIVITY',
                'ACTIVITY_NAME',
                'DOCUMENT_URL',
                'PARAMETERS'
            ],
            order: {
                ID: 'DESC'
            },
            filter: {
                'USER_ID': 1,
                'STATUS': 0,
                'ACTIVITY': 'RequestInformationOptionalActivity'
            }
        };
        
        try {
            const response = await $b24.callMethod('bizproc.task.list', parameters, 0);
            const result = response.getData().result || [];
            for (const entity of result) { console.log('Entity:', entity); }
        } catch (error) {
            console.error('Request failed', error);
        }
        
try {
            $response = $b24Service
                ->core
                ->call(
                    'bizproc.task.list',
                    [
                        'select' => [
                            'ID',
                            'WORKFLOW_ID',
                            'DOCUMENT_NAME',
                            'DESCRIPTION',
                            'NAME',
                            'MODIFIED',
                            'WORKFLOW_STARTED',
                            'WORKFLOW_STARTED_BY',
                            'OVERDUE_DATE',
                            'WORKFLOW_TEMPLATE_ID',
                            'WORKFLOW_TEMPLATE_NAME',
                            'WORKFLOW_STATE',
                            'STATUS',
                            'USER_ID',
                            'USER_STATUS',
                            'MODULE_ID',
                            'ENTITY',
                            'DOCUMENT_ID',
                            'ACTIVITY',
                            'ACTIVITY_NAME',
                            'DOCUMENT_URL',
                            'PARAMETERS'
                        ],
                        'order' => [
                            'ID' => 'DESC'
                        ],
                        'filter' => [
                            'USER_ID'  => 1,
                            'STATUS'   => 0,
                            'ACTIVITY' => 'RequestInformationOptionalActivity'
                        ]
                    ]
                );
        
            $result = $response
                ->getResponseData()
                ->getResult();
        
            if ($result->error()) {
                echo 'Error: ' . $result->error();
            } else {
                echo 'Success: ' . print_r($result->data(), true);
            }
        
        } catch (Throwable $e) {
            error_log($e->getMessage());
            echo 'Error: ' . $e->getMessage();
        }
        
BX24.callMethod(
            'bizproc.task.list',
            {
                select: [
                    'ID',
                    'WORKFLOW_ID',
                    'DOCUMENT_NAME',
                    'DESCRIPTION',
                    'NAME',
                    'MODIFIED',
                    'WORKFLOW_STARTED',
                    'WORKFLOW_STARTED_BY',
                    'OVERDUE_DATE',
                    'WORKFLOW_TEMPLATE_ID',
                    'WORKFLOW_TEMPLATE_NAME',
                    'WORKFLOW_STATE',
                    'STATUS',
                    'USER_ID',
                    'USER_STATUS',
                    'MODULE_ID',
                    'ENTITY',
                    'DOCUMENT_ID',
                    'ACTIVITY',
                    'ACTIVITY_NAME',
                    'DOCUMENT_URL',
                    'PARAMETERS'
                ],
                order: {
                    ID: 'DESC'
                },
                filter: {
                    'USER_ID': 1,
                    'STATUS': 0,
                    'ACTIVITY': 'RequestInformationOptionalActivity'
                }
            },
            function(result)
            {
                if(result.error())
                    alert("Error: " + result.error());
                else
                    console.log(result.data());
            }
        );
        
require_once('crest.php');
        
        $result = CRest::call(
            'bizproc.task.list',
            [
                'select' => [
                    'ID',
                    'WORKFLOW_ID',
                    'DOCUMENT_NAME',
                    'DESCRIPTION',
                    'NAME',
                    'MODIFIED',
                    'WORKFLOW_STARTED',
                    'WORKFLOW_STARTED_BY',
                    'OVERDUE_DATE',
                    'WORKFLOW_TEMPLATE_ID',
                    'WORKFLOW_TEMPLATE_NAME',
                    'WORKFLOW_STATE',
                    'STATUS',
                    'USER_ID',
                    'USER_STATUS',
                    'MODULE_ID',
                    'ENTITY',
                    'DOCUMENT_ID',
                    'ACTIVITY',
                    'ACTIVITY_NAME',
                    'DOCUMENT_URL',
                    'PARAMETERS'
                ],
                'order' => [
                    'ID' => 'DESC'
                ],
                'filter' => [
                    'USER_ID' => 1,
                    'STATUS' => 0,
                    'ACTIVITY' => 'RequestInformationOptionalActivity'
                ]
            ]
        );
        
        echo '<PRE>';
        print_r($result);
        echo '</PRE>';
        

Обработка ответа

HTTP-статус: 200

{
            "result": [
                {
                    "ENTITY": "BizprocDocument",
                    "DOCUMENT_ID": "2249",
                    "ID": "1477",
                    "WORKFLOW_ID": "67a2ffdb2c57a3.35276854",
                    "DOCUMENT_NAME": "Партнерская конференция",
                    "DESCRIPTION": "",
                    "NAME": "Добавить информацию о подрядчике",
                    "MODIFIED": "2025-02-05T09:06:19+03:00",
                    "WORKFLOW_STARTED": "2025-02-05T09:06:19+03:00",
                    "WORKFLOW_STARTED_BY": "1",
                    "OVERDUE_DATE": null,
                    "WORKFLOW_TEMPLATE_ID": "565",
                    "WORKFLOW_TEMPLATE_NAME": "Организация мероприятия",
                    "WORKFLOW_STATE": "Ожидание дополнительной информации",
                    "STATUS": "0",
                    "USER_ID": "1",
                    "USER_STATUS": "0",
                    "MODULE_ID": "lists",
                    "ACTIVITY": "RequestInformationActivity",
                    "ACTIVITY_NAME": "A3651_68033_56029_16413",
                    "PARAMETERS": {
                        "CommentLabel": "Комментарий",
                        "CommentRequired": "Y",
                        "ShowComment": "Y",
                        "StatusOkLabel": "Сохранить результат",
                        "Fields": [
                            {
                                "Id": "contractor",
                                "Type": "E:ECrm",
                                "Name": "Подрядчик",
                                "Description": "Кто выполняет работы",
                                "Multiple": false,
                                "Required": true,
                                "Options": {
                                    "LEAD": "N",
                                    "CONTACT": "Y",
                                    "COMPANY": "Y",
                                    "DEAL": "N",
                                    "SMART_INVOICE": "N",
                                    "DYNAMIC_136": "N",
                                    "DYNAMIC_1038": "N"
                                },
                                "Settings": null,
                                "Default": [
                                    "C_607"
                                ]
                            },
                            {
                                "Id": "phone_number",
                                "Type": "string",
                                "Name": "Номер телефона",
                                "Description": "",
                                "Multiple": false,
                                "Required": true,
                                "Options": null,
                                "Settings": null,
                                "Default": ""
                            }
                        ]
                    },
                    "DOCUMENT_URL": "/bizproc/processes/?livefeed=y&list_id=171&element_id=2249"
                },
                {
                    "ENTITY": "BizprocDocument",
                    "DOCUMENT_ID": "2237",
                    "ID": "1471",
                    ...
                }
            ],
            "total": 2,
            "time": {
                "start": 1738735796.4730229,
                "finish": 1738735796.510215,
                "duration": 0.037192106246948242,
                "processing": 0.0080459117889404297,
                "date_start": "2025-02-05T09:09:56+03:00",
                "date_finish": "2025-02-05T09:09:56+03:00",
                "operating_reset_at": 1738736396,
                "operating": 0
            }
        }
        

Возвращаемые данные

Название
тип

Описание

result
object

Корневой элемент ответа.

Cодержит массив объектов с информацией о заданиях бизнес-процессов.

Каждый объект содержит поля задания, указанные в параметре SELECT

total
integer

Общее количество найденных записей

time
time

Информация о времени выполнения запроса

Поля задания

Название
тип

Описание

ID
integer

Идентификатор задания

WORKFLOW_ID
integer

Идентификатор бизнес-процесса

DOCUMENT_NAME
string

Название документа

DESCRIPTION
string

Описание задания

NAME
string

Название задания

MODIFIED
datetime

Дата изменения

WORKFLOW_STARTED
datatime

Дата запуска бизнес-процесса

WORKFLOW_STARTED_BY
user

Кем запущен бизнес-процесс

OVERDUE_DATE
datetime

Крайний срок

WORKFLOW_TEMPLATE_ID
integer

Идентификатор шаблона бизнес-процесса

WORKFLOW_TEMPLATE_NAME
string

Название шаблона бизнес-процесса

WORKFLOW_STATE
string

Статус бизнес-процесса

STATUS
integer

Статус задания. Возможные значения:

  • 0 — выполняется
  • 1 — утверждено
  • 2 — отклонено
  • 3 — выполнено
  • 4 — истек срок выполнения задания

USER_ID
user

Идентификатор пользователя

USER_STATUS
integer

Ответ пользователя. Возможные значения:

  • 0 — ожидание ответа
  • 1 — утвердил
  • 2 — отклонил
  • 3 — выполнил

MODULE_ID
string

Идентификатор модуля по документу

ENTITY
string

Символьный идентификатор объекта по документу

DOCUMENT_ID
integer

Идентификатор документа

ACTIVITY
string

Идентификатор типа задания. Возможные значения:

  • ApproveActivity — утверждение документа
  • ReviewActivity — ознакомление с документом
  • RequestInformationActivity — запрос дополнительной информации
  • RequestInformationOptionalActivity — запрос дополнительной информации (с отклонением)

ACTIVITY_NAME
string

Идентификатор действия в шаблоне

PARAMETERS
object

Объект с описанием параметров задания

DOCUMENT_URL
object

Ссылка на документ

Объект PARAMETERS

Название
тип

Описание

CommentLabel
string

Название поля Комментарий

CommentRequired
string

Обязательность комментария. Допустимые значения:

  • N — нет
  • Y — да
  • YA — да, при утверждении
  • YR — да, при отклонении

ShowComment
boolean

Показывать комментарий. Допустимые значения:

  • N — нет
  • Y — да

StatusOkLabel
string

Текст кнопки Ознакомлен

StatusYesLabel
string

Текст кнопки Утвердить

StatusNoLabel
string

Текст кнопки Отклонить

Fields
array

Массив объектов. Каждый объект содержит описание поля в задании

Объект Fields

Название
тип

Описание

Id
string

Символьный идентификатор параметра задания

Type
string

Тип параметра. Базовые значения:

  • bool — да или нет
  • date — дата
  • datetime — дата и время
  • double — число
  • int — целое число
  • select — список
  • string — строка
  • text — текст
  • user — пользователь

Остальные типы зависят от документа, с которым работает бизнес-процесс

Name
string | object

Наименование параметра

Description
string | object

Описание параметра

Multiple
boolean

Множественность параметра. Возможные значения:

  • true — да
  • false — нет

Required
boolean

Обязательность параметра. Возможные значения:

  • true — да
  • false — нет

Options
object

Настройки поля.

Значения зависят от типа параметра. Примеры:

  • для типа Список select это варианты значений списка
"Options": {
            "1": "Первый вариант",
            "2": "Второй вариант",
            "3": "Третий вариант",
        },
        
  • для типа Привязка к CRM 'E:ECrm' это доступные типы объектов
"Options": {
            "LEAD": "N",
            "CONTACT": "Y",
            "COMPANY": "Y",
            "DEAL": "N",
            "SMART_INVOICE": "N",
            "DYNAMIC_136": "N",
            "DYNAMIC_1038": "N"
        },
        

Settings
object

Дополнительные настройки поля

Default
any

Значение параметра по умолчанию

Обработка ошибок

HTTP-статус: 400

{
            "error": "ACCESS_DENIED",
            "error_description": "Access denied!"
        }
        

Название
тип

Описание

error
string

Строковый код ошибки. Может состоять из цифр, латинских букв и знака подчеркивания

error_description
error_description

Текстовое описание ошибки. Описание не предназначено для показа конечному пользователю в необработанном виде

Возможные коды ошибок

Код

Сообщение об ошибке

Описание

ACCESS_DENIED

Access denied!

Метод запустил не администратор или вы не можете просматривать задания указанного сотрудника

Статусы и коды системных ошибок

HTTP-статус: 20x, 40x, 50x

Описанные ниже ошибки могут возникнуть при вызове любого метода

Статус

Код
Текст ошибки

Описание

500

INTERNAL_SERVER_ERROR
Internal server error

Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24

500

ERROR_UNEXPECTED_ANSWER
Server returned an unexpected response

Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24

503

QUERY_LIMIT_EXCEEDED
Too many requests

Превышен лимит на интенсивность запросов

405

ERROR_BATCH_METHOD_NOT_ALLOWED
Method is not allowed for batch usage

Текущий метод не разрешен для вызова с помощью batch

400

ERROR_BATCH_LENGTH_EXCEEDED
Max batch length exceeded

Превышена максимальная длина параметров, переданных в метод batch

401

NO_AUTH_FOUND
Wrong authorization data

Неверный access-токен или код вебхука

400

INVALID_REQUEST
Https required

Для вызовов методов требуется использовать протокол HTTPS

503

OVERLOAD_LIMIT
REST API is blocked due to overload

REST API заблокирован из-за перегрузки. Это ручная индивидуальная блокировка, для снятия необходимо обращаться в техническую поддержку Битрикс24

403

ACCESS_DENIED
REST API is available only on commercial plans

REST API доступен только на коммерческих планах

403

INVALID_CREDENTIALS
Invalid request credentials

У пользователя, с чьим access-токеном или вебхуком был вызван метод, не хватает прав

404

ERROR_MANIFEST_IS_NOT_AVAILABLE
Manifest is not available

Манифест недоступен

403

insufficient_scope
The request requires higher privileges than provided by the webhook token

Запрос требует более высоких привилегий, чем предоставляет токен вебхука

401

expired_token
The access token provided has expired

Предоставленный access-токен доступа истек

403

user_access_error
The user does not have access to the application

Пользователь не имеет доступа к приложению. Это означает, что приложение установлено, но администратор портала разрешил доступ к этому приложению только конкретным пользователям

500

PORTAL_DELETED
Portal was deleted

Публичная часть сайта закрыта. Чтобы открыть публичную часть сайта на коробочной установке отключите опцию «Временное закрытие публичной части сайта». Путь к настройке: Рабочий стол > Настройки > Настройки продукта > Настройки модулей > Главный модуль > Временное закрытие публичной части сайта

Продолжите изучение