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