Все события веб-хука вызываются в случае, если веб-хук не закеширован
Чтобы сработало событие для веб-хука, необходимо, чтобы веб-хук был верно настроен, совпадала контрольная строка веб-хука и конкретный веб-хук не должен быть закеширован.
[OnBeforeWebhookProcess] Событие перед обработкой любого веб-хука модуля
Событие вызывается на каждый веб-хук, который установлен в настройках модуля. Данным событием можно остановить обработку веб-хука.
//Пример кода нужно вставить в файл init.php
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'rbs.moysklad',
'OnBeforeWebhookProcess',
'OnBeforeWebhookProcessHandler'
);
function OnBeforeWebhookProcessHandler(\Bitrix\Main\Event $event)
{
$eventParams = $event->getParameters();
$data = $eventParams['data']; //объект веб-хука, которые прилетел из МС
// \Rbs\Moysklad\Logger::debugMsg($data , 'OnBeforeWebhookProcessHandler.txt'); // записываем логи в папку /bitrix/modules/rbs.moysklad/logs/
//Отправляем \Bitrix\Main\EventResult::ERROR только в случае, если нужно остановить дальнейшую работу веб-хука
//return new \Bitrix\Main\EventResult(\Bitrix\Main\EventResult::ERROR, []);
}
[OnCreateWebhookOrder] Событие после создания заказа модулем из МС
Событие вызывается после того, как модуль создаст заказ в Битриксе.
//Пример кода нужно вставить в файл init.php
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'rbs.moysklad',
'OnCreateWebhookOrder',
'OnCreateWebhookOrderHandler'
);
function OnCreateWebhookOrderHandler(\Bitrix\Main\Event $event)
{
$eventParams = $event->getParameters();
$bxOrder = $eventParams['bxOrder']; //объект созданного заказа в БУС
$msOrder= $eventParams['msOrder']; //объект заказа МС
// \Rbs\Moysklad\Logger::debugMsg([$bxOrder, $msOrder] , 'OnCreateWebhookOrderHandler.txt'); // записываем логи в папку /bitrix/modules/rbs.moysklad/logs/
//Ничего возвращать не нужно
}
[OnUpdateWebhookOrder] Событие после обновления заказа модулем
Событие вызывается по следующим условиям:
Веб-хук сущности customerorder
Событие UPDATE
Для данного заказа из МС найден соответствующий заказ в БУС
Заказ проходит по фильтрам в настройках модуля
//Пример кода нужно вставить в файл init.php
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'rbs.moysklad',
'OnUpdateWebhookOrder',
'OnUpdateWebhookOrderHandler'
);
function OnUpdateWebhookOrderHandler(\Bitrix\Main\Event $event)
{
$eventParams = $event->getParameters();
$bxOrder = $eventParams['bxOrder']; //объект заказа БУС
$msOrder= $eventParams['msOrder']; //объект заказа МС
// \Rbs\Moysklad\Logger::debugMsg([$bxOrder, $msOrder] , 'OnUpdateWebhookOrderHandler.txt'); // записываем логи в папку /bitrix/modules/rbs.moysklad/logs/
//Ничего возвращать не нужно
}
[OnAfterWebhookProcess] Событие после работы любого веб-хука
Событие вызывается на каждый веб-хук, который установлен в настройках модуля.
//Пример кода нужно вставить в файл init.php
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'rbs.moysklad',
'OnAfterWebhookProcess',
'OnAfterWebhookProcessHandler'
);
function OnAfterWebhookProcessHandler(\Bitrix\Main\Event $event)
{
$eventParams = $event->getParameters();
$data = $eventParams['data']; //объект веб-хука, которые прилетел из МС
// \Rbs\Moysklad\Logger::debugMsg($data , 'OnAfterWebhookProcessHandler.txt'); // записываем логи в папку /bitrix/modules/rbs.moysklad/logs/
//Ничего возвращать не нужно
}