• Модуль: rest
  • Путь к файлу: ~/bitrix/modules/rest/lib/preset/eventcontroller.php
  • Класс: BitrixRestPresetEventController
  • Вызов: EventController::onAfterAddEvent
static function onAfterAddEvent(Event $event)
{
	if (!static::$skipMode)
	{
		$id = intVal($event->getParameter('id'));
		$fields = $event->getParameter('fields');
		if ($id > 0 && !$fields['APP_ID'] > 0 && !$fields['INTEGRATION_ID'] > 0)
		{
			$result = IntegrationTable::add(
				[
					'ELEMENT_CODE' => Element::DEFAULT_OUT_WEBHOOK,
					'TITLE' => $fields['TITLE'],
					'USER_ID' => $fields['USER_ID'],
					'APPLICATION_TOKEN' => $fields['APPLICATION_TOKEN'],
					'OUTGOING_EVENTS' => [
						$fields['EVENT_NAME']
					],
					'OUTGOING_HANDLER_URL' => $fields['EVENT_HANDLER'],
					'APPLICATION_NEEDED' => 'N',
					'QUERY_NEEDED' => 'N',
					'OUTGOING_NEEDED' => 'Y',
					'WIDGET_NEEDED' => 'N',
					'BOT_NEEDED' => 'N',
				]
			);

			if ($result->isSuccess())
			{
				EventTable::update(
					$result->getId(),
					[
						'INTEGRATION_ID' => $result->getId()
					]
				);
			}
		}
	}
}