• Модуль: sender
  • Путь к файлу: ~/bitrix/modules/sender/lib/entity/letter.php
  • Класс: BitrixSenderEntityLetter
  • Вызов: Letter::createInstanceByCode
static function createInstanceByCode($code = null, array $messageCodes = [])
{
	if (!$code && empty($messageCodes))
	{
		return null;
	}

	if (!$code)
	{
		$code = current($messageCodes);
	}

	if (empty($messageCodes))
	{
		$messageCodes = [$code];
	}

	if (!in_array($code, $messageCodes))
	{
		return null;
	}

	try
	{
		$message = MainMessageAdapter::create($code);
	} catch (ArgumentException $e)
	{
		return null;
	}

	if ($message->isAds() || $message->isMarketing())
	{
		$instance = new Ad();
	}
	elseif ($message->isReturnCustomer())
	{
		$instance = new Rc();
	}
	elseif ($message->isMailing())
	{
		$instance = new Letter();
	}
	else
	{
		$instance = new Toloka();
	}

	return $instance;
}