Получить параметры карточки элементов crm.item.details.configuration.get
Выберите инструмент для разработки с AI-агентом:
- используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
- используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации
Scope:
crmКто может выполнять метод: проверка прав при выполнении метода зависит от переданных данных:
- Любой пользователь имеет право получить свои и общие настройки
- Пользователь имеет право получить чужие настройки только если он является администратором
Метод crm.item.details.configuration.get возвращает настройки карточки определенного объекта CRM. Может работать как с личными настройками карточки указанного пользователя, так и с общими настройками, заданными для всех пользователей.
Примечание
- Настройки карточки повторных лидов могут отличаться от настроек карточки простых лидов. Для переключения между настройками карточек лидов применяется параметр
extras.leadCustomerType. - Настройки карточки элемента могут отличаться в зависимости от их воронки. Для переключения используется параметры
extras.categoryId— для смарт-процессовextras.dealCategoryId— для сделок
Параметры метода
Обязательные параметры отмечены *
|
Название |
Описание |
|
entityTypeId* |
Идентификатор системного или пользовательского типа объектов CRM |
|
userId |
Идентификатор пользователя, чью конфигурацию вы хотите получить. Если данный параметр не передан, то будет взят Нужен только при запросе личных настроек |
|
scope |
Область применения настроек. Допустимые значения:
По умолчанию значение равно |
|
extras |
Дополнительные параметры. Возможные значения и их структура описана ниже |
extras
Параметр в extras зависит от объекта CRM.
|
Объект CRM |
Название |
Описание |
|
Смарт-процесс |
|
Идентификатор воронки смарт-процессов. Можно получить с помощью Если не указано, то берется идентификатор воронки по умолчанию для данного смарт-процесса |
|
Сделка |
|
Идентификатор воронки сделок. Можно получить с помощью Если не указан, то берется идентификатор воронки по умолчанию для сделок |
|
Лид |
|
Тип лидов. Возможные значения:
|
Примеры кода
Как использовать примеры в документации
-
Получить общую конфигурацию карточки элементов для сделок, находящихся в воронке с
id = 9, для пользователя сid = 1cURL (Webhook)cURL (OAuth)JS (TS)JS (UMD)PythonPHPGocurl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{"entityTypeId":2,"userId":1,"scope":"C","extras":{"dealCategoryId":9}}' \ https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.item.details.configuration.getcurl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{"entityTypeId":2,"userId":1,"scope":"C","extras":{"dealCategoryId":9},"auth":"**put_access_token_here**"}' \ https://**put_your_bitrix24_address**/rest/crm.item.details.configuration.get// This snippet is an ES module: top-level await requires type="module" or a bundler. // $b24 is an already-initialized SDK instance (see the SDK "Get started" guide). import { Text } from '@bitrix24/b24jssdk' import type { B24Frame } from '@bitrix24/b24jssdk' declare const $b24: B24Frame // Shape of the payload returned in result (match the "response handling" section of the page) type SectionElement = { name: string optionFlags: string options?: Record<string, string> } type Section = { name: string title: string type: string elements: SectionElement[] } try { const response = await $b24.actions.v2.call.make<Section[] | null>({ method: 'crm.item.details.configuration.get', params: { entityTypeId: 2, userId: 1, scope: 'C', extras: { dealCategoryId: 9, }, }, requestId: Text.getUuidRfc4122() }) // The payload is available only on a successful response if (!response.isSuccess) { console.error(response.getErrorMessages().join('; ')) } else { const result = response.getData()!.result console.info('Sections count:', result?.length ?? 0, 'first section:', result?.[0]?.name) } } catch (error) { // Thrown on transport or SDK failures (AjaxError, SdkError, etc.) console.error(error) }<!-- Load the SDK (UMD build); it is exposed as the global B24Js --> <script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script> <script> async function getDetailsConfiguration() { try { // Initialize the SDK inside a Bitrix24 frame const $b24 = await B24Js.initializeB24Frame() const response = await $b24.actions.v2.call.make({ method: 'crm.item.details.configuration.get', params: { entityTypeId: 2, userId: 1, scope: 'C', extras: { dealCategoryId: 9, }, }, requestId: B24Js.Text.getUuidRfc4122() }) // The payload is available only on a successful response if (!response.isSuccess) { console.error(response.getErrorMessages().join('; ')) return } const result = response.getData().result console.info('Sections count:', result?.length ?? 0, 'first section:', result?.[0]?.name) } catch (error) { // Thrown on transport or SDK failures (AjaxError, SdkError, etc.) console.error(error) } } document.addEventListener('DOMContentLoaded', getDetailsConfiguration) </script>from b24pysdk.errors import BitrixAPIError, BitrixSDKException try: bitrix_response = client.crm.item.details.configuration.get( entity_type_id=1032, extras={ "categoryId": 5, }, ).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}")require_once('crest.php'); $result = CRest::call( 'crm.item.details.configuration.get', [ 'entityTypeId' => 2, 'userId' => 1, 'scope' => "C", 'extras' => [ 'dealCategoryId' => 9, ] ] ); echo '<PRE>'; print_r($result); echo '</PRE>';// client и ctx уже созданы — см. раздел «SDK для Go» res, err := client.Core().Call(ctx, "crm.item.details.configuration.get", b24.Params{ "entityTypeId": 2, "userId": 1, "scope": "C", "extras": b24.Params{ "dealCategoryId": 9, }, }, b24.WithIdempotent()) if err != nil { return fmt.Errorf("crm.item.details.configuration.get: %w", err) } var items []struct { Name string `json:"name"` Title string `json:"title"` Type string `json:"type"` } if err := json.Unmarshal(res.Result, &items); err != nil { return fmt.Errorf("разбор ответа: %w", err) } for _, it := range items { fmt.Println(it.Name, it.Title) } -
Получить личную конфигурацию карточки элементов смарт-процесса с
entityTypeId = 1032в воронке сid = 5cURL (Webhook)cURL (OAuth)JS (TS)JS (UMD)PythonPHPGocurl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{"entityTypeId":1032,"extras":{"categoryId":5}}' \ https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.item.details.configuration.getcurl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{"entityTypeId":1032,"extras":{"categoryId":5},"auth":"**put_access_token_here**"}' \ https://**put_your_bitrix24_address**/rest/crm.item.details.configuration.get// This snippet is an ES module: top-level await requires type="module" or a bundler. // $b24 is an already-initialized SDK instance (see the SDK "Get started" guide). import { Text } from '@bitrix24/b24jssdk' import type { B24Frame } from '@bitrix24/b24jssdk' declare const $b24: B24Frame // Shape of the payload returned in result (match the "response handling" section of the page) type SectionElement = { name: string optionFlags: string options?: Record<string, string> } type Section = { name: string title: string type: string elements: SectionElement[] } try { const response = await $b24.actions.v2.call.make<Section[] | null>({ method: 'crm.item.details.configuration.get', params: { entityTypeId: 1032, extras: { categoryId: 5, }, }, requestId: Text.getUuidRfc4122() }) // The payload is available only on a successful response if (!response.isSuccess) { console.error(response.getErrorMessages().join('; ')) } else { const result = response.getData()!.result console.info('Sections count:', result?.length ?? 0, 'first section:', result?.[0]?.name) } } catch (error) { // Thrown on transport or SDK failures (AjaxError, SdkError, etc.) console.error(error) }<!-- Load the SDK (UMD build); it is exposed as the global B24Js --> <script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script> <script> async function getDetailsConfiguration() { try { // Initialize the SDK inside a Bitrix24 frame const $b24 = await B24Js.initializeB24Frame() const response = await $b24.actions.v2.call.make({ method: 'crm.item.details.configuration.get', params: { entityTypeId: 1032, extras: { categoryId: 5, }, }, requestId: B24Js.Text.getUuidRfc4122() }) // The payload is available only on a successful response if (!response.isSuccess) { console.error(response.getErrorMessages().join('; ')) return } const result = response.getData().result console.info('Sections count:', result?.length ?? 0, 'first section:', result?.[0]?.name) } catch (error) { // Thrown on transport or SDK failures (AjaxError, SdkError, etc.) console.error(error) } } document.addEventListener('DOMContentLoaded', getDetailsConfiguration) </script>from b24pysdk.errors import BitrixAPIError, BitrixSDKException try: bitrix_response = client.crm.item.details.configuration.get( entity_type_id=1032, extras={ "categoryId": 5, }, ).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}")require_once('crest.php'); $result = CRest::call( 'crm.item.details.configuration.get', [ 'entityTypeId' => 1032, 'extras' => [ 'categoryId' => 5, ] ] ); echo '<PRE>'; print_r($result); echo '</PRE>';// client и ctx уже созданы — см. раздел «SDK для Go» res, err := client.Core().Call(ctx, "crm.item.details.configuration.get", b24.Params{ "entityTypeId": 1032, "extras": b24.Params{ "categoryId": 5, }, }, b24.WithIdempotent()) if err != nil { return fmt.Errorf("crm.item.details.configuration.get: %w", err) } var items []struct { Name string `json:"name"` Title string `json:"title"` Type string `json:"type"` } if err := json.Unmarshal(res.Result, &items); err != nil { return fmt.Errorf("разбор ответа: %w", err) } for _, it := range items { fmt.Println(it.Name, it.Title) }
Обработка ответа
HTTP-статус: 200
{
"result": [
{
"name": "main",
"title": "О сделке",
"type": "section",
"elements": [
{
"name": "TITLE",
"optionFlags": "0"
},
{
"name": "STAGE_ID",
"optionFlags": "0"
},
{
"name": "OPPORTUNITY_WITH_CURRENCY",
"optionFlags": "0"
},
{
"name": "CLOSEDATE",
"optionFlags": "0"
},
{
"name": "CLIENT",
"optionFlags": "1",
"options": {
"defaultCountry": "RU"
}
},
{
"name": "UF_CRM_1686898039656",
"optionFlags": "1"
}
]
},
{
"name": "additional",
"title": "Дополнительно",
"type": "section",
"elements": [
{
"name": "TYPE_ID",
"optionFlags": "0"
},
{
"name": "SOURCE_ID",
"optionFlags": "0"
},
{
"name": "SOURCE_DESCRIPTION",
"optionFlags": "0"
},
{
"name": "BEGINDATE",
"optionFlags": "0"
},
{
"name": "OPENED",
"optionFlags": "0"
},
{
"name": "ASSIGNED_BY_ID",
"optionFlags": "0"
},
{
"name": "OBSERVER",
"optionFlags": "0"
},
{
"name": "COMMENTS",
"optionFlags": "0"
},
{
"name": "UTM",
"optionFlags": "0"
}
]
},
{
"name": "products",
"title": "Товары",
"type": "section",
"elements": [
{
"name": "PRODUCT_ROW_SUMMARY",
"optionFlags": "0"
}
]
},
{
"name": "recurring",
"title": "Регулярная сделка",
"type": "section",
"elements": [
{
"name": "RECURRING",
"optionFlags": "0"
}
]
}
],
"time": {
"start": 1720624891.017344,
"finish": 1720624891.405621,
"duration": 0.3882770538330078,
"processing": 0.02097320556640625,
"date_start": "2024-07-10T17:21:31+02:00",
"date_finish": "2024-07-10T17:21:31+02:00",
"operating": 0
}
}
Возвращаемые данные
|
Название |
Описание |
|
result |
Корневой элемент ответа. Содержит конфигурацию разделов детальной карточки элемента. Возвращает |
|
time |
Информация о времени выполнения запроса |
section
Описывает отдельно взятый раздел с полями внутри карточки элемента
|
Название |
Описание |
|
name |
Уникальное название раздела, используемое для идентификации |
|
title |
Название раздела |
|
type |
Тип раздела |
|
elements |
Список выводимых в карточку полей сущности с дополнительными настройками |
section_element
Конфигурация отдельно взятого поля внутри раздела
|
Название |
Описание |
|
name |
Идентификатор поля |
|
optionFlags |
Значения:
|
|
options |
Дополнительные опции поля |
Обработка ошибок
HTTP-статус: 400
{
"error": "",
"error_description": "Parameter 'entityTypeId' is not defined"
}
|
Название |
Описание |
|
error |
Строковый код ошибки. Состоит из цифр, латинских букв и знака подчеркивания. Может прийти пустым — тогда причину показывает только |
|
error_description |
Текст ошибки для разработчика. Не показывайте его конечному пользователю без обработки |
Возможные коды ошибок
|
Код |
Описание |
Значение |
|
Пустое значение |
Parameter 'entityTypeId' is not defined |
Не передан обязательный параметр |
|
Пустое значение |
The entity type ' |
Метод не поддерживает данный тип сущности |
|
Пустое значение |
Access denied. |
У пользователя нет административных прав |
Статусы и коды системных ошибок
HTTP-статус: 4xx, 5xx
Описанные ниже ошибки возвращает сам REST API, а не логика конкретного метода. Они могут прийти в ответ на любой метод.
|
Статус |
Код |
Описание |
|
|
|
Возникла внутренняя ошибка сервера. Повторите вызов, а если ошибка сохраняется, обратитесь к администратору сервера или в техническую поддержку Битрикс24 |
|
|
|
Сервер вернул неожиданный ответ. Повторите вызов, а если ошибка сохраняется, обратитесь к администратору сервера или в техническую поддержку Битрикс24 |
|
|
|
Превышен лимит на интенсивность запросов |
|
|
|
Метод заблокирован из-за превышения лимита на ресурсоемкость запросов. Блокировка снимается автоматически, когда накопленное время выполнения метода перестает превышать лимит |
|
|
|
В запросе нет авторизационных данных: не передан ни access-токен, ни код вебхука |
|
|
|
Методы вызываются только по протоколу HTTPS |
|
|
|
REST API заблокирован из-за перегрузки. Это ручная индивидуальная блокировка. Чтобы ее снять, обратитесь в техническую поддержку Битрикс24 |
|
|
|
REST API доступен только на коммерческих тарифах. У вебхука текст ошибки другой — |
|
|
|
Не найден активный вебхук с указанным идентификатором пользователя и секретным кодом |
|
|
|
Метод с таким именем не найден. Имя написано с ошибкой, метода нет в REST API или он недоступен без нужного скоупа |
|
|
|
Запрос требует более широких прав, чем есть у токена: у вебхука это выданные ему права, у приложения — скоуп. У приложения текст ошибки заканчивается на |
|
|
|
Срок действия access-токена истек |
|
|
|
Приложение установлено, но администратор Битрикс24 открыл доступ к нему только конкретным пользователям |
|
|
|
Публичная часть сайта закрыта. Чтобы открыть ее на коробочной установке, отключите опцию «Временное закрытие публичной части сайта». Путь к настройке: Рабочий стол > Настройки > Настройки продукта > Настройки модулей > Главный модуль > Временное закрытие публичной части сайта |
Продолжите изучение
- Разделы в детальной карточке CRM: обзор методов
- Установить параметры карточки элементов crm.item.details.configuration.set
- Сбросить параметры карточки элементов crm.item.details.configuration.reset
- Установить общую карточку для всех пользователей crm.item.details.configuration.forceCommonScopeForAll