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