Получить список шаблонов bizproc.workflow.template.list

Если вы разрабатываете интеграции для Битрикс24 с помощью AI-инструментов (Codex, Claude Code, Cursor), подключите MCP-сервер, чтобы ассистент использовал официальную REST-документацию.

Scope: bizproc

Кто может выполнять метод: администратор

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

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

Название
тип

Описание

SELECT
array

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

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

Значение по умолчанию — ['ID']

FILTER
object

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

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

Перед названием фильтруемого поля можно указать тип фильтрации:

  • ! — не равно
  • < — меньше
  • <= — меньше либо равно
  • > — больше
  • >= — больше либо равно

ORDER
object

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

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

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

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

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

Значение по умолчанию — {ID: 'ASC'}

start
integer

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

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

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

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

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

Поля шаблона

Название
тип

Описание

ID
integer

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

MODULE_ID
string

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

  • crm — CRM
  • lists — универсальные списки
  • disk — диск

ENTITY
string

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

CRM

  • CCrmDocumentLead — лиды
  • CCrmDocumentContact — контакты
  • CCrmDocumentCompany — компании
  • CCrmDocumentDeal — сделки
  • Bitrix\Crm\Integration\BizProc\Document\Quote — коммерческие предложения
  • Bitrix\Crm\Integration\BizProc\Document\SmartInvoice — счета
  • Bitrix\Crm\Integration\BizProc\Document\Dynamic — смарт-процессы

Списки

  • BizprocDocument — процессы в ленте новостей
  • Bitrix\Lists\BizprocDocumentLists — списки в группах

Диск

  • Bitrix\Disk\BizProcDocument

DOCUMENT_TYPE
integer

Тип документа. Возможные значения:
crm:

  • LEAD — лиды
  • CONTACT — контакты
  • COMPANY — компании
  • DEAL — сделки
  • QUOTE — коммерческие предложения
  • SMART_INVOICE — счета
  • DYNAMIC_XXX — смарт-процессы, где XXX — идентификатор смарт-процесса

списки:

  • iblock_XXX — информационный блок, где XXX — идентификатор информационного блока

диск:

  • STORAGE_XXX — хранилище диска, где XXX — идентификатор хранилища

AUTO_EXECUTE
integer

Флаг автозапуска. Может принимать значения:

  • 0 — без автозапуска
  • 1 — запуск на создание
  • 2 — запуск на изменение
  • 3 — запуск на создание и изменение

NAME
string

Название шаблона

TEMPLATE
array

Массив с описанием структуры действий шаблона

PARAMETERS
array

Параметры шаблона

VARIABLES
array

Переменные шаблона

CONSTANTS
array

Константы шаблона

MODIFIED
datetime

Дата последнего изменения

IS_MODIFIED
boolean

Был ли изменен шаблон. Возможные значения:

  • Y — да, был изменен
  • N — нет

Опция нужна для типовых шаблонов бизнес-процессов

USER_ID
integer

Идентификатор пользователя, который создал или изменил шаблон

SYSTEM_CODE
string

Системный код шаблона.

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

Примеры кода

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

curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"select":["ID","NAME","USER_ID","SYSTEM_CODE"],"filter":{"MODULE_ID":"lists","AUTO_EXECUTE":0},"order":{"ID":"DESC"}}' \
        https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/bizproc.workflow.template.list
        
curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"select":["ID","NAME","USER_ID","SYSTEM_CODE"],"filter":{"MODULE_ID":"lists","AUTO_EXECUTE":0},"order":{"ID":"DESC"},"auth":"**put_access_token_here**"}' \
        https://**put_your_bitrix24_address**/rest/bizproc.workflow.template.list
        
// callListMethod: Получает все данные сразу. Используйте только для небольших выборок (< 1000 элементов) из-за высокой нагрузки на память.
        
        const parameters = {
            select: [
                'ID',
                'NAME',
                'USER_ID',
                'SYSTEM_CODE'
            ],
            filter: {
                MODULE_ID: 'lists',
                AUTO_EXECUTE: 0
            },
            order: {
                ID: 'DESC'
            }
        };
        
        try {
            const response = await $b24.callListMethod('bizproc.workflow.template.list', parameters);
            const items = response.getData() || [];
            for (const entity of items) { console.log('Entity:', entity); }
        } catch (error) {
            console.error('Request failed', error);
        }
        
        // fetchListMethod: Выбирает данные по частям с помощью итератора. Используйте для больших объемов данных для эффективного потребления памяти.
        
        try {
            const generator = $b24.fetchListMethod('bizproc.workflow.template.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.
        
        try {
            const response = await $b24.callMethod('bizproc.workflow.template.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 {
        	$result = $serviceBuilder
        		->getBizProcScope()
        		->template()
        		->list(
        			['ID', 'MODULE_ID', 'ENTITY', 'DOCUMENT_TYPE', 'AUTO_EXECUTE', 'NAME', 'TEMPLATE', 'PARAMETERS', 'VARIABLES', 'CONSTANTS', 'MODIFIED', 'IS_MODIFIED', 'USER_ID', 'SYSTEM_CODE'],
        			[]
        		);
        	foreach ($result->getTemplates() as $template) {
        		print("ID: " . $template->ID . "\n");
        		print("MODULE_ID: " . $template->MODULE_ID . "\n");
        		print("ENTITY: " . $template->ENTITY . "\n");
        		print("DOCUMENT_TYPE: " . json_encode($template->DOCUMENT_TYPE) . "\n");
        		print("AUTO_EXECUTE: " . ($template->AUTO_EXECUTE ? $template->AUTO_EXECUTE->value : 'null') . "\n");
        		print("NAME: " . $template->NAME . "\n");
        		print("TEMPLATE: " . json_encode($template->TEMPLATE) . "\n");
        		print("PARAMETERS: " . json_encode($template->PARAMETERS) . "\n");
        		print("VARIABLES: " . json_encode($template->VARIABLES) . "\n");
        		print("CONSTANTS: " . json_encode($template->CONSTANTS) . "\n");
        		print("MODIFIED: " . ($template->MODIFIED ? $template->MODIFIED->format(DATE_ATOM) : 'null') . "\n");
        		print("IS_MODIFIED: " . ($template->IS_MODIFIED ? 'true' : 'false') . "\n");
        		print("USER_ID: " . $template->USER_ID . "\n");
        		print("SYSTEM_CODE: " . $template->SYSTEM_CODE . "\n");
        		print("\n");
        	}
        } catch (Throwable $e) {
        	print("Error: " . $e->getMessage() . "\n");
        }
        
BX24.callMethod(
            'bizproc.workflow.template.list',
            {
                select: [
                    'ID',
                    'NAME',
                    'USER_ID',
                    'SYSTEM_CODE'
                ],
                filter: {
                    MODULE_ID: 'lists',
                    AUTO_EXECUTE: 0
                },
                order: {
                    ID: 'DESC'
                }
            },
            function(result)
            {
                if(result.error())
                    alert("Error: " + result.error());
                else
                    console.log(result.data());
            }
        );
        
require_once('crest.php');
        
        $result = CRest::call(
            'bizproc.workflow.template.list',
            [
                'select' => [
                    'ID',
                    'NAME',
                    'USER_ID',
                    'SYSTEM_CODE'
                ],
                'filter' => [
                    'MODULE_ID' => 'lists',
                    'AUTO_EXECUTE' => 0
                ],
                'order' => [
                    'ID' => 'DESC'
                ]
            ]
        );
        
        echo '<PRE>';
        print_r($result);
        echo '</PRE>';
        

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

HTTP-статус: 200

{
            "result": [
                {
                    "ID": "525",
                    "NAME": "Вывести время",
                    "USER_ID": "503",
                    "SYSTEM_CODE": "rest_app_5"
                },
                {
                   "ID": "379",
                   ... 
                }
                ...
            ],
            "total": 34,
            "time": {
                "start": 1737535822.539526,
                "finish": 1737535822.564579,
                "duration": 0.025053024291992188,
                "processing": 0.0019738674163818359,
                "date_start": "2025-01-22T11:50:22+03:00",
                "date_finish": "2025-01-22T11:50:22+03:00",
                "operating_reset_at": 1737536422,
                "operating": 0
            }
        }
        

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

Название
тип

Описание

result
object

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

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

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

total
integer

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

time
time

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

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

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

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

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

Предыдущая
Следующая