- Модуль: voximplant
- Путь к файлу: ~/bitrix/modules/voximplant/lib/rest/helper.php
- Класс: BitrixVoximplantRestHelper
- Вызов: Helper::addExternalLine
static function addExternalLine(array $externalLine, $restAppId)
{
$result = new Result();
$number = trim($externalLine['NUMBER']);
if ($number == '')
{
$result->addError(new Error('NUMBER should not be empty'));
return $result;
}
try
{
$insertResult = ExternalLineTable::add([
'NUMBER' => $number,
'NAME' => $externalLine['NAME'],
'CRM_AUTO_CREATE' => $externalLine['CRM_AUTO_CREATE'],
'REST_APP_ID' => $restAppId
]);
if(!$insertResult->isSuccess())
{
return $result->addErrors($insertResult->getErrors());
}
}
catch (SqlQueryException $exception)
{
if (mb_strpos($exception->getMessage(), '(1062)') !== false)
{
return $result->addError(new Error("Line already exists"));
}
else
{
self::writeToLogException($exception);
return $result->addError(new Error("DB error"));
}
}
Application::getInstance()->addBackgroundJob(
["CVoxImplantUser", "clearCache"],
[],
Application::JOB_PRIORITY_LOW
);
$result->setData([
'ID' => $insertResult->getId()
]);
return $result;
}