Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Получить список пользовательских типов crm.type.list». Вы узнаете экспертные методики работы с crm.type.list и научитесь избегать типичных ошибок начинающих разработчиков.
Получить список пользовательских типов crm.type.list
> Scope: crm
>
> Кто может выполнять метод: любой пользователь с административным доступом к разделу CRM
Метод получает список настроек смарт-процессов.
Параметры метода
Названиетип | Описание |
|---|---|
| order [ object][1] | Объект формата: { field_1: value_1, field_2: value_2, ..., field_n: value_n }, гдеfield_n: название поля по которому будет произведена сортировка выборки смарт-процессовvalue_n: значение типа string, равное: ASC — сортировка по возрастаниюDESC — сортировка по убываниюВозможные значения для |
| filter [ object][1] | Объект формата: { field_1: value_1, field_2: value_2, ..., field_n: value_n }, гдеfield_n: название поля по которому будет отфильтрована выборка смарт-процессовvalue_n: значение фильтраВозможные значения для Фильтр может иметь неограниченную вложенность и количество условий. К ключам |
| start [ integer][1] | Параметр используется для управления постраничной навигацией. Размер страницы результатов всегда статичный — 50 записей. Чтобы выбрать вторую страницу результатов, передайте значение Формула расчета значения параметра
|
Практические примеры использования в коде
1. Получить список всех смарт-процессов, у которых title содержит или 5, или 0. Полученный список отсортировать по убыванию id
- cURL (Webhook)
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"filter":[{"logic":"OR",{"%title":"5"},{"%title":"0"}]},"order":{"id":"DESC"}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webbhook_here**/crm.type.list- cURL (OAuth)
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"filter":[{"logic":"OR",{"%title":"5"},{"%title":"0"}]},"order":{"id":"DESC"},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/crm.type.list- JS
BX24.callMethod(
'crm.type.list',
{
filter: {
"0": {
logic: 'OR',
"0": {
"%title": "5",
},
"1": {
"%title": "0",
},
},
},
order: {
id: 'DESC',
},
},
(result) => {
if (result.error())
{
console.error(result.error());
return;
}
console.info(result.data());
},
);- PHP
require_once('crest.php');
$result = CRest::call(
'crm.type.list',
[
'filter' => [
[
'logic' => 'OR',
[
'%title' => '5',
],
[
'%title' => '0',
],
],
],
'order' => [
'id' => 'DESC',
],
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';2. Получить список смарт-процессов, у которых:
- Включены роботы и триггеры (
isAutomationEnabled) - Включен дизайнер бизнес процессов (
isBizProcEnabled) - Включены свои воронки и туннели продаж (
isCategoriesEnabled) - Включены свои стадии и канбан (
isClientEnabled)
- cURL (Webhook)
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"filter":{"isAutomationEnabled":"Y","isBizProcEnabled":"Y","isCategoriesEnabled":"Y","isClientEnabled":"Y"}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.type.list- cURL (OAuth)
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"filter":{"isAutomationEnabled":"Y","isBizProcEnabled":"Y","isCategoriesEnabled":"Y","isClientEnabled":"Y"},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/crm.type.list- JS
BX24.callMethod(
'crm.type.list',
{
filter: {
isAutomationEnabled: 'Y',
isBizProcEnabled: "Y",
isCategoriesEnabled: "Y",
isClientEnabled: "Y",
},
},
(result) => {
if (result.error())
{
console.error(result.error());
return;
}
console.info(result.data());
},
);- PHP
require_once('crest.php');
$result = CRest::call(
'crm.type.list',
[
'filter' => [
'isAutomationEnabled' => 'Y',
'isBizProcEnabled' => 'Y',
'isCategoriesEnabled' => 'Y',
'isClientEnabled' => 'Y',
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';Обработка ответа
HTTP-статус: 200
{
"result": {
"types": [
{
"id": 37,
"title": "Смарт-процесс #20",
"code": "",
"createdBy": 1,
"entityTypeId": 1256,
"customSectionId": null,
"isCategoriesEnabled": "Y",
"isStagesEnabled": "N",
"isBeginCloseDatesEnabled": "Y",
"isClientEnabled": "Y",
"isUseInUserfieldEnabled": "Y",
"isLinkWithProductsEnabled": "N",
"isMycompanyEnabled": "Y",
"isDocumentsEnabled": "Y",
"isSourceEnabled": "Y",
"isObserversEnabled": "Y",
"isRecyclebinEnabled": "Y",
"isAutomationEnabled": "Y",
"isBizProcEnabled": "N",
"isSetOpenPermissions": "N",
"isPaymentsEnabled": "N",
"isCountersEnabled": "N",
"createdTime": "2024-07-08T17:24:55+02:00",
"updatedTime": "2024-07-08T17:24:55+02:00",
"updatedBy": 1
},
{
"id": 32,
"title": "Смарт-процесс #15",
"code": "",
"createdBy": 1,
"entityTypeId": 1246,
"customSectionId": null,
"isCategoriesEnabled": "N",
"isStagesEnabled": "Y",
"isBeginCloseDatesEnabled": "N",
"isClientEnabled": "Y",
"isUseInUserfieldEnabled": "Y",
"isLinkWithProductsEnabled": "Y",
"isMycompanyEnabled": "N",
"isDocumentsEnabled": "N",
"isSourceEnabled": "N",
"isObserversEnabled": "N",
"isRecyclebinEnabled": "N",
"isAutomationEnabled": "N",
"isBizProcEnabled": "Y",
"isSetOpenPermissions": "Y",
"isPaymentsEnabled": "N",
"isCountersEnabled": "N",
"createdTime": "2024-07-08T17:24:52+02:00",
"updatedTime": "2024-07-08T17:24:52+02:00",
"updatedBy": 1
},
{
"id": 27,
"title": "Смарт-процесс #10",
"code": "",
"createdBy": 1,
"entityTypeId": 1236,
"customSectionId": null,
"isCategoriesEnabled": "N",
"isStagesEnabled": "Y",
"isBeginCloseDatesEnabled": "Y",
"isClientEnabled": "Y",
"isUseInUserfieldEnabled": "N",
"isLinkWithProductsEnabled": "N",
"isMycompanyEnabled": "Y",
"isDocumentsEnabled": "N",
"isSourceEnabled": "Y",
"isObserversEnabled": "N",
"isRecyclebinEnabled": "N",
"isAutomationEnabled": "Y",
"isBizProcEnabled": "Y",
"isSetOpenPermissions": "Y",
"isPaymentsEnabled": "N",
"isCountersEnabled": "N",
"createdTime": "2024-07-08T17:24:50+02:00",
"updatedTime": "2024-07-08T17:24:50+02:00",
"updatedBy": 1
},
{
"id": 22,
"title": "Смарт-процесс #5",
"code": "",
"createdBy": 1,
"entityTypeId": 1226,
"customSectionId": null,
"isCategoriesEnabled": "Y",
"isStagesEnabled": "N",
"isBeginCloseDatesEnabled": "N",
"isClientEnabled": "N",
"isUseInUserfieldEnabled": "Y",
"isLinkWithProductsEnabled": "Y",
"isMycompanyEnabled": "N",
"isDocumentsEnabled": "N",
"isSourceEnabled": "Y",
"isObserversEnabled": "Y",
"isRecyclebinEnabled": "Y",
"isAutomationEnabled": "N",
"isBizProcEnabled": "Y",
"isSetOpenPermissions": "Y",
"isPaymentsEnabled": "N",
"isCountersEnabled": "N",
"createdTime": "2024-07-08T17:24:48+02:00",
"updatedTime": "2024-07-08T17:24:48+02:00",
"updatedBy": 1
}
]
},
"time": {
"start": 1720516793.835427,
"finish": 1720516794.697913,
"duration": 0.8624858856201172,
"processing": 0.07323503494262695,
"date_start": "2024-07-09T11:19:53+02:00",
"date_finish": "2024-07-09T11:19:54+02:00",
"operating": 0
},
"total": 4
}Возвращаемые данные
Названиетип | Описание |
|---|---|
| result [ object][1] | Корневой элемент ответа. Содержит единственный ключ types |
typestype[] | Список смарт-процессов, каждый из которых соответствует структуре объекта type |
| time [ time][1] | Информация о времени выполнения запроса |
| total [ integer][1] | Общее количество найденных записей |
Обработка ошибок
HTTP-статус: 400
{
"error": "ACCESS_DENIED",
"error_description": "Доступ запрещен"
}Возможные коды ошибок
| Статус | Код | Описание | Значение |
|---|---|---|---|
403 | allowed_only_intranet_user | Действие разрешено только интранет-пользователям | Возникает, если пользователь не является интранет-пользователем |
400 | ACCESS_DENIED | Доступ запрещен | Возникает, если у пользователя нет административных прав CRM |
400 | INVALID_ARG_VALUE | Invalid filter: field 'field_n' is not allowed in filter | Возникает, при передаче отсутствующего в смарт-процессе поля field_n в параметр filter |
400 | INVALID_ARG_VALUE | Invalid filter: field 'field_n' has invalid value | Возникает, при передаче некорректного value_n для поля field_n в параметр filter |
400 | INVALID_ARG_VALUE | Invalid order: field 'field_n' is not allowed in order | Возникает, при передаче отсутствующего в смарт-процессе поля field_n в параметр order |
400 | INVALID_ARG_VALUE | Invalid order: allowed sort directions are ASC, DESC. But got 'invalid_value' for field 'field_n' | Возникает, при передаче некорректного value_n для поля field_n в параметр order |
- [](./index)
- [](./crm-type-add)
- [](./crm-type-update)
- [](./crm-type-get)
- [](./crm-type-get-by-entity-type-id)
- [](./crm-type-delete)
- [](./crm-type-fields)
- [](../../../../tutorials/crm/how-to-add-crm-objects/how-to-add-user-field-to-spa)
- [](../../../../tutorials/crm/how-to-add-crm-objects/how-to-add-category-to-spa)
[1]: ../../../data-types.md
💡 Экспертное мнение и рекомендации
Практические рекомендации:
- При написании кастомных компонентов для «Получить список пользовательских типов crm.type.list» всегда разделяйте бизнес-логику и представление (шаблон).
- Используйте отладку SQL-запросов через конструкцию
$wpdb->last_queryили стандартный трекер Битрикса, чтобы контролировать нагрузку.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru