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

Выберите инструмент для разработки с AI-агентом:

  • используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
  • используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации

Scope: bizproc

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

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

Шаблоны роботов, настроенных на стадиях элементов CRM, смарт-процессов или в задачах, метод не возвращает. Такие шаблоны недоступны в REST API.

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

Название
тип

Описание

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
string

Тип документа. Возможные значения:
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);
}
from b24pysdk.errors import BitrixAPIError, BitrixSDKException

try:
    bitrix_response = client.bizproc.workflow.template.list(
        select=[
            "ID",
            "NAME",
            "USER_ID",
            "SYSTEM_CODE",
        ],
        filter={
            "MODULE_ID": "lists",
            "AUTO_EXECUTE": 0,
        },
        order={
            "ID": "DESC",
        },
    ).response
    result = bitrix_response.result
    print(result)
except BitrixAPIError as error:
    print(
        "Ошибка Bitrix API",
        f"error: {error.error}",
        f"error_description: {error.error_description}",
        sep="\n",
    )
except BitrixSDKException as error:
    print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
    print(f"Непредвиденная ошибка: {error}")

Пример as_list

from b24pysdk.errors import BitrixAPIError, BitrixSDKException

try:
    bitrix_response = client.bizproc.workflow.template.list(
        select=[
            "ID",
            "NAME",
            "USER_ID",
            "SYSTEM_CODE",
        ],
        filter={
            "MODULE_ID": "lists",
            "AUTO_EXECUTE": 0,
        },
        order={
            "ID": "DESC",
        },
    ).as_list().response
    result = bitrix_response.result
    for item in result:
        print(item)
except BitrixAPIError as error:
    print(
        "Ошибка Bitrix API",
        f"error: {error.error}",
        f"error_description: {error.error_description}",
        sep="\n",
    )
except BitrixSDKException as error:
    print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
    print(f"Непредвиденная ошибка: {error}")

Пример as_list_fast

from b24pysdk.errors import BitrixAPIError, BitrixSDKException

try:
    bitrix_response = client.bizproc.workflow.template.list(
        select=[
            "ID",
            "NAME",
            "USER_ID",
            "SYSTEM_CODE",
        ],
        filter={
            "MODULE_ID": "lists",
            "AUTO_EXECUTE": 0,
        },
        order={
            "ID": "DESC",
        },
    ).as_list_fast(descending=True).response
    result = bitrix_response.result
    for item in result:
        print(item)
except BitrixAPIError as error:
    print(
        "Ошибка Bitrix API",
        f"error: {error.error}",
        f"error_description: {error.error_description}",
        sep="\n",
    )
except BitrixSDKException as error:
    print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
    print(f"Непредвиденная ошибка: {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>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "bizproc.workflow.template.list", b24.Params{
	"SELECT": []string{"ID", "NAME", "USER_ID", "SYSTEM_CODE"},
	"FILTER": b24.Params{
		"MODULE_ID":    "lists",
		"AUTO_EXECUTE": 0,
	},
	"ORDER": b24.Params{
		"ID": "DESC",
	},
}, b24.WithIdempotent())
if err != nil {
	return fmt.Errorf("bizproc.workflow.template.list: %w", err)
}

// Ответ приходит как json.RawMessage — разберите его
// в структуру под форму ответа, показанную ниже на этой странице.
fmt.Printf("%s\n", res.Result)

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

HTTP-статус: 200

{
    "result": [
        {
            "ID": "525",
            "NAME": "Вывести время",
            "USER_ID": "503",
            "SYSTEM_CODE": "rest_app_5"
        },
        {
           "ID": "379",
           "NAME": "App template",
           "USER_ID": "503",
           "SYSTEM_CODE": "rest_app_5"
        }
    ],
    "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
array

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

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

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

total
integer

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

time
time

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

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

HTTP-статус: 400

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

Название
тип

Описание

error
string

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

error_description
string

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

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

Код

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

Описание

ACCESS_DENIED

Access denied!

Метод запустил не администратор

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

HTTP-статус: 4xx, 5xx

Описанные ниже ошибки возвращает сам REST API, а не логика конкретного метода. Они могут прийти в ответ на любой метод.

Статус

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

Описание

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

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

429

OPERATION_TIME_LIMIT
Method is blocked due to operation time limit

Метод заблокирован из-за превышения лимита на ресурсоемкость запросов. Блокировка снимается автоматически, когда накопленное время выполнения метода перестает превышать лимит

401

NO_AUTH_FOUND
Wrong authorization data

В запросе нет авторизационных данных: не передан ни access-токен, ни код вебхука

401

INVALID_REQUEST
Https required

Методы вызываются только по протоколу HTTPS

401

OVERLOAD_LIMIT
REST API is blocked due to overload

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

401

ACCESS_DENIED
REST is available only on commercial plans

REST API доступен только на коммерческих тарифах. У вебхука текст ошибки другой — REST is available only by subscription

401

INVALID_CREDENTIALS
Invalid request credentials

Не найден активный вебхук с указанным идентификатором пользователя и секретным кодом

404

ERROR_METHOD_NOT_FOUND
Method not found!

Метод с таким именем не найден. Имя написано с ошибкой, метода нет в REST API или он недоступен без нужного скоупа

401

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

Запрос требует более широких прав, чем есть у токена: у вебхука это выданные ему права, у приложения — скоуп. У приложения текст ошибки заканчивается на provided by the access token

401

expired_token
The access token provided has expired

Срок действия access-токена истек

401

user_access_error
The user does not have access to the application

Приложение установлено, но администратор Битрикс24 открыл доступ к нему только конкретным пользователям

403

PORTAL_DELETED
Portal was deleted

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

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

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