Получить пользовательское поле контактов по Id crm.contact.userfield.get

Scope: crm

Кто может выполнять метод: администратор

Метод crm.contact.userfield.get возвращает пользовательское поле контактов по идентификатору.

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

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

Название
тип

Описание

id*
integer

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

Идентификатор можно получить с помощью методов crm.contact.userfield.add или crm.contact.userfield.list

Примеры кода

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

Получить пользовательское поле с id = 399

curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"id":399}' \
        https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.contact.userfield.get
        
curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"id":399,"auth":"**put_access_token_here**"}' \
        https://**put_your_bitrix24_address**/rest/crm.contact.userfield.get
        
try
        {
        	const response = await $b24.callMethod(
        		'crm.contact.userfield.get',
        		{
        			id: 399,
        		}
        	);
        	
        	const result = response.getData().result;
        	result.error()
        		? console.error(result.error())
        		: console.info(result)
        	;
        }
        catch( error )
        {
        	console.error('Error:', error);
        }
        
try {
            $response = $b24Service
                ->core
                ->call(
                    'crm.contact.userfield.get',
                    [
                        'id' => 399,
                    ]
                );
        
            $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 getting contact user field: ' . $e->getMessage();
        }
        
BX24.callMethod(
            'crm.contact.userfield.get',
            {
                id: 399,
            },
            (result) => {
                result.error()
                    ? console.error(result.error())
                    : console.info(result.data())
                ;
            },
        );
        
require_once('crest.php');
        
        $result = CRest::call(
            'crm.contact.userfield.get',
            [
                'id' => 399
            ]
        );
        
        echo '<PRE>';
        print_r($result);
        echo '</PRE>';
        

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

HTTP-статус: 200

{
            "result": {
                "ID": "399",
                "ENTITY_ID": "CRM_CONTACT",
                "FIELD_NAME": "UF_CRM_HELLO_WORLD",
                "USER_TYPE_ID": "string",
                "XML_ID": null,
                "SORT": "1000",
                "MULTIPLE": "Y",
                "MANDATORY": "Y",
                "SHOW_FILTER": "E",
                "SHOW_IN_LIST": "Y",
                "EDIT_IN_LIST": "Y",
                "IS_SEARCHABLE": "Y",
                "SETTINGS": {
                    "SIZE": 20,
                    "ROWS": 3,
                    "REGEXP": "",
                    "MIN_LENGTH": 0,
                    "MAX_LENGTH": 0,
                    "DEFAULT_VALUE": "Привет, мир! Значение по умолчанию"
                },
                "EDIT_FORM_LABEL": {
                    "ar": "Поле \u0027Привет, мир!\u0027",
                    "br": "Поле \u0027Привет, мир!\u0027",
                    "en": "Hello, World! Edit",
                    "fr": "Поле \u0027Привет, мир!\u0027",
                    "id": "Поле \u0027Привет, мир!\u0027",
                    "it": "Поле \u0027Привет, мир!\u0027",
                    "ja": "Поле \u0027Привет, мир!\u0027",
                    "la": "Поле \u0027Привет, мир!\u0027",
                    "ms": "Поле \u0027Привет, мир!\u0027",
                    "pl": "Поле \u0027Привет, мир!\u0027",
                    "ru": "Привет, мир! Редактировать",
                    "sc": "Поле \u0027Привет, мир!\u0027",
                    "tc": "Поле \u0027Привет, мир!\u0027",
                    "th": "Поле \u0027Привет, мир!\u0027",
                    "tr": "Поле \u0027Привет, мир!\u0027",
                    "vn": "Поле \u0027Привет, мир!\u0027"
                },
                "LIST_COLUMN_LABEL": {
                    "ar": "Поле \u0027Привет, мир!\u0027",
                    "br": "Поле \u0027Привет, мир!\u0027",
                    "en": "Hello, World! Column",
                    "fr": "Поле \u0027Привет, мир!\u0027",
                    "id": "Поле \u0027Привет, мир!\u0027",
                    "it": "Поле \u0027Привет, мир!\u0027",
                    "ja": "Поле \u0027Привет, мир!\u0027",
                    "la": "Поле \u0027Привет, мир!\u0027",
                    "ms": "Поле \u0027Привет, мир!\u0027",
                    "pl": "Поле \u0027Привет, мир!\u0027",
                    "ru": "Привет, мир! Колонка",
                    "sc": "Поле \u0027Привет, мир!\u0027",
                    "tc": "Поле \u0027Привет, мир!\u0027",
                    "th": "Поле \u0027Привет, мир!\u0027",
                    "tr": "Поле \u0027Привет, мир!\u0027",
                    "vn": "Поле \u0027Привет, мир!\u0027"
                },
                "LIST_FILTER_LABEL": {
                    "ar": "Привет, мир! Фильтр",
                    "br": "Привет, мир! Фильтр",
                    "en": "Привет, мир! Фильтр",
                    "fr": "Привет, мир! Фильтр",
                    "id": "Привет, мир! Фильтр",
                    "it": "Привет, мир! Фильтр",
                    "ja": "Привет, мир! Фильтр",
                    "la": "Привет, мир! Фильтр",
                    "ms": "Привет, мир! Фильтр",
                    "pl": "Привет, мир! Фильтр",
                    "ru": "Привет, мир! Фильтр",
                    "sc": "Привет, мир! Фильтр",
                    "tc": "Привет, мир! Фильтр",
                    "th": "Привет, мир! Фильтр",
                    "tr": "Привет, мир! Фильтр",
                    "vn": "Привет, мир! Фильтр"
                },
                "ERROR_MESSAGE": {
                    "ar": "Поле \u0027Привет, мир!\u0027",
                    "br": "Поле \u0027Привет, мир!\u0027",
                    "en": "Hello, World! Error",
                    "fr": "Поле \u0027Привет, мир!\u0027",
                    "id": "Поле \u0027Привет, мир!\u0027",
                    "it": "Поле \u0027Привет, мир!\u0027",
                    "ja": "Поле \u0027Привет, мир!\u0027",
                    "la": "Поле \u0027Привет, мир!\u0027",
                    "ms": "Поле \u0027Привет, мир!\u0027",
                    "pl": "Поле \u0027Привет, мир!\u0027",
                    "ru": "Привет, мир! Ошибка",
                    "sc": "Поле \u0027Привет, мир!\u0027",
                    "tc": "Поле \u0027Привет, мир!\u0027",
                    "th": "Поле \u0027Привет, мир!\u0027",
                    "tr": "Поле \u0027Привет, мир!\u0027",
                    "vn": "Поле \u0027Привет, мир!\u0027"
                },
                "HELP_MESSAGE": {
                    "ar": "Поле \u0027Привет, мир!\u0027",
                    "br": "Поле \u0027Привет, мир!\u0027",
                    "en": "Hello, World! Help",
                    "fr": "Поле \u0027Привет, мир!\u0027",
                    "id": "Поле \u0027Привет, мир!\u0027",
                    "it": "Поле \u0027Привет, мир!\u0027",
                    "ja": "Поле \u0027Привет, мир!\u0027",
                    "la": "Поле \u0027Привет, мир!\u0027",
                    "ms": "Поле \u0027Привет, мир!\u0027",
                    "pl": "Поле \u0027Привет, мир!\u0027",
                    "ru": "Привет, мир! Помощь",
                    "sc": "Поле \u0027Привет, мир!\u0027",
                    "tc": "Поле \u0027Привет, мир!\u0027",
                    "th": "Поле \u0027Привет, мир!\u0027",
                    "tr": "Поле \u0027Привет, мир!\u0027",
                    "vn": "Поле \u0027Привет, мир!\u0027"
                }
            },
            "time": {
                "start": 1724318753.341079,
                "finish": 1724318753.621247,
                "duration": 0.2801680564880371,
                "processing": 0.023567914962768555,
                "date_start": "2024-08-22T11:25:53+02:00",
                "date_finish": "2024-08-22T11:25:53+02:00",
                "operating": 0
            }
        }
        

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

Название
тип

Описание

result
userfield

Корневой элемент ответа, содержит информацию о пользовательском поле

time
time

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

userfield

Параметр
тип

Описание

ID
integer

Идентификатор пользовательского поля

ENTITY_ID
string

Строковый идентификатор привязки пользовательского поля к сущности.

В случае методов crm.contact.userfield.* автоматически проставляется значение CRM_CONTACT

FIELD_NAME
string

Код поля. Уникальное

USER_TYPE_ID
string

Тип данных пользовательского поля. Возможные значения:

  • string — строка
  • integer — целое число
  • double — число
  • boolean — да/нет
  • datetime — дата/время
  • date — дата
  • money — деньги
  • url — ссылка
  • address — адрес
  • enumeration — список
  • file — файл
  • employee — привязка к сотруднику
  • crm_status — привязка к справочнику CRM
  • iblock_section — привязка к разделам информационных блоков
  • iblock_element — привязка к элементам информационных блоков
  • crm — привязка к элементам CRM
  • пользовательские типы полей

XML_ID
string

Внешний код

SORT
integer

Индекс сортировки

MULTIPLE
boolean

Является ли поле множественным. Возможные значения:

  • Y — да
  • N — нет

MANDATORY
boolean

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

  • Y — да
  • N — нет

SHOW_FILTER
boolean

Показывать ли поле в фильтре. Возможные значения:

  • N — не показывать
  • I — точное совпадение
  • E — маска
  • S — подстрока

SHOW_IN_LIST
boolean

Показывать ли пользовательское поле в списке.

Данный параметр ни на что не влияет в рамках crm.

Возможные значения:

  • Y — да
  • N — нет

EDIT_IN_LIST
boolean

Разрешать редактирование пользователем. Возможные значения:

  • Y — да
  • N — нет

IS_SEARCHABLE
boolean

Участвуют ли значения поля в поиске.

Данный параметр ни на что не влияет в рамках crm.

Возможные значения:

  • Y — да
  • N — нет

SETTINGS
object

Дополнительные параметры поля. Для каждого типа поля (USER_TYPE_ID) существует свой пул доступных настроек, они описаны ниже

LIST
uf_enum_element[]

Список возможных значений для пользовательского поля типа enumeration. Для пользовательских полей другого типа данный параметр не несет смысла

EDIT_FORM_LABEL
lang_map

Подпись в форме редактирования

LIST_COLUMN_LABEL
lang_map

Заголовок в списке

LIST_FILTER_LABEL
lang_map

Подпись фильтра в списке

ERROR_MESSAGE
lang_map

Сообщение об ошибке

HELP_MESSAGE
lang_map

Помощь

USER_TYPE_OWNER
string

CLIENT_ID приложения, который обслуживает данный тип поля.

Отдается в случае, когда тип поля является пользовательским

Параметр settings

Название
тип

Описание

PRECISION
integer

Точность (количество знаков после запятой)

SIZE
integer

Размер поля ввода для отображения

MIN_VALUE
double

Минимальное значение (0 — не проверять)

MAX_VALUE
double

Максимальное значение (0 — не проверять)

DEFAULT_VALUE
double

Значение по умолчанию

Название
тип

Описание

DEFAULT_VALUE
integer

Является ли значением по умолчанию. Возможные значения:

  • 0 — нет
  • 1 — да

DISPLAY
string

Внешний вид. Возможные значения:

  • CHECKBOX — флажок
  • RADIO — радиокнопки
  • DROPDOWN — выпадающий список

LABEL
string[]

Подписи для значений, где:

  • элемент массива с индексом 0 — подпись для значения Нет
  • элемент массива с индексом 1 — подпись для значения Да

LABEL_CHECKBOX
string

Подпись флажка

Название
тип

Описание

DEFAULT_VALUE
object

Значение по умолчанию. Объект формата:

{
            TYPE: 'NONE'|'FIXED'|'NONE',
            VALUE: date
        }
        

где:

  • TYPE — тип значения по умолчанию:
    • NONE — отсутствует
    • NOW — текущая дата
    • FIXED — дата из значения VALUE
  • VALUE имеет тип date

Название
тип

Описание

SIZE
integer

Размер поля ввода для отображения

MIN_VALUE
integer

Минимальное значение (0 — не проверять)

MAX_VALUE
integer

Максимальное значение (0 — не проверять)

DEFAULT_VALUE
integer

Значение по умолчанию

Название
тип

Описание

DEFAULT_VALUE
object

Значение по умолчанию. Объект формата:

{
            TYPE: 'NONE'|'FIXED'|'NONE',
            VALUE: datetime
        }
        

где:

  • TYPE — тип значения по умолчанию:
    • NONE — отсутствует
    • NOW — текущая дата со временем
    • FIXED — дата со временем из значения VALUE
  • VALUE имеет тип datetime

USE_SECOND
boolean

Использовать ли секунды. Возможные значения:

  • Y — да
  • N — нет

USE_TIMEZONE
boolean

Использовать ли часовые пояса. Возможные значения:

  • Y — да
  • N — нет

Название
тип

Описание

SIZE
integer

Размер поля ввода для отображения

ROWS
integer

Количество строчек поля ввода

REGEXP
string

Регулярное выражение для проверки

MIN_LENGTH
integer

Минимальная длина строки (0 — не проверять)

MAX_LENGTH
integer

Максимальная длина строки (0 — не проверять)

DEFAULT_VALUE
string

Значение по умолчанию

Название
тип

Описание

DISPLAY
string

Внешний вид. Возможные значения:

  • LIST — список
  • CHECKBOX — флажки
  • UI — набираемый список
  • DIALOG — диалог выбора сущностей

LIST_HEIGHT
integer

Высота списка

CAPTION_NO_VALUE
string

Подпись при отсутствии значения

SHOW_NO_VALUE
boolean

Показывать ли пустое значение для обязательного поля. Возможные значения:

  • Y — да
  • N — нет

Название
тип

Описание

DISPLAY
string

Внешний вид. Возможные значения:

  • LIST — список
  • CHECKBOX — флажки
  • UI — набираемый список
  • DIALOG — диалог выбора сущностей

LIST_HEIGHT
integer

Высота списка

IBLOCK_ID
integer

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

DEFAULT_VALUE
integer

Значение по умолчанию

ACTIVE_FILTER
boolean

Показывать только активные элементы. Возможные значения:

  • Y — да
  • N — нет

Название
тип

Описание

ENTITY_TYPE
object

Справочник CRM. Структура аналогична возвращаемым элементам метода crm.status.entity.types

Название
тип

Описание

LEAD
boolean

Включена ли привязка к Лидам

CONTACT
boolean

Включена ли привязка к Контактам

COMPANY
boolean

Включена ли привязка к Компаниям

DEAL
boolean

Включена ли привязка к Сделкам

ORDER
boolean

Включена ли привязка к Заказам

QUOTE
boolean

Включена ли привязка к Коммерческим предложениям

SMART_INVOICE
boolean

Включена ли привязка к Новым счетам

DYNAMIC_...
boolean

Включена ли привязка к определенному Смарт-процессу.

Каждое такое поле имеет вид: DYNAMIC_{entityTypeId}, где entityTypeId — идентификатор типа смарт-процесса, к которому включена привязка

Название
тип

Описание

DEFAULT_VALUE
string

Значение по умолчанию.

Значение данного поля имеет формат: {VALUE}\|{CURRENCY}, где:

  • VALUE — количество денег по умолчанию
  • CURRENCY — строковый идентификатор валюты

Например: 300\|RUB — 300 рублей

Название
тип

Описание

SHOW_MAP
boolean

Показывать карту

Название
тип

Описание

POPUP
boolean

Открывать в новом окне

SIZE
integer

Размер поля ввода для отображения

MIN_LENGTH
integer

Минимальная длина строки (0 — не проверять)

MAX_LENGTH
integer

Максимальная длина строки (0 — не проверять)

DEFAULT_VALUE
string

Значение по умолчанию

ROWS
integer

Количество строчек поля ввода

Название
тип

Описание

SIZE
integer

Размер поля ввода для отображения

LIST_WIDTH
integer

Максимальные ширина для отображения в списке

LIST_HEIGHT
integer

Максимальные высота для отображения в списке

MAX_SHOW_SIZE
integer

Максимально допустимый размер для показа в списке (0 — не ограничивать)

MAX_ALLOWED_SIZE
integer

Максимально допустимый размер файла для загрузки (0 — не проверять)

EXTENSIONS
string[]

Разрешенные расширения

TARGET_BLANK
boolean

Открывать файл в новой вкладке

Тип uf_enum_element

Название
тип

Описание

ID
integer

Идентификатор элемента списка

VALUE
string

Значение элемента списка

SORT
integer

Индекс сортировки

DEF
boolean

Является ли элемент списка значением по умолчанию. Возможные значения:

  • Y — да
  • N — нет

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

HTTP-статус: 400

{
            "error": "",
            "error_description": "ID is not defined or invalid."
        }
        

Название
тип

Описание

error
string

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

error_description
error_description

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

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

Код

Описание

Значение

-

Access denied

Возникает в случаях, когда:

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

-

ID is not defined or invalid

Переданный id меньше или равен нулю, либо же не передан вовсе

ERROR_NOT_FOUND

The entity with ID 'id' is not found

Пользовательское поле с переданным id не найдено

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

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

Превышен лимит на интенсивность запросов

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

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

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