• Модуль: voximplant
  • Путь к файлу: ~/bitrix/modules/voximplant/lib/rest/helper.php
  • Класс: BitrixVoximplantRestHelper
  • Вызов: Helper::showExternalCall
static function showExternalCall(array $params)
{
	$callId = $params['CALL_ID'];
	$call = Call::load($callId);
	if (!$call)
	{
		return false;
	}

	if ($call->getExternalLineId())
	{
		$externalLine = ExternalLineTable::getRowById($call->getExternalLineId());
	}


	if (isset($params['USER_ID']))
	{
		if (is_array($params['USER_ID']))
		{
			$userId = $params['USER_ID'];
		}
		else {
			$userId = [(int)$params['USER_ID']];
		}
	}
	else
	{
		$userId = [$call->getUserId()];
	}

	CVoxImplantMain::SendPullEvent([
		'COMMAND' => 'showExternalCall',
		'CALL_ID' => $callId,
		'USER_ID' => $userId,
		'PHONE_NUMBER' => (string)$call->getCallerId(),
		'LINE_NUMBER' => $externalLine ? $externalLine['NUMBER'] : null,
		'COMPANY_PHONE_NUMBER' => $externalLine ? ($externalLine['NAME'] ?: $externalLine['NUMBER']) : null,
		'INCOMING' => $call->getIncoming(),
		'SHOW_CRM_CARD' => $call->isCrmEnabled(),
		'CRM_ENTITY_TYPE' => $call->getPrimaryEntityType(),
		'CRM_ENTITY_ID' => $call->getPrimaryEntityId(),
		'CRM_BINDINGS' => CVoxImplantCrmHelper::resolveBindingNames($call->getCrmBindings()),
		'CRM' => CVoxImplantCrmHelper::GetDataForPopup($call->getCallId(), $call->getCallerId(), $userId),
		'CONFIG' => [
			'CRM_CREATE' => 'none'
		],
		'PORTAL_CALL' => $call->isInternalCall() ? 'Y' : 'N',
		'PORTAL_CALL_USER_ID' => $call->getPortalUserId(),
		'PORTAL_CALL_DATA' => $call->isInternalCall() ? Im::getUserData(['ID' => [$call->getUserId(), $call->getPortalUserId()], 'DEPARTMENT' => 'N', 'HR_PHOTO' => 'Y']) : []
	]);
	return true;
}