Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Получить поля контакта crm.contact.fields», проанализируем лучшие практики и покажем, как правильно использовать crm.contact.fields в реальных задачах.
Получить поля контакта crm.contact.fields
> Scope: 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.contact.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.contact.fields- JS
try
{
const response = await $b24.callMethod(
'crm.contact.fields',
{}
);
const result = response.getData().result;
console.info('Поля контакта', result);
}
catch( error )
{
console.error('Error:', error);
}- PHP
try {
$response = $b24Service
->core
->call(
'crm.contact.fields',
[]
);
$result = $response
->getResponseData()
->getResult();
if ($result->error()) {
error_log($result->error());
echo 'Error: ' . $result->error();
} else {
echo 'Поля контакта: ' . print_r($result->data(), true);
}
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error fetching contact fields: ' . $e->getMessage();
}- BX24.js
BX24.callMethod(
"crm.contact.fields",
{},
(result) => {
if(result.error())
console.error(result.error());
else
console.info("Поля контакта", result.data());
}
); - PHP CRest
require_once('crest.php');
$result = CRest::call(
'crm.contact.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"
},
"HONORIFIC": {
"type": "crm_status",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"statusType": "HONORIFIC",
"title": "Обращение"
},
"NAME": {
"type": "string",
"isRequired": true,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Имя"
},
"SECOND_NAME": {
"type": "string",
"isRequired": true,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Отчество"
},
"LAST_NAME": {
"type": "string",
"isRequired": true,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Фамилия"
},
"PHOTO": {
"type": "file",
"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": "Дата рождения"
},
"TYPE_ID": {
"type": "crm_status",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"statusType": "CONTACT_TYPE",
"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": "Дополнительно об источнике"
},
"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": "Идентификатор адреса местоположения"
},
"COMMENTS": {
"type": "string",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Комментарий"
},
"OPENED": {
"type": "char",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Доступен для всех"
},
"EXPORT": {
"type": "char",
"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": "Кем изменен"
},
"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": "Дата изменения"
},
"COMPANY_ID": {
"type": "crm_company",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"isDeprecated": true,
"title": "Компания"
},
"COMPANY_IDS": {
"type": "crm_company",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": true,
"isDynamic": false,
"title": "COMPANY_IDS"
},
"LEAD_ID": {
"type": "crm_lead",
"isRequired": false,
"isReadOnly": true,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Лид",
"settings": {
"parentEntityTypeId": 1
}
},
"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": "Идентификатор элемента во внешнем источнике"
},
"ORIGIN_VERSION": {
"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_BY": {
"type": "user",
"isRequired": false,
"isReadOnly": true,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Кем осуществлена последняя активность в таймлайне"
},
"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": 1715004755.782705,
"finish": 1715004756.118899,
"duration": 0.3361940383911133,
"processing": 0.10344505310058594,
"date_start": "2024-05-06T17:12:35+03:00",
"date_finish": "2024-05-06T17:12:36+03:00",
"operating": 0
}
}Возвращаемые данные
Названиетип | Описание |
|---|---|
IDinteger | Идентификатор контакта. Только для чтения |
HONORIFICcrm_status | Обращение. Получить значения справочника можно с помощью метода crm.status.list с фильтром по |
NAMEstring | Имя |
SECOND_NAMEstring | Отчество |
LAST_NAMEstring | Фамилия |
PHOTOfile | Фотография |
BIRTHDATEdate | Дата рождения |
TYPE_IDcrm_status | Тип контакта. Получить значения справочника можно с помощью метода crm.status.list с фильтром по |
SOURCE_IDcrm_status | Источник. Получить значения справочника можно с помощью метода crm.status.list с фильтром по |
SOURCE_DESCRIPTIONstring | Дополнительно об источнике |
POSTstring | Должность |
COMMENTSstring | Комментарий. Поддерживает bb-коды |
OPENEDchar | Доступен ли для всех. Возможные значения: — Y — да— N — нетУчитывается в работе прав доступа для ролей с уровнем доступа «Все открытые» |
EXPORTchar | Участвует в экспорте контактов. Возможные значения: — Y — да— N — нет |
HAS_PHONEchar | Задан ли телефон. Возможные значения: — Y — да— N — нетТолько для чтения |
HAS_EMAILchar | Задан ли e-mail. Возможные значения: — Y — да— N — нетТолько для чтения |
HAS_IMOLchar | Задана открытая линия. Возможные значения: — Y — да— N — нетТолько для чтения |
ASSIGNED_BY_IDuser | Ответственный |
CREATED_BY_IDuser | Кем создан. Только для чтения |
MODIFY_BY_IDuser | Кем изменен. Только для чтения |
DATE_CREATEdatetime | Дата создания. Только для чтения |
DATE_MODIFYdatetime | Дата изменения. Только для чтения |
COMPANY_IDcrm_company | Основная компания контакта |
COMPANY_IDScrm_company | Привязка контакта к компаниям. Множественное. В методах В методах |
LEAD_IDcrm_lead | Идентификатор лида, связанного с контактом. Только для чтения |
UTM_SOURCEstring | Рекламная система (Yandex-Direct, Google-Adwords и другие) |
UTM_MEDIUMstring | Тип трафика. Возможные значения: — CPC — объявления — CPM — баннеры |
UTM_CAMPAIGNstring | Обозначение рекламной кампании |
UTM_CONTENTstring | Содержание кампании. Например, для контекстных объявлений |
UTM_TERMstring | Условие поиска кампании. Например, ключевые слова контекстной рекламы |
LAST_ACTIVITY_TIMEdatetime | Дата последней активности в таймлайне. Только для чтения |
LAST_ACTIVITY_BYuser | Автор последней активности в таймлайне. Только для чтения |
PHONEcrm_multifield | Телефоны. Множественное |
EMAILcrm_multifield | E-mail. Множественное |
WEBcrm_multifield | Сайты. Множественное |
IMcrm_multifield | Мессенджеры. Множественное |
LINKcrm_multifield | Ссылки. Множественное. Служебное. |
| UF_… | Пользовательские поля. Например, UF_CRM_25534736.В зависимости от настроек портала у контактов может быть набор пользовательских полей определенных типов. Добавить пользовательское поле в контакт можно с помощью метода crm.contact.userfield.add |
| PARENT_ID_… | Поля связей. Если на портале есть смарт-процессы, связанные с контактами, для каждого такого смарт-процесса существует поле, хранящее связь между этим смарт-процессом и контактом. Само поле хранит идентификатор элемента такого смарт-процесса. Например, поле |
Поля связи с внешними источниками данных
Если контакт создан внешней системой, то:
- поле
ORIGINATOR_IDхранит строковый идентификатор этой системы - поле
ORIGIN_IDхранит строковый идентификатор контакта в этой внешней системе - поле
ORIGIN_VERSIONхранит версию данных контакта в этой внешней системе
Названиетип | Описание |
|---|---|
ORIGINATOR_IDstring | Идентификатор внешней системы, являющейся источником данных об этом контакте |
ORIGIN_IDstring | Идентификатор контакта во внешней системе |
ORIGIN_VERSIONstring | Версия данных о контакте во внешней системе. Используется для защиты данных от случайного перетирания внешней системой. Если данные были импортированы и не изменялись во внешней системе, то такие данные могут быть отредактированы в CRM без опасения, что следующая выгрузка приведет к перетиранию данных |
Устаревшие поля
Поля адреса в контакте являются устаревшими и используются только в режиме совместимости. Для работы с адресом используйте реквизиты.
Названиетип | Описание |
|---|---|
ADDRESSstring | Адрес |
ADDRESS_2string | Вторая строка адреса |
ADDRESS_CITYstring | Город |
ADDRESS_POSTAL_CODEstring | Почтовый индекс |
ADDRESS_REGIONstring | Район |
ADDRESS_PROVINCEstring | Область |
ADDRESS_COUNTRYstring | Страна |
ADDRESS_COUNTRY_CODEstring | Код страны |
ADDRESS_LOC_ADDR_IDlocation | Идентификатор адреса местоположения |
Обработка ошибок
- [](./crm-contact-add)
- [](./crm-contact-update)
- [](./crm-contact-get)
- [](./crm-contact-list)
- [](./crm-contact-delete)
💡 Экспертное мнение и рекомендации
Советы эксперта по интеграции:
- Всегда используйте кэширование при частых запросах к crm.contact.fields, чтобы разгрузить базу данных.
- Соблюдайте стандарты PSR при написании обработчиков для «Получить поля контакта crm.contact.fields».
- Регулярно проводите аудит производительности системы с помощью встроенного монитора 1С-Битрикс.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru