Статьи

Статьи

Интеграция Zoom в Битрикс

Интеграция Zoom в Битрикс

Иногда нужно организовать на сайте онлайн-трансляции и для этих целей лучше всего служат трансляции YouTube, но что делать если вам нужна не просто трансляция, а полноценная онлайн-конференция?

Первое что приходит на ум – это Zoom! Существуют готовые решений для интеграции конференций Zoom в сайт (например плагин Video Conferencing with Zoom для WordPress), но решений для Битрикс пока нет.

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

Для реализации этого механизма мы использовали Zoom Meeting Web SDK, которая доступна всем платным подписчикам Zoom начиная с тарифа Pro.    

Установив данный сервис на сервер и настроив его корректную работу мы добавили для инфоблока содержащего информацию о мероприятии пару полей, которые должны содержать ID-конференции Zoom и пароль для входа в эту конференцию.

После этого в код вывода описания мероприятия было добавлено условие: если в мероприятии заполнены поля ID-конференции и Пароль конференции, то за 15 минут до начала мероприятия открывается окно для входа в конференцию чье ID указано в описании мероприятия. Это окно видно только тем пользователям которые ранее зарегистрировались на данное мероприятие.

Пользователь нажимает кнопку «Войти» и под этим именем переходит к конференции, либо в зал ожидания (если трансляция еще не началась), а информация о его входе записывается в базу данных.

Через 15 минут после окончания мероприятия, окно трансляции закрывается.


К списку статей



Комментарии (13)

Ирина Олеговна

Мы хотим вести базу знаний: после каждого вебинара автоматически создавать статью на нашем сайте с кратким содержанием, слайдами и ссылкой на запись. Можно ли это автоматизировать в Битрикс?

Студия Фонарь
Ответ на комментарий Ирина Олеговна

Здравствуйте, Ирина Олеговна! Автоматизацию можно сделать так: агент после вебинара берёт данные из отчёта Zoom и инфоблока регистраций, формирует текст статьи (шаблон + переменные), создаёт элемент в инфоблоке “Статьи” и прикрепляет файлы. Слайды и запись можно хранить как ссылки или загружать на диск Битрикса (если есть место). Если скажете, какая структура статей вам нужна (поля, категории, теги) и где лежат слайды, покажем пример функции создания элемента и обработки ошибок, чтобы при сбое API не падала вся система.

Юлия А.

Добрый день. Мы планируем продавать доступ к вебинарам, и важно, чтобы ссылка на Zoom открывалась только для оплативших. Как в битрикс разграничить доступ и не допустить, чтобы кто-то переслал ссылку другим?

Студия Фонарь
Ответ на комментарий Юлия А.

Здравствуйте, Юлия! Разграничение делаем через проверку заказа/статуса оплаты в инфоблоке или модуле интернет-магазина. Ссылка выдаётся только при статусе “оплачен” и привязывается к пользователю (токен, одноразовый код). Чтобы снизить риск пересылки, используем: 1) требование входа в Zoom по email; 2) короткие сроки жизни ссылки; 3) проверку присутствия для выдачи материалов. Если скажете, какая у вас схема оплаты (онлайн-касса, перевод, внутренний баланс), покажем, где разместить проверку и как сгенерировать безопасную ссылку в компоненте.

Александр Михайлович

Здравствуйте. Хочется, чтобы в карточке вебинара на нашем сайте был блок “Ближайшие встречи” с живыми статусами: “скоро начнётся”, “идёт”, “завершён”. Как это реализовать в битрикс без постоянного опроса Zoom API на каждой загрузке страницы?

Студия Фонарь
Ответ на комментарий Александр Михайлович

Александр Михайлович, здравствуйте! Живые статусы делаем так: храним в инфоблоке поля “время начала”, “длительность”, “статус” и обновляем статус по расписанию (агент). На фронтенде показываем статус из инфоблока — он всегда актуален, но без лишних запросов к Zoom. Для “скоро/идёт/завершён” используем простую логику: сравниваем текущее время с началом и концом встречи. Если скажете, какой шаблон карточки вы используете, подскажем, куда вставить эту логику в template.php и как оформить стили для разных статусов.

Светлана Юрьевна

Планируем делать серию обучающих вебинаров с автовыдачей сертификата после просмотра. Сертификат будет формироваться в Битриксе, но нужно понимать, что человек реально был на встрече. Насколько надёжны данные Zoom о присутствии, и как их лучше использовать в CMS для выдачи сертификата?

Студия Фонарь
Ответ на комментарий Светлана Юрьевна

Светлана Юрьевна, здравствуйте! Данные Zoom о присутствии достаточно надёжны для задач образования: в отчётах есть email, длительность и время входа/выхода. В CMS мы обычно считаем “прошёл” при условии: длительность X минут (например, 80% от времени вебинара) и совпадение email с зарегистрированным участником. Логика выдачи сертификата: агент или событие после вебинара проверяет отчёты Zoom, обновляет статус в инфоблоке и генерирует сертификат. Если скажете, какой формат сертификата вам нужен (PDF, картинка, ссылка) и как устроена авторизация участников, подскажем готовый алгоритм и пример кода для result_modifier.php. Также можно подготовить кастомное тестирование для пользователей вебинаров. Это в разы увеличит проверку слушал ли образование или включил вебинар и своими делами занимался.

Марина Н.

Хотим не только создавать встречи, но и получать отчёты о посещаемости: кто подключился, сколько минут был в эфире. Zoom это отдаёт, но как это “приземлить” в CMS Битрикс, чтобы менеджеры видели отчёт прямо в админке?

Студия Фонарь
Ответ на комментарий Марина Н.

Здравствуйте, Марина! Да, Zoom API отдаёт отчёты по встречам: список участников, длительность, email. В CMS мы делаем отдельный агент (или крон-скрипт), который раз в сутки запрашивает отчёты, нормализует данные и сохраняет в инфоблок “Отчёты Zoom”. В админке выводим простой список с фильтрами по дате и вебинару. Если нужно, добавляем статусы (“был”, “был частично”, “не был”) и расчёт процента досмотра. Если скажете, какие именно метрики критичны (минуты, уникальные участники, доля от общего списка), подскажем структуру инфоблока и SQL/ORM-запросы для выборки.

Марина Н.
Ответ на комментарий Студия Фонарь

Спасибо! Узнаю подробности и вам напишу.

Елена Дмитриевна

Спасибо за статью, очень кстати: мы как раз думаем, как организовать вебинары для клиентов прямо из нашего корпоративного сайта на Битриксе. У нас сейчас всё делается вручную: рассылаем ссылки, собираем участников в Excel. Хочется автоматизировать. Подскажите, можно ли в CMS-решении сделать форму регистрации на вебинар, которая сразу создаёт встречу в Zoom и отправляет ссылку участнику?

Студия Фонарь
Ответ на комментарий Елена Дмитриевна

Елена Дмитриевна, здравствуйте! В рамках CMS Битрикс это реализуется через связку: форма регистрации (например, bitrix:main.register или кастомная) → серверный обработчик на PHP → вызов Zoom API для создания встречи → сохранение ссылки в инфоблок и отправка письма участнику. Мы обычно делаем отдельный компонент или дорабатываем шаблон формы, чтобы не трогать ядро. Если скажете, сколько вебинаров в месяц планируете и нужен ли учёт посещаемости, подскажем, как спроектировать инфоблок и какие поля Zoom API использовать в первую очередь.

Наши клиенты

 

© Студия Фонарь, 2009-2026.
info@fonarstudio.ru