- Модуль: voximplant
- Путь к файлу: ~/bitrix/modules/voximplant/classes/general/vi_phone.php
- Класс: CVoxImplantPhone
- Вызов: CVoxImplantPhone::AttachPhoneNumber
static function AttachPhoneNumber($name, $params)
{
$result = new BitrixVoximplantResult();
$arPhones = Array();
$viHttp = new CVoxImplantHttp();
$apiResult = $viHttp->AttachPhoneNumber($params);
if ($apiResult && $apiResult->result && !empty($apiResult->phone_numbers))
{
foreach ($apiResult->phone_numbers as $number)
{
$arPhones[$number->phone_number]['PHONE_NUMBER'] = '+'.$number->phone_number;
$arPhones[$number->phone_number]['PHONE_NUMBER_FORMATTED'] = static::formatInternational($number->phone_number);
$arPhones[$number->phone_number]['SUBSCRIPTION_ID'] = $number->subscription_id;
$arPhones[$number->phone_number]['COUNTRY_CODE'] = $number->phone_country_code;
$arPhones[$number->phone_number]['VERIFICATION_REGION'] = isset($number->required_verification)? $number->required_verification: '';
$arPhones[$number->phone_number]['VERIFICATION_STATUS'] = isset($number->verification_status)? $number->verification_status: 'VERIFIED';
}
CVoxImplantHistory::WriteToLog($arPhones, 'ATTACHED PHONES');
}
else
{
CVoxImplantHistory::WriteToLog($viHttp->GetError(), 'ERROR WHILE ATTACH');
$errorCode = $viHttp->GetError()->code;
$errorMessage = Loc::getMessage("VI_PHONE_ATTACH_ERROR_" . $errorCode) ?: $viHttp->GetError()->msg;
$result->addError(new BitrixMainError($errorMessage, $errorCode));
return $result;
}
$configId = static::createConfig($name, $arPhones);
static::savePhoneNumbers($configId, $arPhones);
CVoxImplantUser::clearCache();
CVoxImplantConfig::SetModeStatus(CVoxImplantConfig::MODE_RENT, true);
$result->setData([
'configId' => $configId,
'numbers' => $arPhones,
]);
return $result;
}