• Модуль: salescenter
  • Путь к файлу: ~/bitrix/modules/salescenter/lib/integration/imopenlinesmanager.php
  • Класс: BitrixSalesCenterIntegrationImOpenLinesManager
  • Вызов: ImOpenLinesManager::sendPage
public function sendPage(Page $page, $dialogId)
{
	$result = new Result();
	if($this->isEnabled())
	{
		$fieldsMessage = [
			'DIALOG_ID' => $dialogId,
			'AUTHOR_ID' => Driver::getInstance()->getUserId(),
			'FROM_USER_ID' => Driver::getInstance()->getUserId(),
			'PARAMS' => $this->createImParamsByPage($page),
			'MESSAGE' => $this->createImMessageByPage($page),
		];

		$formIds = $this->getWebFormIdsByPage($page);

		if(!empty($formIds))
		{
			$imOlMessage = new ImOlSalesCenterForm(ImOlSalesCenterForm::normalizeChatId($dialogId));
			$imOlMessage->setFormIds($formIds);
		}
		else
		{
			$imOlMessage = new ImOlSalesCenterOther(ImOlSalesCenterOther::normalizeChatId($dialogId));
		}

		$imOlMessage->setMessage($fieldsMessage);

		$resultSendMessage = $imOlMessage->send();

		if(!$resultSendMessage->isSuccess())
		{
			$result->addErrors($resultSendMessage->getErrors());
		}
	}

	return $result;
}