При изменении пользовательского поля смарт-процесса, нового счета или документа onCrmTypeUserFieldUpdate

Выберите инструмент для разработки с AI-агентом:

  • используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
  • используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации

Scope: crm

Кто может подписаться: любой пользователь

Событие ONCRMTYPEUSERFIELDUPDATE сработает при изменении настроек пользовательского поля смарт-процесса, нового счета или документа на подпись. Событие приходит и при изменении поля в интерфейсе, и при вызове метода userfieldconfig.update.

Если у поля списочного типа enumeration изменился еще и набор значений, обработчик получит два события: onCrmTypeUserFieldUpdate и onCrmTypeUserFieldSetEnumValues. Когда меняется только набор значений, приходит одно событие onCrmTypeUserFieldSetEnumValues. Разбор всех случаев — в разделе Какие события приходят вместе.

События не будут отправляться в приложение, пока установка не завершена. Проверьте установку приложения

Что получает обработчик

Данные передаются в виде POST-запроса

{
            "event": "ONCRMTYPEUSERFIELDUPDATE",
            "event_handler_id": "713",
            "data": {
                "FIELDS": {
                    "ID": "6977",
                    "ENTITY_ID": "CRM_13",
                    "FIELD_NAME": "UF_CRM_13_1742999523"
                }
            },
            "ts": "1743003117",
            "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
string

Символьный код события.

В данном случае — ONCRMTYPEUSERFIELDUPDATE

event_handler_id
integer

Идентификатор обработчика события

data
object

Объект, содержащий информацию об измененном пользовательском поле.

Содержит единственный ключ FIELDS

data.FIELDS
object

Объект, содержащий идентификаторы измененного пользовательского поля.

Структура описана ниже

ts
timestamp

Дата и время отправки события из очереди событий

auth
object

Объект, содержащий параметры авторизации и данные о Битрикс24, на котором произошло событие.

Структура описана ниже

Параметр FIELDS

Параметр
тип

Описание

ID
integer

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

Передайте его вместе с moduleId = crm в метод userfieldconfig.get, чтобы получить новые настройки поля

ENTITY_ID
string

Идентификатор объекта, к которому относится пользовательское поле: CRM_{id} для смарт-процесса, CRM_SMART_INVOICE для нового счета, CRM_SMART_DOCUMENT для документа на подпись.

В формате CRM_{id} используется ключ id из результата метода crm.type.list, а не entityTypeId.

Значения описаны в разделе Для каких объектов срабатывают события

FIELD_NAME
string

Символьный код измененного пользовательского поля, например UF_CRM_13_1742999523

Событие не передает, какие именно настройки изменились, и не содержит значений до и после изменения. Новые настройки вернет метод userfieldconfig.get. Методу нужен scope userfieldconfig в дополнение к scope crm, с которым приложение подписывается на событие.

Параметр auth

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

Название
тип

Описание

access_token
string

Токен авторизации OAuth 2.0

expires_in
integer

Время в секундах до истечения срока действия токена

scope*
string

Скоуп, в рамках которого произошло событие

domain*
string

Адрес Битрикс24, на котором произошло событие

server_endpoint*
string

Адрес сервера авторизации Битрикс24, необходимый для обновления токенов OAuth 2.0

status*
string

Статус приложения, подписавшегося на это событие:

client_endpoint*
string

Общий путь для вызовов методов REST API для Битрикс24, на котором произошло событие

member_id*
string

Идентификатор Битрикс24, на котором произошло событие

refresh_token
string

Токен продления авторизации OAuth 2.0

application_token*
string

Токен для безопасной обработки событий

Токены авторизации не всегда передаются в обработчик события. Если хит, инициировавший событие, не удалось привязать к конкретному пользователю Битрикс24, токены не передаются. Обязательно проверяйте содержимое ключа auth в коде.

Рекомендуем хранить токены, полученные ранее при установке приложения. Используйте их при работе с интерфейсом приложения в виде встроек, виджетов и так далее.

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