- Модуль: seo
- Путь к файлу: ~/bitrix/modules/seo/lib/retargeting/services/audiencevkontakte.php
- Класс: BitrixSeoRetargetingServicesAudienceVkontakte
- Вызов: AudienceVkontakte::processLookalikeAudienceAgent
static function processLookalikeAudienceAgent($clientId, $accountId, $audienceRequestId, $audienceSize)
{
$service = AdsAudience::getService();
$service->setClientId($clientId);
$audience = new static($accountId);
$audience->setService($service);
$result = $audience->getRequest()->send(array(
'methodName' => 'retargeting.audience.lookalike.request.get',
'parameters' => array(
'accountId' => $accountId,
'requestId' => $audienceRequestId,
)
));
if (!$result->isSuccess())
{
return '';
}
$data = $result->getData();
$audienceRequest = array_filter($data['items'],
function ($item) use ($audienceRequestId)
{
return $audienceRequestId == $item['id'];
}
);
if (empty($audienceRequest))
{
return '';
}
$audienceRequest = array_shift($audienceRequest);
if ($audienceRequest['status'] == 'search_in_progress') // not processed yet
{
return $audience->getLookalikeAudienceAgentName($audienceRequestId, $audienceSize);
}
if ($audienceRequest['status'] == 'search_done') // processing complete
{
$audience->getRequest()->send(array(
'methodName' => 'retargeting.audience.lookalike.add',
'parameters' => array(
'accountId' => $accountId,
'requestId' => $audienceRequestId,
'level' => $audienceSize
)
));
}
return '';
}