Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Событие при добавлении товара CATALOG.PRODUCT.ON.ADD», проанализируем лучшие практики и покажем, как правильно использовать CATALOG.PRODUCT.ON.ADD в реальных задачах.
Событие при добавлении товара CATALOG.PRODUCT.ON.ADD
> Scope: catalog
>
> Кто может подписаться: любой пользователь
Событие происходит при добавлении товара.
События не будут отправляться в приложение, пока установка не завершена. Проверьте установку приложения
Что получает обработчик
Данные передаются в виде POST-запроса {.b24-info}
[
'event' => 'CATALOG.PRODUCT.ON.ADD',
'event_handler_id' => 1,
'data' => [
'FIELDS' => [
'ID' => 1,
'TYPE' => 1,
],
],
'ts' => 1714649632,
'auth' => [
'access_token' => 's6p6eclrvim6da22ft9ch94ekreb52lv',
'expires_in' => 3600,
'scope' => 'catalog',
'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',
],
]Входящие параметры и конфигурация метода
Названиетип | Описание |
|---|---|
eventstring | Символьный код события |
event_handler_idinteger | Идентификатор обработчика события |
dataobject | Объект с данными события. Структура описана ниже |
tsinteger | Timestamp отправки события из очереди событий |
authobject | Объект с параметрами авторизации и данными о портале, на котором произошло событие |
Параметр data {#data}
Названиетип | Описание |
|---|---|
FIELDSobject | Объект со свойствами товара. Структура описана ниже |
Параметр FIELDS {#fields}
Названиетип | Описание | |||
|---|---|---|---|---|
IDcatalog_product.id\ | catalog_product_sku.id\ | catalog_product_offer.id\ | catalog_product_service.id | Идентификатор товара. Получить все поля товара по его идентификатору можно с помощью методов: — catalog.product.get — для простых товаров — catalog.product.sku.get — для головных товаров — catalog.product.offer.get — для вариаций — catalog.product.service.get — для услуг |
TYPEinteger | Тип товара: — 1 — простой товар— 3 — головной товар с вариациями— 4 — вариация— 5 — вариация без товара— 6 — головной товар без вариаций— 7 — услуга |
Параметр auth {#auth}
- [](./catalog-product-on-update)
- [](./catalog-product-on-delete)
💡 Экспертное мнение и рекомендации
Ключевые выводы по теме «Событие при добавлении товара CATALOG.PRODUCT.ON.ADD»:
Использование современных стандартов D7 при работе с CATALOG.PRODUCT.ON.ADD позволяет писать чистый, масштабируемый и безопасный код. Не забывайте обрабатывать исключения (try/catch) и проверять права доступа текущего пользователя перед выполнением критических операций.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru