crm.company.userfield.add
Создать пользовательское поле для компаний
Описание
Метод crm.company.userfield.add создает новое пользовательское поле для компаний.
Параметры
fields
object
обязательный
Объект формата:
{
field_1: value_1,
field_2: value_2,
...,
field_n: value_n,
}
field_n— название поляvalue_n— значение поля
Список доступных полей описан ниже.
Некорректное поле в fields будет проигнорировано
Параметр fields
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
- пользовательские типы полей
FIELD_NAME
string
обязательный
Код поля. Уникальный в пределах компаний.
К коду всегда добавляется префикс UF_CRM_, полное имя поля система собирает сама:
- MANAGER_NOTE превращается в UF_CRM_MANAGER_NOTE
- UF_MANAGER_NOTE превращается в UF_CRM_MANAGER_NOTE — префикс UF_ заменяется на UF_CRM_
- UF_CRM_MANAGER_NOTE остается без изменений
Ограничение длины — до 50 символов вместе с префиксом, то есть до 43 символов на код. Если передать более длинное значение, метод вернет ошибку ERROR_CORE.
Допустимые символы: A-Z, 0-9 и _. Строчные буквы приводятся к заглавным, остальные символы вызывают ошибку ERROR_CORE
LABEL
string
необязательный
Название пользовательского поля по умолчанию.
Переданное значение будет выставлено в следующие поля: LIST_FILTER_LABEL, LIST_COLUMN_LABEL, EDIT_FORM_LABEL, ERROR_MESSAGE, HELP_MESSAGE, если в них не передано значение
XML_ID
string
необязательный
Внешний код
LIST_FILTER_LABEL
string
необязательный
Подпись фильтра в списке.
При передаче строки она будет проставлена для всех идентификаторов языка.
При передаче значения типа lang_map для всех непереданных языков будет проставлено значение из LABEL.
По умолчанию значение, переданное в LABEL, проставляется для всех идентификаторов языка
LIST_COLUMN_LABEL
string
необязательный
Заголовок в списке.
При передаче строки она будет проставлена для всех идентификаторов языка.
При передаче значения типа lang_map для всех непереданных языков будет проставлено значение из LABEL.
По умолчанию значение, переданное в LABEL, проставляется для всех идентификаторов языка
EDIT_FORM_LABEL
string
необязательный
Подпись в форме редактирования.
При передаче строки она будет проставлена для всех идентификаторов языка.
При передаче значения типа lang_map для всех непереданных языков будет проставлено значение из LABEL.
По умолчанию значение, переданное в LABEL, проставляется для всех идентификаторов языка
ERROR_MESSAGE
string
необязательный
Сообщение об ошибке
HELP_MESSAGE
string
необязательный
Помощь
MULTIPLE
boolean
необязательный
Является ли поле множественным. Возможные значения:
- Y — да
- N — нет
Поля типа boolean не могут быть множественными.
По умолчанию N
MANDATORY
boolean
необязательный
Является ли поле обязательным. Возможные значения:
- Y — да
- N — нет
По умолчанию N
SHOW_FILTER
boolean
необязательный
Показывать ли поле в фильтре. Возможные значения:
- Y — да
- N — нет
По умолчанию N
SETTINGS
object
необязательный
Дополнительные параметры поля. Для каждого типа поля USER_TYPE_ID существует свой пул доступных настроек, описание ниже
LIST
uf_enum_element[]
необязательный
Список возможных значений для пользовательского поля типа enumeration, описание ниже
По умолчанию []
SORT
integer
необязательный
Индекс сортировки. Обязательно больше нуля.
По умолчанию 100
SHOW_IN_LIST
boolean
необязательный
Показывать ли пользовательское поле в списке.
Данный параметр ни на что не влияет в рамках crm.
Возможные значения:
- Y — да
- N — нет
По умолчанию N
EDIT_IN_LIST
boolean
необязательный
Разрешать ли редактирование пользователем. Возможные значения:
- Y — да
- N — нет
По умолчанию Y. Значение N поддерживают не все типы полей в рамках crm
IS_SEARCHABLE
boolean
необязательный
Участвуют ли значения поля в поиске.
Данный параметр ни на что не влияет в рамках crm.
Возможные значения:
- Y — да
- N — нет
По умолчанию N
Ответ
HTTP-статус: 200
{
"result": 6997,
"time": {
"start": 1753789240.8146,
"finish": 1753789241.058695,
"duration": 0.2440950870513916,
"processing": 0.19217395782470703,
"date_start": "2025-07-29T14:40:40+03:00",
"date_finish": "2025-07-29T14:40:41+03:00",
"operating_reset_at": 1753789840,
"operating": 0.19216084480285645
}
}
Возвращаемые данные
result
integer
Корневой элемент ответа, содержит идентификатор созданного пользовательского поля
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": "",
"error_description": "The 'USER_TYPE_ID' field is not found."
}
| Код | Описание | Значение |
|---|---|---|
| — | The 'FIELD_NAME' field is not found. | Либо передан пустой FIELD_NAME, либо он не передан вовсе |
ERROR_CORE |
Имя поля слишком длинное (больше 50-ти символов). | Полное имя поля вместе с префиксом UF_CRM_ содержит более 50 символов, то есть в FIELD_NAME передано более 43 символов |
ERROR_CORE |
Имя поля содержит недопустимые символы. Допустимыми являются: A-Z, 0-9 и _. | Переданный FIELD_NAME содержит символы, кроме A-Z, 0-9 и _ |
| — | The 'USER_TYPE_ID' field is not found. | Либо передан пустой USER_TYPE_ID, либо он не передан вовсе |
ERROR_CORE |
Указан неверный пользовательский тип. | Переданный USER_TYPE_ID не существует |
ERROR_CORE |
Элемент списка со значением XML_ID=xml_id уже существует. | Переданные в элементы списка XML_ID не уникальны |

