Интеграция Zoom

Автоматически создавайте Zoom-встречу для каждого подтверждённого бронирования и доставляйте ссылку на присоединение клиенту: в письме-подтверждении, в Telegram и в любом другом канале уведомлений, которым вы пользуетесь.

Как это работает

Baza Booking Calendar подключается к Zoom через Server-to-Server OAuth app, тип учётных данных, который Zoom предоставляет для серверных интеграций, не требующих входа пользователя в реальном времени. Как только вы вставите свои учётные данные в BBC, плагин автоматически управляет токенами.

Интеграция включается отдельно для каждой услуги. Вы решаете, для каких именно услуг создавать Zoom-встречи: онлайн-консультации, занятия, коучинг-сессии, оставляя офлайн-бронирования или бронирования помещений без изменений.

Когда бронирование для услуги с включённым Zoom подтверждается:

  • BBC вызывает Zoom API и создаёт встречу, названную по названию услуги и бронирования
  • Уникальная ссылка для присоединения сохраняется вместе с записью бронирования
  • Кнопка Join Zoom meeting добавляется в письмо-подтверждение клиента
  • Ссылка для присоединения добавляется во все уведомления в мессенджерах (Telegram, Viber и т.д.)
  • Значок Zoom появляется в списке бронирований в админке
  • Кнопка Join появляется в заголовке боковой панели бронирования

Если бронирование позже отменено, отклонено или просрочено, BBC автоматически удаляет Zoom-встречу.

Предпосылки

  • Аккаунт Zoom, Pro, Business или выше (бесплатные аккаунты имеют ограниченный доступ к API)
  • Вы должны быть владельцем аккаунта или администратором, чтобы создавать приложения Marketplace и управлять OAuth scope
  • Baza Booking Calendar на тарифе Pro или выше
  • Ваш сайт WordPress должен быть публично доступен через HTTPS, чтобы Zoom мог доставлять вебхук-события

Шаг 1. Создайте Zoom-приложение

  1. Перейдите на marketplace.zoom.us и войдите как владелец аккаунта.
  2. Нажмите Develop, Build App и выберите Server-to-Server OAuth, затем нажмите Create.
  3. Введите любое название приложения (например Baza Booking Calendar) и нажмите Create.
  4. На вкладке App Credentials скопируйте свои Account ID, Client ID и Client Secret. Оставьте эту страницу открытой, она понадобится для шага с вебхуком.

Шаг 2. Настройте Scopes

BBC требует ровно четыре scope. Добавьте их на вкладке Scopes вашего Zoom-приложения.

meeting:write:meeting:admin
meeting:write:meeting:master
meeting:read:meeting:admin
user:read:user:admin

Чтобы добавить scope: откройте вкладку Scopes, нажмите Add Scopes, найдите каждое название, выберите его и нажмите Done. Повторите для всех четырёх, затем сохраните.

Важно: эти названия scope точные. Не используйте сокращённые варианты вроде meeting:write:admin, это другие scope, и они вызовут ошибки аутентификации.

ScopeНазначение
meeting:write:meeting:adminСоздание и удаление встреч от имени любого пользователя вашего аккаунта
meeting:write:meeting:masterТребуется для структур master account / sub-account
meeting:read:meeting:adminПроверка деталей встречи после создания
user:read:user:adminОпределение Zoom User ID хоста

Шаг 3. Настройте вебхук (рекомендовано)

Вебхук позволяет Zoom уведомлять BBC о начале или завершении встреч. Создание и удаление встреч работает и без него, но вебхук включает отслеживание событий в реальном времени.

URL вашей вебхук-точки BBC:

https://yoursite.com/wp-json/bbc/v1/api/zoom

Этот URL также показан на странице настроек Zoom в BBC для удобного копирования.

Чтобы добавить подписку на события в Zoom:

  1. Перейдите на вкладку Feature вашего приложения и включите Event Subscriptions.
  2. Нажмите Add New Event Subscription, дайте название и вставьте свой URL точки.
  3. Нажмите Add Events, найдите Meeting, выберите Start Meeting и End Meeting. По желанию добавьте также Participant/Host joined meeting.
  4. Сохраните, Zoom покажет Secret Token. Скопируйте его и вставьте в поле Webhook Secret Token в BBC.
  5. Нажмите Validate. BBC автоматически обрабатывает проверку. Если ваш сайт доступен, подтверждение завершается за секунды.

Шаг 4. Подключите в BBC

  1. В админке WordPress перейдите в Baza Booking, Zoom.
  2. Вставьте Account ID, Client ID, Client Secret и (если настроено) Webhook Secret Token.
  3. Нажмите Test connection. BBC вызывает Zoom Users API и при успехе показывает email аккаунта.
  4. Включите переключатель Enable Zoom synchronization и нажмите Save.

Все учётные данные хранятся зашифрованными и никогда не попадают в экспорт настроек.

Шаг 5. Включите для конкретной услуги

Создание Zoom-встреч выключено по умолчанию для каждой услуги, даже после активации интеграции.

  1. Перейдите в Baza Booking, Услуги и откройте услугу, для которой нужны Zoom-встречи (например онлайн-консультация).
  2. В панели настроек услуги включите чекбокс Create Zoom meeting.
  3. Сохраните услугу.

С этого момента каждое бронирование, подтверждённое для этой услуги, будет автоматически создавать Zoom-встречу.

Совет: оставляйте чекбокс выключенным для офлайн-услуг. Это держит ваш аккаунт Zoom чистым и избегает отправки ссылок клиентам, бронирующим физические встречи.

Названия встреч: BBC называет каждую встречу по названию услуги и ID заказа, например Photography Session #a3f2c1. Это делает ваш список встреч в Zoom понятным без дополнительной настройки.

Жизненный цикл встречи

СобытиеЧто происходит
Бронирование подтверждено (стало Booked)Zoom-встреча создана, ссылка сохранена и отправлена клиенту
Бронирование остаётся активнымВстреча сохраняется, ссылка доступна из админки
Бронирование отменено / отклонено / просроченоZoom-встреча удаляется через API
Бронирование перемещено в корзинуZoom-встреча удаляется немедленно

Повторное подтверждение: если отменённое бронирование возвращают обратно в статус Booked, BBC проверяет наличие существующей встречи и создаёт новую только если ни одной не найдено, без дубликатов.

Продолжительность: рассчитывается из забронированных слотов. 3-часовое бронирование создаёт встречу на 180 минут. Минимальная продолжительность 30 минут.

Часовой пояс: время начала встречи использует часовой пояс, указанный в WordPress, Настройки, Общие, Часовой пояс.

Уведомления

КаналКак появляется ссылка Zoom
Email клиентаОформленная кнопка Join Zoom meeting (фирменный синий цвет) добавляется в письмо-подтверждение
Email администратораНе показывается, администраторы получают доступ через дашборд бронирований
TelegramПрямая ссылка добавляется отдельной строкой (рендерится как кликабельная ссылка)
Viber / WhatsApp / SMSПрямая ссылка добавляется обычным текстом

Ссылка для присоединения также автоматически включается в напоминания, поэтому клиенты всегда имеют ссылку, когда она нужна.

Устранение неполадок

Test connection не проходит

  • Проверьте, что учётные данные скопированы без лишних пробелов в начале или конце
  • Убедитесь, что статус приложения в Zoom Marketplace Activated
  • Проверьте, что все четыре нужных scope присутствуют на вкладке Scopes

Встречи не создаются после подтверждения

  • Подтвердите, что Enable Zoom synchronization включено в настройках BBC, Zoom
  • Подтвердите, что Create Zoom meeting включено для конкретной услуги
  • Проверьте, что бронирование достигло статуса Booked, встречи не создаются для бронирований Pending, когда требуется ручное подтверждение

Ошибка scope в ответе Zoom API. Вернитесь на вкладку Scopes в Zoom Marketplace, добавьте все четыре scope из Шага 2, сохраните и подождите 1-2 минуты, пока изменения вступят в силу, перед повторной проверкой.

Валидация вебхука не проходит

  • Ваш сайт должен быть публично доступен через HTTPS, локальные или защищённые файрволом окружения не могут получать вебхуки Zoom
  • Проверьте, что Webhook Secret Token в BBC точно совпадает с тем, что показан в Zoom Marketplace
  • Проверьте, что ни один файрвол или правило Cloudflare не блокирует POST-запросы на /wp-json/bbc/v1/api/zoom

Частые вопросы

Платный аккаунт Zoom (Pro, Business или выше). Бесплатные аккаунты могут подойти для тестирования, но не поддерживаются для продакшена.

Владелец аккаунта Zoom, чьи учётные данные настроены в BBC. Все встречи появляются в Zoom-дашборде этого аккаунта.

Не из коробки, BBC подключается к одному аккаунту Zoom. Отдельные аккаунты на услугу требуют кастомной разработки.

BBC не обновляет автоматически время встречи при редактировании дат бронирования. Чтобы клиент получил обновлённую ссылку, отмените и подтвердите бронирование заново, это удалит старую встречу и создаст новую.

Нет. BBC удаляет встречу автоматически, когда бронирование отменено, отклонено, просрочено или перемещено в корзину.

Да, meeting:write:meeting:master включён именно для поддержки структур sub-account и master account. Используйте учётные данные master account, и встречи будут создаваться корректно.

Последнее изменение: 12.08.2026