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