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