• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/classes/general/im_rest.php
  • Класс: CIMRestService
  • Вызов: CIMRestService::chatParentJoin
static function chatParentJoin($arParams, $n, CRestServer $server)
{
	$arParams = array_change_key_case($arParams, CASE_UPPER);

	if (isset($arParams['DIALOG_ID']))
	{
		if (BitrixImCommon::isChatId($arParams['DIALOG_ID']))
		{
			$arParams['CHAT_ID'] = BitrixImDialog::getChatId($arParams['DIALOG_ID']);
		}
		else
		{
			throw new BitrixRestRestException("Dialog ID can't be empty", "DIALOG_ID_EMPTY", CRestServer::STATUS_WRONG_REQUEST);
		}
	}

	$arParams['CHAT_ID'] = intval($arParams['CHAT_ID']);
	if ($arParams['CHAT_ID'] <= 0)
	{
		throw new BitrixRestRestException("Chat ID can't be empty", "CHAT_ID_EMPTY", CRestServer::STATUS_WRONG_REQUEST);
	}

	$arParams['MESSAGE_ID'] = intval($arParams['MESSAGE_ID']);
	if ($arParams['MESSAGE_ID'] <= 0)
	{
		throw new BitrixRestRestException("Message ID can't be empty", "MESSAGE_ID_EMPTY", CRestServer::STATUS_WRONG_REQUEST);
	}

	$chat = new CIMChat();

	if (!$chat->JoinParent($arParams['CHAT_ID'], $arParams['MESSAGE_ID']))
	{
		throw new BitrixRestRestException("Action unavailable", "ACCESS_ERROR", CRestServer::STATUS_WRONG_REQUEST);
	}

	return true;
}