• Модуль: messageservice
  • Путь к файлу: ~/bitrix/modules/messageservice/lib/Providers/Edna/EdnaUtils.php
  • Класс: BitrixMessageServiceProvidersEdnaEdnaUtils
  • Вызов: EdnaUtils::setCallback
public function setCallback(string $callbackUrl, array $callbackTypes, ?int $subjectId = null): Result
{
	$typeList = ConstantsCallbackType::getAllTypeList();

	$requestParams = [];
	foreach ($callbackTypes as $callbackType)
	{
		if (in_array($callbackType, $typeList, true))
		{
			$requestParams[$callbackType] = $callbackUrl;
		}
	}
	if (empty($requestParams))
	{
		return (new Result())->addError(new Error('Invalid callback types passed'));
	}

	if ($subjectId)
	{
		$requestParams['subjectId'] = $subjectId;
	}
	$this->externalSender->setApiKey($this->optionManager->getOption(InternalOption::API_KEY));

	return $this->externalSender->callExternalMethod('callback/set', $requestParams);
}