Для примера отправки уведомления в Битркис24 будем использовать вебхук.
Создадим кастомное событие (хотя можно использовать и существующие типы).
Далее создаем отслеживаемое событие, на вкладке Действия нужно выбрать вызов события.
Далее в обработчике события можно добавить вызов вебхука для Битрикс24. Разместить код можно в /bitrix/php_interface/init.php
<?php
if (\Bitrix\Main\Loader::includeModule('bxmaker.waitevent')) {
$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler(
"bxmaker.waitevent",
"OnItemActionTypeEvent",
'bxmaker_waitevent_OnItemActionTypeEvent_b24notice'
);
function bxmaker_waitevent_OnItemActionTypeEvent_b24notice(\Bitrix\Main\Event $event)
{
$arFields = $event->getParameter('FIELDS');
$itemId = $event->getParameter('ITEM_ID');
$actionId = $event->getParameter('ACTION_ID');
// тут нужно указать адрес вебхука и ID пользователя
// в Битркис24 которому будет отправлено уведомление
$webhookRestApi = 'https://example1.bitrix24.ru/rest/1/8yb428m86o57247/';
$userId = 1;
$text = sprintf('%s | %s | OBJECT_ID: %s',
$arFields['NAME'],
$arFields['ADDITIONAL_TEXT'],
$arFields['OBJECT_ID']
);
$oHttp = new \Bitrix\Main\Web\HttpClient();
$oHttp->post(
$webhookRestApi . '/im.notify.json',
[
'TO' => $userId,
'MESSAGE' => $text,
'TYPE' => 'SYSTEM',
]
);
}
}
И наконец добавляем в журнал запись о событии
\CEventLog::Log(
\CEventLog::SEVERITY_ERROR,
'MAY_TYPE',
'bxmaker.waitevent',
'test'
);
Теперь после очередного выполнения агентов, будет произведена проверка условий и отправка вебхука.
Можно вручную запустить агента в командной PHP строке /bitrix/admin/php_command_line.php?lang=ru
\BXmaker\WaitEvent\Item::checkConditions(1);
В данном случае передаваемый параметр 1 - это идентификатор записи отслеживаемого события
В результате в Битрикс24 появится уведомление