При изменении набора значений пользовательского поля смарт-процесса, нового счета или документа onCrmTypeUserFieldSetEnumValues
Выберите инструмент для разработки с AI-агентом:
- используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
- используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации
Scope:
crmКто может подписаться: любой пользователь
Событие ONCRMTYPEUSERFIELDSETENUMVALUES сработает при установке или изменении набора значений пользовательского поля списочного типа enumeration у смарт-процесса, нового счета или документа на подпись.
Событие приходит и при работе со списком значений в интерфейсе, и при вызове методов userfieldconfig.add и userfieldconfig.update.
Одно действие с полем списочного типа отправляет одно или два события:
- при создании поля со списком значений обработчик получит onCrmTypeUserFieldAdd и
onCrmTypeUserFieldSetEnumValues - при изменении настроек поля вместе со списком значений — onCrmTypeUserFieldUpdate и
onCrmTypeUserFieldSetEnumValues - когда меняется только набор значений — одно событие
onCrmTypeUserFieldSetEnumValues
Отличить эти случаи по содержимому data нельзя: во всех событиях приходят одни и те же три ключа. Если обработчик подписан и на onCrmTypeUserFieldUpdate, и на onCrmTypeUserFieldSetEnumValues, предусмотрите защиту от повторной обработки одного и того же ID. Разбор всех случаев — в разделе Какие события приходят вместе.
События не будут отправляться в приложение, пока установка не завершена. Проверьте установку приложения
Что получает обработчик
Данные передаются в виде POST-запроса
{
"event": "ONCRMTYPEUSERFIELDSETENUMVALUES",
"event_handler_id": "713",
"data": {
"FIELDS": {
"ID": "6977",
"ENTITY_ID": "CRM_13",
"FIELD_NAME": "UF_CRM_13_1742999523"
}
},
"ts": "1742999524",
"auth": {
"access_token": "s6p6eclrvim6da22ft9ch94ekreb52lv",
"expires_in": "3600",
"scope": "crm",
"domain": "some-domain.bitrix24.com",
"server_endpoint": "https://oauth.bitrix24.tech/rest/",
"status": "L",
"client_endpoint": "https://some-domain.bitrix24.com/rest/",
"member_id": "a223c6b3710f85df22e9377d6c4f7553",
"refresh_token": "4s386p3q0tr8dy89xvmt96234v3dljg8",
"application_token": "51856fefc120afa4b628cc82d3935cce"
}
}
|
Параметр |
Описание |
|
event |
Символьный код события. В данном случае — |
|
event_handler_id |
Идентификатор обработчика события |
|
data |
Объект, содержащий информацию о пользовательском поле, у которого изменился набор значений. Содержит единственный ключ |
|
data.FIELDS |
Объект, содержащий идентификаторы пользовательского поля, у которого изменился набор значений. Структура описана ниже |
|
ts |
Дата и время отправки события из очереди событий |
|
auth |
Объект, содержащий параметры авторизации и данные о Битрикс24, на котором произошло событие. Структура описана ниже |
Параметр FIELDS
|
Параметр |
Описание |
|
ID |
Идентификатор пользовательского поля, у которого изменился набор значений. Передайте его вместе с |
|
ENTITY_ID |
Идентификатор объекта, к которому относится пользовательское поле: В формате Значения описаны в разделе Для каких объектов срабатывают события |
|
FIELD_NAME |
Символьный код пользовательского поля, например |
Сам набор значений событие не передает. Список значений вернет метод userfieldconfig.get в ключе enum. Методу нужен scope userfieldconfig в дополнение к scope crm, с которым приложение подписывается на событие.
Параметр auth
Обязательные параметры отмечены *
|
Название |
Описание |
|
access_token |
Токен авторизации OAuth 2.0 |
|
expires_in |
Время в секундах до истечения срока действия токена |
|
scope* |
Скоуп, в рамках которого произошло событие |
|
domain* |
Адрес Битрикс24, на котором произошло событие |
|
server_endpoint* |
Адрес сервера авторизации Битрикс24, необходимый для обновления токенов OAuth 2.0 |
|
status* |
Статус приложения, подписавшегося на это событие:
|
|
client_endpoint* |
Общий путь для вызовов методов REST API для Битрикс24, на котором произошло событие |
|
member_id* |
Идентификатор Битрикс24, на котором произошло событие |
|
refresh_token |
Токен продления авторизации OAuth 2.0 |
|
application_token* |
Токен для безопасной обработки событий |
Токены авторизации не всегда передаются в обработчик события. Если хит, инициировавший событие, не удалось привязать к конкретному пользователю Битрикс24, токены не передаются. Обязательно проверяйте содержимое ключа auth в коде.
Рекомендуем хранить токены, полученные ранее при установке приложения. Используйте их при работе с интерфейсом приложения в виде встроек, виджетов и так далее.
Продолжите изучение
- Обработчик событий
- Зарегистрировать новый обработчик события event.bind
- Обзор событий при работе с настройками пользовательских полей
- При добавлении пользовательского поля смарт-процесса, нового счета или документа onCrmTypeUserFieldAdd
- При изменении пользовательского поля смарт-процесса, нового счета или документа onCrmTypeUserFieldUpdate
- При удалении пользовательского поля смарт-процесса, нового счета или документа onCrmTypeUserFieldDelete