• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/V2/Controller/Import.php
  • Класс: BitrixImV2ControllerImport
  • Вызов: Import::createPrivateAction
public function createPrivateAction(array $users, CurrentUser $user, string $externalId = ''): ?array
{
	if (!ImportService::isAdmin((int)$user->getId()))
	{
		$this->addError(new ImportError(ImportError::ACCESS_ERROR));

		return null;
	}
	if (count($users) !== 2)
	{
		$this->addError(new ImportError(ImportError::PRIVATE_CHAT_COUNT_USERS_ERROR));

		return null;
	}

	$users = array_map('intval', $users);

	$chatParams = [
		'TYPE' => IM_MESSAGE_PRIVATE,
		'ENTITY_ID' => $externalId,
		'ENTITY_DATA_1' => "{$users[0]}|{$users[1]}",
		'AUTHOR_ID' => $users[0],
		'USERS' => false,
	];

	$initResult = ImportService::create($chatParams);

	if (!$initResult->isSuccess())
	{
		$this->addErrors($initResult->getErrors());

		return null;
	}

	return $this->convertKeysToCamelCase($initResult->getResult());
}