Как подключить гостя к конференции напрямую
Решения TrueConf позволяют реализовать множество сценариев использования ВКС в различных сферах бизнеса, образования и науки, здравоохранения, государственной деятельности и пр. Но ещё больше расширить возможности видеосвязи можно с помощью TrueConf Server API – набора готовых методов для взаимодействия ваших приложений с TrueConf Server.
Ниже мы покажем, как можно обеспечить подключение гостя (участника, не имеющего учётной записи на вашем сервере ВКС) к конференции напрямую без ручного ввода гостевого имени.
Это может быть полезно, например, при использовании решений TrueConf в области телемедицины. Представим, что у врачей установлено специализированное приложение, в которое интегрирована возможность онлайн-консультаций по видеосвязи. Пользователь авторизуется в личном кабинете на сайте медицинских услуг и записывается на виртуальный приём в определённое время. При этом для врачей созданы учётные записи на сервере, а для клиентов их добавлять не требуется.
Мы рассмотрим подключение гостя как с помощью браузера (по WebRTC), так и с помощью клиентского приложения. Второй вариант предоставляет больше возможностей участия в видеоконференции. Таким образом, вы сможете разместить на своём сайте ссылки для присоединения через браузер и через клиентское приложение TrueConf, как это сделано на стандартной странице подключения к конференции.
Предварительная настройка TrueConf Server
- Убедитесь в наличии необходимого количества гостевых подключений в вашей лицензии в разделе Информация о сервере → Информация панели управления TrueConf Server.
В базовой поставке TrueConf Server Free есть возможность создавать публичные конференции, но одновременно поддерживается 1 гостевое подключение. Если требуется увеличить их число – обратитесь в отдел продаж для их покупки или активации на пробный период длительностью до 3 недель.
- Настройте HTTPS-соединение для обеспечения работы API.
Для дальнейших шагов используются различные методы API сервера, работающие по протоколу OAuth 2.0. Что это такое и как настроить взаимодействие с TrueConf Server по этому протоколу, читайте в нашей статье “Как начать работу с TrueConf API”.
Шаг 1. Создание запланированной публичной конференции
С помощью метода Create Conference создайте новую видеоконференцию, указав следующие параметры:
- владелец и список участников – для обоих параметров укажите TrueConf ID (логин) врача;
- количество участников – 2;
- тип запуска – с расписанием, то есть в объекте Schedule должны быть указаны тип запуска 1 (одноразовый запуск), время начала в формате Unix Timestamp, и длительность консультации в секундах;
- тип конференции – публичная;
- режим – все на экране;
- запись – включена, т.к. по закону все видеоконсультации в сфере медицины должны записываться. Чтобы это было возможно, в соответствующем разделе панели управления сервером должна быть включена запись конференций по запросу.
Например, при планировании консультации на 01.06.2021 в 12:00 МСК (GMT +3) длительностью 30 минут, получим такой объект Conference для передачи в теле запроса:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
{ "topic":"Klimova 01.06.2021 12:00", "type":0, "max_participants":2, "invitations":[ { "id":"klimova" } ], "schedule":{ "type":1, "start_time":1622538000, "duration":1800 }, "owner":"klimova", "allow_guests":true, "recording":1 } |
В ответ вы получите JSON созданного объекта конференции. При этом ID конференции будет создан автоматически, например, 0987654321.
Шаг 2. Формирование ссылок для автоматического подключения гостей
Теперь вы можете создать и предоставить пациенту ссылку для автоматического подключения к видеоконсультации. При этом имя может браться, например, из данных его профиля на сайте медуслуг.
- Получите авторизационные данные с помощью GET-метода Software_Clients – Get Client List.
При этом укажите такие параметры:
call_id: 0987654321
– ID созданной конференции;case: join_conference_button
– генерация прямых ссылок для подключения с помощью клиентских приложений;user: $Иван Иванов
– отображаемое в конференции имя гостя (обязательно с символом $).
В нашем примере запрос будет иметь вид:
1https://video.company.com/api/v3.3/software/clients?call_id=0987654321&case=join_conference_button&user=$Иван Иванов - Ответ будет содержать в себе JSON со списком всех приложений для подключения к конференции, в том числе JSON-объект с именем
"name": "TrueConf Web"
и данными для подключения по WebRTC:12345678910{"name": "TrueConf Web","type": "web","platform": "webrtc","download_url": "","download_urls": null,"market_url": "","web_url": "https://video.company.com/webrtc/0987654321#login=*guest*%D0%98%D0%B2%D0%B0%D0%BD%20%D0%98%D0%B2%D0%B0%D0%BD%D0%BE%D0%B2&token=$29cc834f607b1bffd0d5e68e47b4ead16*1619898725*641aad7d9e1e1a674416e16813939633&lang=auto","iframe": "<iframe src=\"https://video.company.com/webrtc/0987654321#login=*guest*%D0%98%D0%B2%D0%B0%D0%BD%20%D0%98%D0%B2%D0%B0%D0%BD%D0%BE%D0%B2&token=$29cc834f607b1bffd0d5e68e47b4ead16*1619898725*641aad7d9e1e1a674416e16813939633&lang=auto\" allowfullscreen=\"allowfullscreen\" allow=\"microphone; camera; autoplay; display-capture\" ><\\iframe>"} - Значение параметра
web_url
– это ссылка для автоматического подключения через браузер участника к онлайн-консультации. - Также в JSON будет присутствовать объект
"deeplinks"
со ссылками для подключения с помощью клиентских приложений TrueConf. При этом ссылка"default"
используется для TrueConf для десктопов (Windows, Linux, macOS) и TrueConf для iOS/iPadOS, а ссылка"android"
– для TrueConf для Android/Android TV:1234"deeplinks": {"default": "trueconf:\\c\\5016799639@video.company.com%23vcs&h=172.18.246.126,172.17.0.1&force=1&templogin=1&login=*guest*%D0%98%D0%B2%D0%B0%D0%BD%20%D0%A1%D1%82%D0%B5%D0%BF%D0%B0%D0%BD&password=$291bcfe8bfc567822b4ff133c1b668fb7*1671525797*377ee8856b0404911fdeed524854d198&encrypt=0&autoclose=1","android": "intent:\\c\\5016799639%40video.company.com%23vcs%26h%3d172.18.246.126,172.17.0.1%26force%3d1%26templogin%3d1%26login%3d*guest*%D0%98%D0%B2%D0%B0%D0%BD%20%D0%A1%D1%82%D0%B5%D0%BF%D0%B0%D0%BD%26password%3d$291bcfe8bfc567822b4ff133c1b668fb7*1671525797*377ee8856b0404911fdeed524854d198%26encrypt%3d0%26autoclose%3d1#Intent;scheme=trueconf;package=com.trueconf.videochat;end"} - Требуется заменить двойные слэши на одинарные, то есть получим ссылки вида:
1trueconf:\c\[ConferenceID]@[server_address]%23vcs&h=[server_address]&force=1&templogin=1&login=*guest*[guest_login]&password=$[password]&encrypt=0&autoclose=1
Тогда при наличии в системе приложения TrueConf по нажатию на такую ссылку произойдёт его открытие и подключение к мероприятию.
Шаг 3. Добавление конференции в календарь
Чтобы пациент и врач не пропустили видеоконсультацию, добавьте её в их личные календари. Для этого предоставьте обоим участникам ссылки для интеграции, получив их с помощью GET-запроса Get Conference Calendars. В ответ вы получите JSON, который содержит ссылки для добавления мероприятия в календари Google, Outlook, и файл ics для других сервисов.
Шаг 4. Получение услуг телемедицины
Когда наступит время видеоконсультации, конференция автоматически начнётся и врач получит в неё вызов. Пациенту же надо будет перейти по ссылке, которую он добавил в свой календарь, и он сразу подключится к мероприятию под своим именем.
Для проверки вы можете перейти по данной ссылке в браузере. Если ранее в нём не были даны разрешения на доступ к оборудованию, то появится окно настройки микрофона и камеры перед подключением.
Обратите внимание!
Корректно данный метод работает только при переходе гостем в запланированную конференцию после времени её начала, т.к. подключиться заранее к ней может только её владелец.