Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Событие на обновление объекта CRM пользовательского типа onCrmDynamicItemUpdate», проанализируем лучшие практики и покажем, как правильно использовать событие обновление в реальных задачах.
Событие на обновление объекта CRM пользовательского типа onCrmDynamicItemUpdate
> Scope: crm
>
> Кто может подписаться: любой пользователь
Событие срабатывает на изменении элемента любого пользовательского типа объектов в CRM.
События не будут отправляться в приложение, пока установка не завершена. Проверьте установку приложения
Что получает обработчик
Данные передаются в виде POST-запроса {.b24-info}
Событие на изменение элемента с id = 24, принадлежащему смарт-процессу с entityTypeId = 1220:
{
"event": "ONCRMDYNAMICITEMUPDATE",
"event_handler_id": "5",
"data": {
"FIELDS": {
"ID": "24",
"ENTITY_TYPE_ID": "1220"
}
},
"ts": "1723538517",
"auth": {
"access_token": "s6p6eclrvim6da22ft9ch94ekreb52lv",
"expires_in": "3600",
"scope": "crm",
"domain": "some-domain.bitrix24.com",
"server_endpoint": "https://oauth.bitrix24.tech/rest/",
"status": "F",
"client_endpoint": "https://some-domain.bitrix24.com/rest/",
"member_id": "a223c6b3710f85df22e9377d6c4f7553",
"refresh_token": "4s386p3q0tr8dy89xvmt96234v3dljg8",
"application_token": "51856fefc120afa4b628cc82d3935cce"
}
}Параметртип | Описание |
|---|---|
| event [ string][1] | Символьный код события. В данном случае |
| event_handler_id [ integer][1] | Идентификатор обработчика события |
| data [ object][1] | Объект, содержащий информацию об измененном объекте пользовательского типа CRM. Содержит единственный ключ |
| data.FIELDS [ object][1] | Объект содержащий информацию о полях измененного объекта пользовательского типа CRM. Структура описана ниже |
| ts [ timestamp][1] | Дата и время отправки события из очереди событий |
| auth [ object][1] | Объект, содержащий параметры авторизации и данные о портале, на котором произошло событие. Структура описана ниже |
Параметр FIELDS {#fields}
Параметртип | Описание |
|---|---|
| ID [ integer][1] | Идентификатор измененного объекта пользовательского типа CRM |
| ENTITY_TYPE_ID [ integer][1] | Идентификатор пользовательского типа CRM |
Параметр auth {#auth}
Несмотря на то, что универсальные методы CRM позволяют добавлять и модифицировать объекты таких стандартных типов, как сделки, лиды, контакты, компании и коммерческие предложения, событие onCrmDynamicItemUpdate не будет срабатывать при изменении перечисленных объектов.
Для отслеживания изменений сделок, лидов и т.д., вы можете воспользоваться специальными событиями:
- [](../../deals/events/on-crm-deal-update)
- [](../../leads/events/on-crm-lead-update)
- [](../../contacts/events/on-crm-contact-update)
- [](../../companies/events/on-crm-company-update)
- [](../../quote/events/on-crm-quote-update)
При изменении новых счетов событие onCrmDynamicItemUpdate сработает.
- [](../../../events/index)
- [](../../../events/event-bind)
- [](index)
- [](on-crm-dynamic-item-add)
- [](on-crm-dynamic-item-delete)
[1]: ../../../data-types.md
💡 Экспертное мнение и рекомендации
Советы эксперта по интеграции:
- Всегда используйте кэширование при частых запросах к событие обновление, чтобы разгрузить базу данных.
- Соблюдайте стандарты PSR при написании обработчиков для «Событие на обновление объекта CRM пользовательского типа onCrmDynamicItemUpdate».
- Регулярно проводите аудит производительности системы с помощью встроенного монитора 1С-Битрикс.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru