- Модуль: sender
- Путь к файлу: ~/bitrix/modules/sender/lib/posting/sender.php
- Класс: BitrixSenderPostingSender
- Вызов: Sender::applyRecipientToMessage
static function applyRecipientToMessage(Adapter $message, array $recipient, $isTest = false)
{
$siteId = MailingTable::getMailingSiteId($recipient['CAMPAIGN_ID'] ? : Campaign::getDefaultId(SITE_ID));
$message->getReadTracker()->setModuleId('sender')->setFields(['RECIPIENT_ID' => $recipient["ID"]])
->setHandlerUri(Option::get('sender', 'read_link'))->setSiteId($siteId);
$message->getClickTracker()->setModuleId('sender')->setFields(['RECIPIENT_ID' => $recipient["ID"]])
->setUriParameters(['bx_sender_conversion_id' => $recipient["ID"]])->setHandlerUri(
Option::get('sender', 'click_link')
)->setSiteId($siteId);
$message->getUnsubTracker()->setModuleId('sender')->setFields(
[
'RECIPIENT_ID' => $recipient['ID'],
'CONTACT_ID' => $recipient['CONTACT_ID'] ?? '',
'MAILING_ID' => $recipient['CAMPAIGN_ID'] ?? 0,
'EMAIL' => $message->getRecipientCode(),
'CODE' => $message->getRecipientCode(),
'TEST' => $isTest ? 'Y' : 'N'
]
)->setHandlerUri(Option::get('sender', 'unsub_link'))->setSiteId($siteId);
$fields = self::prepareRecipientFields($recipient);
$message->setFields($fields);
$message->setRecipientId($recipient['ID']);
$message->setRecipientCode($recipient['CONTACT_CODE']);
$message->setRecipientType(RecipientType::getCode($recipient['CONTACT_TYPE_ID'] ?? ''));
$message->setRecipientData($recipient);
}