• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/integration/bizproc/automation/rest.php
  • Класс: BitrixTasksIntegrationBizprocAutomationRest
  • Вызов: Rest::executeAppTrigger
static function executeAppTrigger(array $params, $server)
{
	/** @var CRestServer $server */
	$clientId = $server ? $server->getClientId() : null;

	if (!$clientId)
	{
		throw new AccessException('Application context required');
	}

	$code = $params[0];
	self::validateTriggerCode($code);

	$app = AppTable::getList(
		array(
			'filter' => array(
				'=CLIENT_ID' => $clientId
			),
			'select' => array('ID')
		)
	)->fetch();

	$appTrigger = TriggerEntityAppTable::getList(array(
		'filter' => array(
			'=APP_ID' => $app['ID'],
			'=CODE' => $code
		),
		'select' => array('ID')
	))->fetch();

	if (!$appTrigger)
	{
		throw new RestException("Trigger with code {$code} is not registered.");
	}

	$taskId = (int) $params[1];
	if ($taskId <= 0)
	{
		throw new RestException("Incorrect parameter TASK_ID.");
	}

	$result = TriggerApp::execute($taskId, ['APP_ID' => $app['ID'], 'CODE' => $code]);

	if ($result->isSuccess())
	{
		return [$result->getData()];
	}

	return [false];
}