Получить параметры карточки crm.lead.details.configuration.get

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

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

Scope: crm

Кто может выполнять метод:

  • любой пользователь может получать свои и общие настройки,
  • пользователь с правом «Разрешить изменять настройки» в CRM может получать чужие настройки

DEPRECATED

Развитие метода остановлено. Используйте crm.item.details.configuration.get.

Метод crm.lead.details.configuration.get получает настройки карточки лидов.

Важно

Настройки карточки повторных лидов могут отличаться от настроек карточки простых лидов. Для переключения между настройками карточек лидов используйте параметр lead.customer.type в extras.

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

Обязательные параметры отмечены *

Название
тип

Описание

userId
user

Идентификатор пользователя, для которого нужно получить личную конфигурацию.

Если параметр не передан, будет использован userId пользователя, который вызывает метод.

Нужен только при запросе личных настроек

scope
string

Область применения настроек. Возможные значения:

  • 'P' - личные настройки
  • 'C' - общие настройки

По умолчанию используется значение 'P'

extras
object

Дополнительные параметры. Структура описана ниже

Параметр extras

Название
тип

Описание

lead.customer.type
integer

Тип лида. Возможные значения:

  • 1 - простой лид
  • 2 - повторный лид

Примеры кода

Как использовать примеры в документации

  1. Получить личную конфигурацию карточки

    curl -X POST \
            -H "Content-Type: application/json" \
            -H "Accept: application/json" \
            -d '{"scope":"P","userId":1}' \
            https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.lead.details.configuration.get
            
    curl -X POST \
            -H "Content-Type: application/json" \
            -H "Accept: application/json" \
            -d '{"scope":"P","userId":1,"auth":"**put_access_token_here**"}' \
            https://**put_your_bitrix24_address**/rest/crm.lead.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
            
            type CrmLeadCardSectionElement = {
              name: string
              optionFlags: string
            }
            
            // Shape of the payload returned in result (match the "response handling" section of the page)
            type CrmLeadCardSection = {
              name: string
              title: string
              type: string
              elements: CrmLeadCardSectionElement[]
            }
            
            try {
              const response = await $b24.actions.v2.call.make<CrmLeadCardSection[] | null>({
                method: 'crm.lead.details.configuration.get',
                params: {
                  scope: 'P',
                  userId: 1,
                },
                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('Card sections:', result)
              }
            } 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 getLeadCardConfiguration() {
                try {
                  // Initialize the SDK inside a Bitrix24 frame
                  const $b24 = await B24Js.initializeB24Frame()
            
                  const response = await $b24.actions.v2.call.make({
                    method: 'crm.lead.details.configuration.get',
                    params: {
                      scope: 'P',
                      userId: 1,
                    },
                    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('Card sections:', result)
                } catch (error) {
                  // Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
                  console.error(error)
                }
              }
            
              document.addEventListener('DOMContentLoaded', getLeadCardConfiguration)
            </script>
            
    try {
                $response = $b24Service
                    ->core
                    ->call(
                        'crm.lead.details.configuration.get',
                        [
                            'scope' => 'P',
                            'userId' => 1
                        ]
                    );
            
                $result = $response
                    ->getResponseData()
                    ->getResult();
            
                echo 'Success: ' . print_r($result, true);
                processData($result);
            
            } catch (Throwable $e) {
                error_log($e->getMessage());
                echo 'Error: ' . $e->getMessage();
            }
            
     BX24.callMethod(
                 'crm.lead.details.configuration.get',
                 {
                     scope: "P",
                     userId: 1,
                 },
                 (result) => {
                     result.error()
                         ? console.error(result.error())
                         : console.info(result.data())
                     ;
                 },
             );
            
     require_once('crest.php');
            
             $result = CRest::call(
                 'crm.lead.details.configuration.get',
                 [
                     'scope' => 'P',
                     'userId' => 1
                 ]
             );
            
             echo '<PRE>';
             print_r($result);
             echo '</PRE>';
            
    1. Получить общую конфигурацию карточки

      curl -X POST \
              -H "Content-Type: application/json" \
              -H "Accept: application/json" \
              -d '{"scope":"C"}' \
              https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.lead.details.configuration.get
              
      curl -X POST \
              -H "Content-Type: application/json" \
              -H "Accept: application/json" \
              -d '{"scope":"C","auth":"**put_access_token_here**"}' \
              https://**put_your_bitrix24_address**/rest/crm.lead.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
              
              type CrmLeadCardSectionElement = {
                name: string
                optionFlags: string
              }
              
              // Shape of the payload returned in result (match the "response handling" section of the page)
              type CrmLeadCardSection = {
                name: string
                title: string
                type: string
                elements: CrmLeadCardSectionElement[]
              }
              
              try {
                const response = await $b24.actions.v2.call.make<CrmLeadCardSection[] | null>({
                  method: 'crm.lead.details.configuration.get',
                  params: {
                    scope: 'C',
                  },
                  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('Card sections:', result)
                }
              } 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 getLeadCardConfiguration() {
                  try {
                    // Initialize the SDK inside a Bitrix24 frame
                    const $b24 = await B24Js.initializeB24Frame()
              
                    const response = await $b24.actions.v2.call.make({
                      method: 'crm.lead.details.configuration.get',
                      params: {
                        scope: 'C',
                      },
                      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('Card sections:', result)
                  } catch (error) {
                    // Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
                    console.error(error)
                  }
                }
              
                document.addEventListener('DOMContentLoaded', getLeadCardConfiguration)
              </script>
              
      try {
                  $response = $b24Service
                      ->core
                      ->call(
                          'crm.lead.details.configuration.get',
                          [
                              'scope' => 'C'
                          ]
                      );
              
                  $result = $response
                      ->getResponseData()
                      ->getResult();
              
                  echo 'Success: ' . print_r($result, true);
                  processData($result);
              
              } catch (Throwable $e) {
                  error_log($e->getMessage());
                  echo 'Error fetching lead details configuration: ' . $e->getMessage();
              }
              
      BX24.callMethod(
                  'crm.lead.details.configuration.get',
                  {
                      scope: "C",
                  },
                  (result) => {
                      result.error()
                          ? console.error(result.error())
                          : console.info(result.data())
                      ;
                  },
              );
              
      require_once('crest.php');
              
              $result = CRest::call(
                  'crm.lead.details.configuration.get',
                  [
                      'scope' => 'C'
                  ]
              );
              
              echo '<PRE>';
              print_r($result);
              echo '</PRE>';
              

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

    HTTP-статус: 200

    {
                "result": [
                    {
                        "name": "main",
                        "title": "О лиде",
                        "type": "section",
                        "elements": [
                            {
                                "name": "TITLE",
                                "optionFlags": "0"
                            },
                            {
                                "name": "STATUS_ID",
                                "optionFlags": "0"
                            },
                            {
                                "name": "SOURCE_ID",
                                "optionFlags": "0"
                            }
                        ]
                    },
                    {
                        "name": "additional",
                        "title": "Дополнительно",
                        "type": "section",
                        "elements": [
                            {
                                "name": "ASSIGNED_BY_ID",
                                "optionFlags": "0"
                            },
                            {
                                "name": "COMMENTS",
                                "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
    section[]|null

    Корневой элемент ответа. Содержит конфигурацию разделов карточки лида. Возвращает null, если конфигурация не найдена

    time
    time

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

    Объект section

    Название
    тип

    Описание

    name
    string

    Уникальное имя раздела

    title
    string

    Заголовок раздела

    type
    string

    Тип раздела

    elements
    section_element[]

    Список полей, которые выводятся в разделе

    Объект section_element

    Название
    тип

    Описание

    name
    string

    Идентификатор поля

    optionFlags
    string

    Значения:

    • "1" - показывать всегда
    • "0" - показывать не всегда

    options
    object

    Дополнительные опции поля

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

    HTTP-статус: 400

    {
                "error": "",
                "error_description": "Access denied."
            }
            

    Название
    тип

    Описание

    error
    string

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

    error_description
    error_description

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

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

    Код

    Описание

    Значение

    -

    Access denied

    Недостаточно прав для получения запрошенной конфигурации

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

    HTTP-статус: 20x, 40x, 50x

    Описанные ниже ошибки могут возникнуть при вызове любого метода

    Статус

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

    Описание

    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

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

    405

    ERROR_BATCH_METHOD_NOT_ALLOWED
    Method is not allowed for batch usage

    Текущий метод не разрешен для вызова с помощью batch

    400

    ERROR_BATCH_LENGTH_EXCEEDED
    Max batch length exceeded

    Превышена максимальная длина параметров, переданных в метод batch

    401

    NO_AUTH_FOUND
    Wrong authorization data

    Неверный access-токен или код вебхука

    400

    INVALID_REQUEST
    Https required

    Для вызовов методов требуется использовать протокол HTTPS

    503

    OVERLOAD_LIMIT
    REST API is blocked due to overload

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

    403

    ACCESS_DENIED
    REST API is available only on commercial plans

    REST API доступен только на коммерческих планах

    403

    INVALID_CREDENTIALS
    Invalid request credentials

    У пользователя, с чьим access-токеном или вебхуком был вызван метод, не хватает прав

    404

    ERROR_MANIFEST_IS_NOT_AVAILABLE
    Manifest is not available

    Манифест недоступен

    403

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

    Запрос требует более высоких привилегий, чем предоставляет токен вебхука

    401

    expired_token
    The access token provided has expired

    Предоставленный access-токен доступа истек

    403

    user_access_error
    The user does not have access to the application

    Пользователь не имеет доступа к приложению. Это означает, что приложение установлено, но администратор портала разрешил доступ к этому приложению только конкретным пользователям

    500

    PORTAL_DELETED
    Portal was deleted

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

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