Zoom::requestNewChatConference

  1. Bitrix24 API (v. 23.675.0)
  2. im
  3. Zoom
  4. requestNewChatConference
  • Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/call/integration/zoom.php
  • Класс: BitrixImCallIntegrationZoom
  • Вызов: Zoom::requestNewChatConference
private function requestNewChatConference(): Result
{
	$result = new Result();

	$startTime = (new DateTime())
		->setTimeZone(new DateTimeZone('UTC'))
		->add('1 MINUTE')
		->format(DATE_ATOM);

	$randomSequence = new BitrixMainTypeRandomSequence($this->zoomChatName.$startTime);
	$password = $randomSequence->randString(10);

	$requestParams = [
		'ENTITY_ID' => $this->chatId,
		'ENTITY_TYPE_ID' => $this->chatType,
		'topic' => $this->zoomChatName,
		'type' => self::CONFERENCE_SCHEDULED_TYPE,
		'start_time' => $startTime,
		'duration' => self::DEFAULT_DURATION_MINUTES,
		'password' => $password,
		'settings' => [
			'waiting_room' => 'false',
			'participant_video' => 'true',
			'host_video' => 'true',
			'join_before_host' => 'true',
			'approval_type' => "2",
		],
	];

	if ($this->zoomSocServ instanceof CSocServZoom)
	{
		$createResult = $this->zoomSocServ->createConference($requestParams);
		if (!$createResult->isSuccess())
		{
			return $result->addErrors($createResult->getErrors());
		}
		$conferenceData = $createResult->getData();

	}
	else
	{
		return $result->addError(new Error('Could not create zoom instance'));
	}

	return $result->setData($conferenceData);
}

Добавить комментарий