• Модуль: 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;
}