bizproc.workflow.template.list
Получить список шаблонов
Описание
Метод получает список шаблонов бизнес-процессов, которые созданы в дизайнере.
Шаблоны роботов, настроенных на стадиях элементов 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}")
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}")
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!"
}
| Код | Описание | Значение |
|---|---|---|
ACCESS_DENIED |
Access denied! | Метод запустил не администратор |

