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

Получить поля лида crm.lead.fields

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

Получить поля лида crm.lead.fields

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

Метод crm.lead.fields возвращает описание полей лида, в том числе пользовательских.
Таблицу с описанием стандартных полей можно найти в статье Поля основных объектов CRM.

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

Без параметров.

Примеры кода

  • cURL (Webhook)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{}' \
    https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webbhook_here**/crm.lead.fields
  • cURL (OAuth)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"auth":"**put_access_token_here**"}' \
    https://**put_your_bitrix24_address**/rest/crm.lead.fields
  • JS
    try
    {
    	const response = await $b24.callMethod(
    		'crm.lead.fields',
    		{}
    	);
    	
    	const result = response.getData().result;
    	console.info(result);
    }
    catch( error )
    {
    	console.error(error);
    }
  • PHP
  try {
      $fieldsResult = $serviceBuilder
          ->getCRMScope()
          ->lead()
          ->fields();
      $fieldsDescription = $fieldsResult->getFieldsDescription();
      // Assuming you want to print the fields description
      print_r($fieldsDescription);
  } catch (Throwable $e) {
      print("Error: " . $e->getMessage());
  }
  • BX24.js
    BX24.callMethod(
      'crm.lead.fields',
      {},
      (result) => {
        if(result.error())
        {
          console.error(result.error());
  
          return;
        }
        
        console.info(result.data());
      }
    );
  • PHP CRest
    require_once('crest.php');

    $result = CRest::call(
        'crm.lead.fields',
        []
    );

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

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

HTTP-статус: 200

{
  "result": {
    "ID": {
      "type": "integer",
      "isRequired": false,
      "isReadOnly": true,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "ID"
    },
    "TITLE": {
      "type": "string",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Название лида"
    },
    "HONORIFIC": {
      "type": "crm_status",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "statusType": "HONORIFIC",
      "title": "Обращение"
    },
    "NAME": {
      "type": "string",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Имя"
    },
    "SECOND_NAME": {
      "type": "string",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Отчество"
    },
    "LAST_NAME": {
      "type": "string",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Фамилия"
    },
    "BIRTHDATE": {
      "type": "date",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Дата рождения"
    },
    "COMPANY_TITLE": {
      "type": "string",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Название компании"
    },
    "SOURCE_ID": {
      "type": "crm_status",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "statusType": "SOURCE",
      "title": "Источник"
    },
    "SOURCE_DESCRIPTION": {
      "type": "string",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Дополнительно об источнике"
    },
    "STATUS_ID": {
      "type": "crm_status",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "statusType": "STATUS",
      "title": "Стадия"
    },
    "STATUS_DESCRIPTION": {
      "type": "string",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Дополнительно о стадии"
    },
    "STATUS_SEMANTIC_ID": {
      "type": "string",
      "isRequired": false,
      "isReadOnly": true,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Состояние статуса"
    },
    "POST": {
      "type": "string",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Должность"
    },
    "ADDRESS": {
      "type": "string",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Адрес"
    },
    "ADDRESS_2": {
      "type": "string",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Адрес (стр. 2)"
    },
    "ADDRESS_CITY": {
      "type": "string",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Город"
    },
    "ADDRESS_POSTAL_CODE": {
      "type": "string",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Почтовый индекс"
    },
    "ADDRESS_REGION": {
      "type": "string",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Район"
    },
    "ADDRESS_PROVINCE": {
      "type": "string",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Область"
    },
    "ADDRESS_COUNTRY": {
      "type": "string",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Страна"
    },
    "ADDRESS_COUNTRY_CODE": {
      "type": "string",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Код страны"
    },
    "ADDRESS_LOC_ADDR_ID": {
      "type": "integer",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Идентификатор адреса местоположения"
    },
    "CURRENCY_ID": {
      "type": "crm_currency",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Валюта"
    },
    "OPPORTUNITY": {
      "type": "double",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Сумма"
    },
    "IS_MANUAL_OPPORTUNITY": {
      "type": "char",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "IS_MANUAL_OPPORTUNITY"
    },
    "OPENED": {
      "type": "char",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Доступен для всех"
    },
    "COMMENTS": {
      "type": "string",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Комментарий"
    },
    "HAS_PHONE": {
      "type": "char",
      "isRequired": false,
      "isReadOnly": true,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Задан телефон"
    },
    "HAS_EMAIL": {
      "type": "char",
      "isRequired": false,
      "isReadOnly": true,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Задан e-mail"
    },
    "HAS_IMOL": {
      "type": "char",
      "isRequired": false,
      "isReadOnly": true,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Задана открытая линия"
    },
    "ASSIGNED_BY_ID": {
      "type": "user",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Ответственный"
    },
    "CREATED_BY_ID": {
      "type": "user",
      "isRequired": false,
      "isReadOnly": true,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Кем создан"
    },
    "MODIFY_BY_ID": {
      "type": "user",
      "isRequired": false,
      "isReadOnly": true,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Кем изменен"
    },
    "MOVED_BY_ID": {
      "type": "user",
      "isRequired": false,
      "isReadOnly": true,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "MOVED_BY_ID"
    },
    "DATE_CREATE": {
      "type": "datetime",
      "isRequired": false,
      "isReadOnly": true,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Дата создания"
    },
    "DATE_MODIFY": {
      "type": "datetime",
      "isRequired": false,
      "isReadOnly": true,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Дата изменения"
    },
    "MOVED_TIME": {
      "type": "datetime",
      "isRequired": false,
      "isReadOnly": true,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "MOVED_TIME"
    },
    "COMPANY_ID": {
      "type": "crm_company",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Компания",
      "settings": {
        "parentEntityTypeId": 4
      }
    },
    "CONTACT_ID": {
      "type": "crm_contact",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "isDeprecated": true,
      "title": "Контакт"
    },
    "CONTACT_IDS": {
      "type": "crm_contact",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": true,
      "isDynamic": false,
      "title": "CONTACT_IDS"
    },
    "IS_RETURN_CUSTOMER": {
      "type": "char",
      "isRequired": false,
      "isReadOnly": true,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Повторный лид"
    },
    "DATE_CLOSED": {
      "type": "datetime",
      "isRequired": false,
      "isReadOnly": true,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Дата завершения"
    },
    "ORIGINATOR_ID": {
      "type": "string",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Внешний источник"
    },
    "ORIGIN_ID": {
      "type": "string",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Идентификатор элемента во внешнем источнике"
    },
    "UTM_SOURCE": {
      "type": "string",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Рекламная система"
    },
    "UTM_MEDIUM": {
      "type": "string",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Тип трафика"
    },
    "UTM_CAMPAIGN": {
      "type": "string",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Обозначение рекламной кампании"
    },
    "UTM_CONTENT": {
      "type": "string",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Содержание кампании"
    },
    "UTM_TERM": {
      "type": "string",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "Условие поиска кампании"
    },
    "LAST_ACTIVITY_TIME": {
      "type": "datetime",
      "isRequired": false,
      "isReadOnly": true,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "LAST_ACTIVITY_TIME"
    },
    "LAST_ACTIVITY_BY": {
      "type": "user",
      "isRequired": false,
      "isReadOnly": true,
      "isImmutable": false,
      "isMultiple": false,
      "isDynamic": false,
      "title": "LAST_ACTIVITY_BY"
    },
    "PHONE": {
      "type": "crm_multifield",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": true,
      "isDynamic": false,
      "title": "Телефон"
    },
    "EMAIL": {
      "type": "crm_multifield",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": true,
      "isDynamic": false,
      "title": "E-mail"
    },
    "WEB": {
      "type": "crm_multifield",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": true,
      "isDynamic": false,
      "title": "Сайт"
    },
    "IM": {
      "type": "crm_multifield",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": true,
      "isDynamic": false,
      "title": "Мессенджер"
    },
    "LINK": {
      "type": "crm_multifield",
      "isRequired": false,
      "isReadOnly": false,
      "isImmutable": false,
      "isMultiple": true,
      "isDynamic": false,
      "title": "LINK"
    }
  },
  "time": {
    "start": 1716903269.951179,
    "finish": 1716903270.017765,
    "duration": 0.06658601760864258,
    "processing": 0.029553890228271484,
    "date_start": "2024-05-28T16:34:29+03:00",
    "date_finish": "2024-05-28T16:34:30+03:00",
    "operating": 0
  }
}

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

Название
тип
Описание
result
lead
Корневой элемент ответа. Содержит информацию о полях лида. Структура описана ниже
time
time
Информация о времени выполнения запроса

Тип lead {#lead}

Название
тип
Описание
ID
integer
Целочисленный идентификатор лида
TITLE
string
Название лида
HONORIFIC
crm_status
Вид обращения. Статус из справочника. Список возможных идентификаторов можно получить методом crm.status.list с фильтром filter[ENTITY_ID]=HONORIFIC
NAME
string
Имя контакта
SECOND_NAME
string
Отчество контакта
LAST_NAME
string
Фамилия контакта
BIRTHDATE
date
Дата рождения
COMPANY_TITLE
string
Название компании, привязанной к лиду
SOURCE_ID
crm_status
Идентификатор источника. Статус из справочника. Список возможных идентификаторов можно получить методом crm.status.list с фильтром filter[ENTITY_ID]=SOURCE
SOURCE_DESCRIPTION
string
Описание источника
STATUS_ID
crm_status
Идентификатор стадии лида. Статус из справочника. Список возможных идентификаторов можно получить методом crm.status.list с фильтром filter[ENTITY_ID]=STATUS
STATUS_DESCRIPTION
string
Дополнительно о стадии
STATUS_SEMANTIC_ID
string
— F (failed) – обработан неуспешно
— S (success) – обработан успешно
— P (processing) – лид в обработке
POST
string
Должность
ADDRESS
string
Адрес контакта
ADDRESS_2
string
Вторая страница адреса. В некоторых странах принято разбивать адрес на 2 части
ADDRESS_CITY
string
Город
ADDRESS_POSTAL_CODE
string
Почтовый индекс
ADDRESS_REGION
string
Район
ADDRESS_PROVINCE
string
Область
ADDRESS_COUNTRY
string
Страна
ADDRESS_COUNTRY_CODE
string
Код страны
ADDRESS_LOC_ADDR_ID
string
Идентификатор адреса из модуля местоположений
CURRENCY_ID
crm_currency
Идентификатор валюты
OPPORTUNITY
double
Предполагаемая сумма
IS_MANUAL_OPPORTUNITY
char
Признак ручного расчёта суммы. Допустимые значения Y или N
OPENED
char
Доступен для всех. Допустимые значения Y или N
COMMENTS
string
Комментарии
HAS_PHONE
char
Признак заполненности поля телефон. Допустимые значения Y или N
HAS_EMAIL
char
Признак заполненности поля электронной почты. Допустимые значения Y или N
HAS_IMOL
char
Признак наличия привязанной открытой линии. Допустимые значения Y или N
ASSIGNED_BY_ID
user
Идентификатор пользователя ответственного за лид
CREATED_BY_ID
user
Идентификатор пользователя создавшего лид
MODIFY_BY_ID
user
Идентификатор пользователя-автора последнего изменения
MOVED_BY_ID
user
Идентификатор пользователя-автора перемещения элемента на текущую стадию
DATE_CREATE
datetime
Дата создания
DATE_MODIFY
datetime
Дата изменения
MOVED_TIME
datetime
Дата перемещения элемента на текущую стадию
COMPANY_ID
crm_company
Привязка лида к компании (Поле Клиент->Компания)
CONTACT_ID
crm_contact
Привязка лида к контакту (Поле Клиент->Контакт. В случае нескольких привязанных контактов в данном поле будет id первого привязанного контакта)
IS_RETURN_CUSTOMER
char
Признак повторного лида. Допустимые значения Y или N
DATE_CLOSED
datetime
Дата закрытия
ORIGINATOR_ID
string
Идентификатор источника данных. Используется только для привязки к внешнему источнику
ORIGIN_ID
string
Идентификатор элемента в источнике данных. Используется только для привязки к внешнему источнику
UTM_SOURCE
string
Рекламная система. Yandex-Direct, Google-Adwords и другие
UTM_MEDIUM
string
Тип трафика. CPC (объявления), CPM (баннеры)
UTM_CAMPAIGN
string
Обозначение рекламной кампании
UTM_CONTENT
string
Содержание кампании. Например, для контекстных объявлений
UTM_TERM
string
Условие поиска кампании. Например, ключевые слова контекстной рекламы
LAST_ACTIVITY_TIME
datetime
Время последней активности
LAST_ACTIVITY_BY
string
Идентификатор пользователя ответственного за последнюю активность в этом лиде (например, создавшего новое дело в лиде)
PHONE
crm_multifield
Телефон контакта
EMAIL
crm_multifield
Адрес электронной почты
WEB
crm_multifield
URL ресурсы лида
IM
crm_multifield
Мессенджеры
LINK
crm_multifield
UF_…Пользовательские поля

Описание поля

typeТип поля. Описан выше
isRequiredПризнак обязательности поля при создании нового лида
isReadOnlyПризнак возможности отредактировать значение поля
isImmutableПризнак возможности однократного заполнения значения поля только при создании нового элемента
isMultipleПризнак множественности поля. При true значения в поле передаются в виде массива
isDynamicЯвляется ли поле пользовательским
titleНазвание поля

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

Метод не возвращает ошибки.

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

Советы эксперта по интеграции:

  • Всегда используйте кэширование при частых запросах к crm.lead.fields, чтобы разгрузить базу данных.
  • Соблюдайте стандарты PSR при написании обработчиков для «Получить поля лида crm.lead.fields».
  • Регулярно проводите аудит производительности системы с помощью встроенного монитора 1С-Битрикс.

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

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

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

Related Post

Получить поля типа цены catalog.priceType.getFieldsПолучить поля типа цены catalog.priceType.getFields

Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Получить поля типа цены catalog.priceType.getFields». Мы подготовили подробный разбор принципов работы и развернутые примеры интеграции.

Получить значения всех полей группы свойств по id sale.propertygroup.getПолучить значения всех полей группы свойств по id sale.propertygroup.get

Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Получить значения всех полей группы свойств по id sale.propertygroup.get». Мы подготовили подробный разбор принципов работы

Получить параметры папки по идентификатору disk.folder.getПолучить параметры папки по идентификатору disk.folder.get

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Получить параметры папки по идентификатору disk.folder.get», разберем архитектурные