События связанные с веб-хуком

Все события веб-хука вызываются в случае, если веб-хук не закеширован

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

[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/
    
    //Ничего возвращать не нужно
}

Last updated