• Модуль: seo
  • Путь к файлу: ~/bitrix/modules/seo/lib/retargeting/services/audienceyandex.php
  • Класс: BitrixSeoRetargetingServicesAudienceYandex
  • Вызов: AudienceYandex::importContacts
public function importContacts($audienceId, array $contacts, array $options)
{
	$createNewAudience = ($audienceId == static::NEW_AUDIENCE_FAKE_ID);
	$audienceData = $this->getById($audienceId);
	if (!$audienceData)
	{
		$result = new Result();
		$result->addError(new Error('Audience '.$audienceId.' not found'));
		return $result;
	}

	$hashed = (bool)$audienceData['HASHED'];
	$payload = $this->prepareContacts($contacts, $hashed, $options['type']);

	if ($createNewAudience)
	{
		$name = $options['audienceName'] ?: Loc::getMessage('SEO_RETARGETING_SERVICE_AUDIENCE_NAME_TEMPLATE', ['#DATE#' => FormatDate('j F')]);
		$response = $this->getRequest()->send(array(
			'methodName' => 'retargeting.audience.add',
			'parameters' => array(
				'name' => $name,
				'hashed' => $hashed ? 1 : 0,
				'contacts' => $payload
			),
			'timeout' => static::UPDATE_AUDIENCE_TIMEOUT
		));
	}
	else
	{
		$response = $this->getRequest()->send(array(
			'methodName' => 'retargeting.audience.contacts.rewrite',
			'parameters' => array(
				'audienceId' => $audienceId,
				'contacts' => $payload
			),
			'timeout' => static::UPDATE_AUDIENCE_TIMEOUT
		));
	}

	return $response;
}