• Модуль: sender
  • Путь к файлу: ~/bitrix/modules/sender/lib/integration/bitrix24/service.php
  • Класс: Bitrix\Sender\Integration\Bitrix24\Service
  • Вызов: Service::getTrackingUri
static function getTrackingUri(int $type, ?string $siteId = null): ?string
{
	switch ($type)
	{
		case Tracker::TYPE_READ:
			$code = 'read';
			break;

		case Tracker::TYPE_CLICK:
			$code = 'click';
			break;

		case Tracker::TYPE_UNSUB:
		default:
			$code = 'unsubscribe';
			break;
	}

	$uri = "/pub/mail/$code.php";
	if ($siteId)
	{
		if (!File::isFileExists(SiteTable::getDocumentRoot($siteId) . DIRECTORY_SEPARATOR . $uri))
		{
			return null;
		}
	}

	// exclude com.br & com.de domains
	if (
		self::isCloud()
		&& defined('BX24_HOST_NAME')
		&& !in_array(mb_substr(BX24_HOST_NAME, -7), ['.com.br', '.com.de'])
	)
	{
		$domain = BX24_HOST_NAME;

		if (!\CBitrix24::isCustomDomain())
		{
			$domain = preg_replace('/^([-\.\w]+)\.bitrix24\.([-\.\w]+)/', '$2.$1', $domain);
			$domain = "mailinternetsub.com/" . $domain;
		}

		$uri = "https://$domain$uri";
	}

	return $uri;
}