Как использовать TrueConf API для видеозвонков с сайта

Димитрий Зуйков
16.12.2019
Димитрий Зуйков

С помощью TrueConf Server API вы можете создать виджет для мгновенных видеозвонков через ваш веб-сайт. Такой виджет позволит гостю сайта в любой момент совершить звонок его менеджеру для личной видеоконсультации. Ему достаточно будет указать имя, не заполняя при этом никаких контактных форм.

Добавить виджет на ваш сайт очень просто. Чтобы начать, установите TrueConf Server

Скачать TrueConf Server →

Настройка сервера займет не более 15 минут вашего времени.

Как взаимодействовать с API

Доступ к API сервера осуществляется по протоколу OAuth 2.0. Более подробно вы можете прочитать об этом в документации TrueConf Server.

Обращение к TrueConf Server API заключается в отправке HTTP-запросов на сервер. Ответы на запросы сервер возвращает в формате объектов JSON.

Список функций TrueConf Server, доступных через API, можно узнать тут:

Документация API

План установки виджета

Общий план действий будет таким:

Этап 1 — через API-запросы организуйте видеозвонок на TrueConf Server. Для этого нужно будет создать конференцию на двух участников, один из которых будет менеджером вашего веб-сайта.

Этап 2 в панели управления TrueConf Server получите html-код виджета видеозвонка.

Этап 3 разместите виджет на странице своего сайта.

Этап 4 — удалите конференцию после её завершения.

Использование API

Подготовка TrueConf Server

  1. Настройте на сервере поддержку HTTPS соединения
  2. Добавьте в пользователи сервера менеджера вашего веб-сайта, который будет принимать видеозвонки от гостей.
  3. Создайте приложение OAuth 2.0.

А теперь приступим!

Создание и настройка конференции с использованием API

1. Получите токен доступа к API.

2. Создайте конференцию с помощью метода Conferences, задав такие параметры:

  • "schedule":{"type":-1} — без расписания;
  • "max_participants": 2 — на двух участников;
  • "allow_guests": true – возможность подключения гостей;
Для того, чтобы включить для TrueConf Server возможность гостевого доступа к конференциям, вам понадобится добавить в лицензию расширение Публичные веб-конференции. Более подробную информацию можно получить, просто связавшись с нами.
  • "auto_invite": 1 — автоматическое приглашение участников при подключении к конференции любого пользователя, в том числе и гостя. Также параметр может принимать значения:
    • 0 – не рассылать приглашения (по умолчанию);
    • 2 – рассылать приглашения при подключении пользователя только из списка участников конференции.

Владельцем конференции назначьте менеджера вашего сайта, указав его имя пользователя на TrueConf Server. Например, "owner":"george".

Приведенный ниже пример TrueConf Server API запроса, как и следующие за ним, оформлены для использования с cURL.

Для выполнения запросов вы также можете использовать программу Postman, как показано в статье о начале работы с TrueConf API.

Если конференция будет успешно создана, от сервера придёт ответ с данными о конференции.

Запомните значение параметра id страницы конференции.

3. Добавьте менеджера вашего веб-сайта в участники созданной конференции (выше он был назначен её владельцем), используя метод Conferences_Invitations. В качестве параметра $conference_id метода укажите id из предыдущего пункта.

В ответ на такой запрос придёт объект с данными о добавленном участнике.

4. Для автоматического подключения гостя к конференции минуя форму авторизации, получите авторизационные данные для виджета с помощью метода Software_Clients – Get Client List:

Ответ будет содержать в себе JSON со списком всех приложений для подключения к конференции, в том числе JSON-объект с именем "name": "TrueConf Web" и данными для подключения по WebRTC:

Запомните значение параметра web_url.

Готово!

Вы можете протестировать отправку вызова через TrueConf Server API на нашем сайте.

Добавление виджета на сайт

Используйте шаблон html-кода виджета из панели управления TrueConf Server, как это показано в нашей статье. В параметр src вставьте полученный ранее web_url.

После того, как гость сайта присоединится к конференции через виджет видеозвонка, TrueConf Server автоматически отправит приглашение менеджеру сайта (параметр auto_invite).

Отслеживание событий виджета

С помощью технологии postMessage виджет информирует о возникающих событиях и ошибках выдачей определённых сообщений:

  • “notSupported” – браузер пользователя не удовлетворяет требованиям виджета;
  • “connectionFail” – пользователь не смог подключиться к серверу;
  • “loginFail” – пользователь не смог авторизоваться;
  • “callFail” – пользователь не смог позвонить в конференцию;
  • “hangUp” – пользователь положил трубку (вышел из конференции);
  • “remoteHangUp” – пользователь вышел из конференции не по собственному желанию. Например, если пользователя удалил модератор конференции;
  • “logout” – пользователь разлогинился;
  • “connectionClosed” – пользователь отключился от сервера.

Вы можете использовать их для отслеживания момента завершения сеанса связи, например, сообщения hangUp или remoteHangUp.

Начните прослушивать сообщения от виджета до того, как встроили его на веб-страницу, иначе вы можете их пропустить.

Удаление конференции

1. Удалить можно только завершившуюся конференцию. Поэтому, получив от виджета сообщение о завершении звонка, остановите конференцию с помощью метода Conferences – Stop Conference:

В ответ вы получите подтверждение остановки конференции:

2. Удалите конференцию, используя метод Conferences – Delete Conference:

Ответ будет содержать ID удалённой конференции:

Приятных конференций!

Не нашли ответ на свой вопрос? Напишите нам в онлайн-чате, мы будем рады помочь.