- Модуль: seo
- Путь к файлу: ~/bitrix/modules/seo/lib/analytics/services/accountfacebook.php
- Класс: BitrixSeoAnalyticsServicesAccountFacebook
- Вызов: AccountFacebook::updatePublicPage
protected function updatePublicPage($publicPageId, array $params)
{
$result = new ResponseFacebook();
$fields = [];
if(isset($params['phone']))
{
$fields['phone'] = $params['phone'];
}
if(isset($params['email']))
{
$fields['emails'] = $params['email'];
}
$response = $this->getRequest()->send([
'method' => 'POST',
'endpoint' => $publicPageId,
'fields' => $fields,
]);
if(!$response->isSuccess())
{
$result->addErrors($response->getErrors());
}
$response = $this->getRequest()->send([
'method' => 'GET',
'endpoint' => $publicPageId.'/call_to_actions',
'fields' => [
'fields' => 'id,type'
],
]);
if($response->isSuccess())
{
$callToAction = $response->getData();
if($callToAction['type'] == 'CALL_NOW' && isset($fields['phone']))
{
$response = $this->getRequest()->send([
'method' => 'POST',
'endpoint' => $callToAction['id'],
'fields' => [
'intl_number_with_plus' => $fields['phone']
]
]);
}
elseif($callToAction == 'EMAIL' && isset($fields['emails']))
{
$response = $this->getRequest()->send([
'method' => 'POST',
'endpoint' => $callToAction['id'],
'fields' => [
'email_address' => $fields['emails']
]
]);
}
}
return $response;
}