Интеграция 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-приложение
- Перейдите на marketplace.zoom.us и войдите как владелец аккаунта.
- Нажмите Develop, Build App и выберите Server-to-Server OAuth, затем нажмите Create.
- Введите любое название приложения (например Baza Booking Calendar) и нажмите Create.
- На вкладке 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:
- Перейдите на вкладку Feature вашего приложения и включите Event Subscriptions.
- Нажмите Add New Event Subscription, дайте название и вставьте свой URL точки.
- Нажмите Add Events, найдите Meeting, выберите Start Meeting и End Meeting. По желанию добавьте также Participant/Host joined meeting.
- Сохраните, Zoom покажет Secret Token. Скопируйте его и вставьте в поле Webhook Secret Token в BBC.
- Нажмите Validate. BBC автоматически обрабатывает проверку. Если ваш сайт доступен, подтверждение завершается за секунды.
Шаг 4. Подключите в BBC
- В админке WordPress перейдите в Baza Booking, Zoom.
- Вставьте Account ID, Client ID, Client Secret и (если настроено) Webhook Secret Token.
- Нажмите Test connection. BBC вызывает Zoom Users API и при успехе показывает email аккаунта.
- Включите переключатель Enable Zoom synchronization и нажмите Save.
Все учётные данные хранятся зашифрованными и никогда не попадают в экспорт настроек.
Шаг 5. Включите для конкретной услуги
Создание Zoom-встреч выключено по умолчанию для каждой услуги, даже после активации интеграции.
- Перейдите в Baza Booking, Услуги и откройте услугу, для которой нужны Zoom-встречи (например онлайн-консультация).
- В панели настроек услуги включите чекбокс Create Zoom meeting.
- Сохраните услугу.
С этого момента каждое бронирование, подтверждённое для этой услуги, будет автоматически создавать 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, и встречи будут создаваться корректно.
