Zoom модуль позволяет взаимодействовать с Zoom API (https://marketplace.zoom.us/docs/guides/).
Установка модуля Zoom
Первым делом, после установки модуля, требуется получить API Key и Secret Key вашего приложения Zoom (https://marketplace.zoom.us/develop/create?source=devdocs). Для этого, перейдя по ссылке и авторизовавшись, нужно выбрать тип будущего приложения.
API Key (ключ для взаимодействия с API приложения) и Secret Key (закрытый ключ данного приложения Zoom) можно увидеть после выбора типа приложения.
Модели данных Meeting и Recurrence
При установке модуля Zoom в проекте также создаются две виртуальные модели данных: Meeting и Recurrence. Первый относится к самому объекту видеозвонка, а recurrence отвечает за регулярность (повторяемость) данной видеовстречи. Следующие БП являются вспомогательными при создании и использовании данных моделей данных:
- Make Zoom Meeting - создаёт объект модели Meeting
- Join_url [string] - ссылка на звонок;
- start_time [datetime] - время начала звонка;
- Status [string] - информационная строка статуса звонка;
- Type [enum] - тип встречи
- Instant - незапланированная
- Scheduled - запланированная
- Recurring with no fixed time - повторяющаяся без фиксированного времени
- Recurring with fixed time - повторяющаяся с фиксированным временем
- Meeting_id [integer] - идентификатор видеовстречи;
- Agenda [string] - строковое расписание видео встречи;
- Topic [string] - тема (повестка) встречи;
- Recurrence [recurrence type of object] - объект модели recurrence, содержащий информацию о повторяемости данной встречи;
- Password [string] - пароль для входа;
- Expand Zoom Meeting - разворачивает объект модели Meeting
- Join_url [string] - ссылка на звонок;
- start_time [datetime] - время начала звонка;
- Status [string] - информационная строка статуса звонка;
- Type [enum] - тип встречиInstant - незапланированная
- Scheduled - запланированная
- Recurring with no fixed time - повторяющаяся без фиксированного времени
- Recurring with fixed time - повторяющаяся с фиксированным временем
- Meeting_id [integer] - идентификатор видеовстречи;
- Agenda [string] - строковое расписание видео встречи;
- Topic [string] - тема (повестка) встречи;
- Recurrence [recurrence type of object] - объект модели recurrence, содержащий информацию о повторяемости данной встречи;
- Password [string] - пароль для входа;
- Make Zoom Recurrence - создает объект модели Recurrence:
- Type [enum] - периодичность повторения встречи
- Daily - ежедневно
- Weekly - еженедельно
- Monthly - ежемесячно;
- Ends_time [integer] - количество раз, через которые повторяемость встречи закончится. По умолчанию равно 1.
- Monthly_day [integer] - требуется к заполнению только в случае ежемесячной повторяемости. Принимает значение от 1 до 31 и соответствует номеру дня в данном месяце.
- Weekly_days [enum] - требуется к заполнению только в случае еженедельной повторяемости. Значения соответствуют значениям дня недели.
- Repeat_interval [integer] - интервал повторений встречи. Для ежедневной максимально возможное значение - 90 дней. Для еженедельной встречи - 12 недель. В случае ежемесячной - 3 месяца. По умолчанию равен 1.
- End_date_time [datetime] - время и дата окончания повторяемости встречи. Не может быть использовано одновременно с ends_time.
- Type [enum] - периодичность повторения встречи
- Expand Zoom Recurrence - разворачивает объект модели Recurrence:
- Type [enum] - периодичность повторения встречи
- Daily - ежедневно
- Weekly - еженедельно
- Monthly - ежемесячно
- Ends_time [integer] - количество раз, через которые повторяемость встречи закончится. По умолчанию равно 1.
- Monthly_day [integer] - требуется к заполнению только в случае ежемесячной повторяемости. Принимает значение от 1 до 31 и соответствует номеру дня в данном месяце.
- Weekly_days [enum] - требуется к заполнению только в случае еженедельной повторяемости. Значения соответствуют значениям дня недели.
- Repeat_interval [integer] - интервал повторений встречи. Для ежедневной максимально возможное значение - 90 дней. Для еженедельной встречи - 12 недель. В случае ежемесячной - 3 месяца. По умолчанию равен 1.
- End_date_time [datetime] - время и дата окончания повторяемости встречи. Не может быть использовано одновременно с ends_time.
Бизнес процессы для работы с модулем Zoom
Предустановленные БП модуля Zoom доступны только для бэкэнда приложения:
- Zoom: Get meeting - получает объект meeting по его ID:
- Meeting_id [integer] - идентификатор видеовстречи;
- Zoom: Delete meeting - удаляет объект meeting по его id:
- Meeting_id [integer] (обязателен) - идентификатор видеовстречи;
- Zoom: Update meeting - обновляет объект meeting согласно переданным на вход значениям:
- Meeting_id [integer] (обязателен) - идентификатор видеовстречи;
- Topic [string] - тема (повестка) встречи;
- Type [enum] - тип встречи:
- Instant - незапланированная
- Scheduled - запланированная
- Recurring with no fixed time - повторяющаяся без фиксированного времени
- Recurring with fixed time - повторяющаяся с фиксированным временем
- start_time [datetime] - время начала звонка;
- Password [string] - пароль для входа;
- Agenda [string] - строковое расписание видео встречи;
- Recurrence [recurrence type of object] - объект модели recurrence, содержащий информацию о повторяемости данной встречи;
- Zoom: Create Meeting - создает объект встречи Meeting:
- Type [enum] - тип встречи
- Instant - незапланированная
- Scheduled - запланированная
- Recurring with no fixed time - повторяющаяся без фиксированного времени
- Recurring with fixed time - повторяющаяся с фиксированным временем
- Password [string] - пароль для входа;
- Agenda [string] - строковое расписание видео встречи;
- Recurrence [recurrence type of object] - объект модели recurrence, содержащий информацию о повторяемости данной встречи;
- User_id [string] (обязателен) - идентификатор или email пользователя.
- Type [enum] - тип встречи
- Zoom: List meetings - возвращает список запланированных встреч для данного пользователя (пользователь определяется значением API_KEY модуля Zoom);
- Page_size [integer] - максимальное количество записей, возвращаемое в запросе. По умолчанию 30.
- Page_number [integer] - номер страницы в запросе. По умолчанию 1.
Пример использования
Рассмотрим пример генерации ссылки видеовстречи по нажатию кнопки. Чтобы использовать бизнес процессы модуля во фронтенде приложения, первым делом нужно задать Endpoint, к которому будет обращаться приложение для создания генерации ссылки (Zoom: Create meeting).
Для этого в разделе Endpoints нужно создать новую группу.
После создания группы, в ней создаются Endpoints. В данном примере нам нужен лишь Endpoint типа POST, который будет вызывать Zoom: Create meeting БП. Так же, обязательным является заполнение адреса, по которому будет обращаться фронтенд к эндпоинту.
После, в бизнес процессах веб приложения, возможно использовать данный эндпоинт для генерации ссылки видеозвонка. В схеме, приведенной ниже, приведен пример БП, привязанного к триггеру кнопки onClick. То есть, при нажатии на кнопку, происходит генерация ссылки видеовстречи и ссылка отображается в Label компоненты Label.
Результат опубликованного приложения выглядит следующим образом: