Блог Горошко Андрея Bitrix24,PHP Получить поля воронки crm.category.fields

Получить поля воронки crm.category.fields

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Получить поля воронки crm.category.fields», проанализируем лучшие практики и покажем, как правильно использовать crm.category.fields в реальных задачах.

Получить поля воронки crm.category.fields

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

Метод получает информацию о полях воронок (направлений) объекта CRM.

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

Название
тип
Описание
entityTypeId*
[integer][1]
Идентификатор системного или пользовательского типа объектов CRM, для которого нужно получить информацию о полях воронки

Примеры кода

  • cURL (Webhook)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"entityTypeId":2}' \
    https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.category.fields
  • cURL (OAuth)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"entityTypeId":2,"auth":"**put_access_token_here**"}' \
    https://**put_your_bitrix24_address**/rest/crm.category.fields
  • JS
    try
    {
    	const response = await $b24.callMethod(
    		"crm.category.fields",
    		{
    			entityTypeId: 2,
    		}
    	);
    	
    	const result = response.getData().result;
    	console.info(result);
    }
    catch( error )
    {
    	console.error(error);
    }
  • PHP
    try {
        $response = $b24Service
            ->core
            ->call(
                'crm.category.fields',
                [
                    'entityTypeId' => 2,
                ]
            );
    
        $result = $response
            ->getResponseData()
            ->getResult();
    
        if ($result->error()) {
            echo 'Error: ' . $result->error();
        } else {
            echo 'Data: ' . print_r($result->data(), true);
        }
    
    } catch (Throwable $e) {
        error_log($e->getMessage());
        echo 'Error calling crm.category.fields: ' . $e->getMessage();
    }
  • BX24.js
    BX24.callMethod(
        "crm.category.fields",
        {
            entityTypeId: 2,
        },
        (result) => {
            if (result.error())
            {
                console.error(result.error());
            }
            else
            {
                console.info(result.data());
            }
        },
    );
  • PHP CRest
    require_once('crest.php');

    $result = CRest::call(
        'crm.category.fields',
        [
            'entityTypeId' => 2
        ]
    );

    echo '<PRE>';
    print_r($result);
    echo '</PRE>';

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

HTTP-статус: 200

{
    "result": {
        "fields": {
            "id": {
                "type": "integer",
                "isRequired": false,
                "isReadOnly": true,
                "isImmutable": false,
                "isMultiple": false,
                "isDynamic": false,
                "title": "ID",
                "upperName": "ID"
            },
            "name": {
                "type": "string",
                "isRequired": false,
                "isReadOnly": false,
                "isImmutable": false,
                "isMultiple": false,
                "isDynamic": false,
                "title": "NAME",
                "upperName": "NAME"
            },
            "sort": {
                "type": "integer",
                "isRequired": false,
                "isReadOnly": false,
                "isImmutable": false,
                "isMultiple": false,
                "isDynamic": false,
                "title": "SORT",
                "upperName": "SORT"
            },
            "entityTypeId": {
                "type": "integer",
                "isRequired": true,
                "isReadOnly": true,
                "isImmutable": false,
                "isMultiple": false,
                "isDynamic": false,
                "title": "ENTITY_TYPE_ID",
                "upperName": "ENTITY_TYPE_ID"
            },
            "isDefault": {
                "type": "boolean",
                "isRequired": false,
                "isReadOnly": true,
                "isImmutable": false,
                "isMultiple": false,
                "isDynamic": false,
                "title": "IS_DEFAULT",
                "upperName": "IS_DEFAULT"
            },
            "originId": {
                "type": "string",
                "isRequired": false,
                "isReadOnly": false,
                "isImmutable": false,
                "isMultiple": false,
                "isDynamic": false,
                "title": "ORIGIN_ID",
                "upperName": "ORIGIN_ID"
            },
            "originatorId": {
                "type": "string",
                "isRequired": false,
                "isReadOnly": false,
                "isImmutable": false,
                "isMultiple": false,
                "isDynamic": false,
                "title": "ORIGINATOR_ID",
                "upperName": "ORIGINATOR_ID"
            }
        }
    },
    "time": {
        "start": 1718098629.350263,
        "finish": 1718098629.800741,
        "duration": 0.45047783851623535,
        "processing": 0.02919292449951172,
        "date_start": "2024-06-11T11:37:09+02:00",
        "date_finish": "2024-06-11T11:37:09+02:00",
        "operating": 0
    }
}

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

Название
тип
Описание
result
object
Объект со списком доступных полей в формате {"field_1": "value_1", ... "field_N": "value_N"}, где field_N – идентификатор поля объекта, а value — объект типа crm_rest_field_description
time
time
Информация о времени выполнения запроса

Описание полей fields {#fields}

Название
тип
Описание
id
[integer][1]
Идентификатор воронки (направления)
name
[string][1]
Название воронки
sort
[integer][1]
Индекс сортировки
entityTypeId
[integer][1]
Идентификатор системного или пользовательского типа, к которому принадлежит воронка
isDefault
[boolean][1]
Является ли воронка, воронкой по умолчанию
originId
[string][1]
Идентификатор источника данных.

Существует только в cделках

originatorId
[string][1]
Идентификатор элемента в источнике данных.

Существует только в cделках

isSystem
[boolean][1]
Является ли воронка системной.

Существует только в смарт-процессах

code
[string][1]
Псевдоним для системных воронок.

Существует только в смарт-процессах

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

HTTP-статус: 400

{
    "error": "NOT_FOUND", 
    "error_description": "Смарт-процесс не найден"
}

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

КодОписаниеЗначение
NOT_FOUNDСмарт-процесс не найденВозникает, при некорректных значениях entityTypeId
ENTITY_TYPE_NOT_SUPPORTEDEntity type {entityTypeName} is not supportedВозникает, если сущность CRM не поддерживает воронки
  • [](./crm-category-add)
  • [](./crm-category-update)
  • [](./crm-category-get)
  • [](./crm-category-list)
  • [](./crm-category-delete)

[1]: ../../../data-types.md

💡 Экспертное мнение и рекомендации

Ключевые выводы по теме «Получить поля воронки crm.category.fields»:

Использование современных стандартов D7 при работе с crm.category.fields позволяет писать чистый, масштабируемый и безопасный код. Не забывайте обрабатывать исключения (try/catch) и проверять права доступа текущего пользователя перед выполнением критических операций.

Похожая задача в бизнесе?

Помогу автоматизировать процессы и внедрить ИИ

Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.

Related Post

Аудит конверсии и юзабилити (UX/UI) интернет-магазина на БитриксАудит конверсии и юзабилити (UX/UI) интернет-магазина на Битрикс

Профессиональная поддержка, модернизация и оптимизация производительности сайта на 1С-Битрикс — это гарантия высокой конверсии, стабильности продаж и защиты от киберугроз. Услуга «Аудит конверсии и юзабилити (UX/UI) интернет-магазина на Битрикс» включает

Получить настройки платежной системы sale.paysystem.settings.getПолучить настройки платежной системы sale.paysystem.settings.get

Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Получить настройки платежной системы sale.paysystem.settings.get». Вы узнаете экспертные методики работы с sale.paysystem.settings.get и

Добавить перевод названия типа цены catalog.priceTypeLang.addДобавить перевод названия типа цены catalog.priceTypeLang.add

Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Добавить перевод названия типа цены catalog.priceTypeLang.add». Вы узнаете экспертные методики работы с catalog.priceTypeLang.add