Перейти к содержимому
Осенняя распродажа Скидка до 40% на Bookly Pro 00Д 00Ч 00М 00С Смотреть цены →

Синхронизация с Google Календарём

Вы можете без проблем интегрировать Bookly с Google Календарём, чтобы автоматически синхронизировать новые записи между календарём Bookly и Google Календарём в обоих направлениях.

Bookly PRO предлагает три режима синхронизации с Google Календарём:

  • Односторонняя синхронизация
  • Двусторонняя (только фронтенд)
  • Двусторонняя синхронизация (требуется Bookly Advanced Google Calendar (Add-on))

Перед выбором режима синхронизации внимательно прочитайте следующие инструкции по настройке связи между двумя календарями.

Чтобы настроить связь, введите свои Client ID и Client secret в Bookly > Настройки > Google Календарь.

Чтобы найти свои Client ID и Client secret, сделайте следующее:

1. Перейдите на Google Cloud Platform.

2. Создайте новый проект.

Google Cloud Platform

3. Включите Google Calendar API:

  • В левой боковой панели выберите Библиотека.
  • Найдите Google Calendar API или перейдите по этой ссылке, чтобы сразу открыть страницу API.
  • Убедитесь, что API включён.

Google Cloud Platform

4. Настройте учётные данные приложения:

  • Выберите свой проект, затем нажмите на экран согласия OAuth слева и нажмите Начать, чтобы настроить учётные данные.
  • Добавьте необходимую информацию о приложении и контактах, затем нажмите Создать.

Google Cloud Platform

Google Cloud Platform

5. Создайте учётные данные OAuth-клиента:

  • На следующем экране нажмите Создать OAuth-клиент.
  • В поле Тип приложения выберите Веб-приложение и введите название.
  • В поле Разрешённые URI перенаправления укажите Redirect URI, который вы найдёте в Bookly > Настройки > Google Календарь.
  • Нажмите Создать.

Google Cloud Platform

Google Cloud Platform

6. Введите учётные данные в Bookly:

  • В разделе Идентификаторы клиента OAuth 2.0 выберите свой проект, чтобы увидеть Client ID и создать Client Secret.
  • Скопируйте и вставьте эти значения в Bookly > Настройки > Google Календарь.

Google Cloud Platform

Google Cloud Platform

Важно: для двусторонней синхронизации ваш сайт должен работать по HTTPS. Google Calendar API сможет отправлять уведомления на HTTPS-адрес только при наличии действующего SSL-сертификата на вашем веб-сервере.

После завершения настройки перейдите в раздел «Сотрудники», выберите нужного сотрудника, откройте вкладку «Дополнительно» и включите подключение, чтобы синхронизировать записи сотрудника с Google Календарём.

Настройки сотрудника в Bookly

Наконец, войдите в свой аккаунт Google и предоставьте плагину разрешение на доступ к вашему Google Календарю.

Доступ к аккаунту Google

Если в процессе подключения вы столкнулись с ошибкой Error 403: access_denied, откройте своё приложение в Google Console, перейдите в Google Auth Platform Audience и измените статус публикации на In production.

Google Cloud Platform

Сейчас действует ограничение в 50 refresh-токенов на учётную запись пользователя для одного клиента. При достижении лимита создание нового refresh-токена автоматически и без предупреждения делает недействительным самый старый refresh-токен. Это ограничение не касается сервисных учётных записей.

При подключении сотрудников к их Google Календарям вы можете увидеть предупреждение о том, что Google не проверил приложение.

Этот экран означает, что ваше Google-приложение не прошло процесс верификации Google. Вы можете продолжить процесс подключения сотрудников — нажмите на Advanced и продолжите.

Чтобы избежать этого предупреждения в будущем, пройдите верификацию приложения на экране согласия вашего приложения.

Если у текущих пользователей возникают проблемы синхронизации после добавления новых сотрудников:

Перейдите в Bookly > Настройки > Google Календарь > Redirect URI. Скопируйте обновлённую ссылку и вставьте её в Google API Console > Credentials > Веб-приложение > Разрешённые URI перенаправления.

Вы уже делали это раньше, и, поскольку URI может меняться при регулярных обновлениях плагина, время от времени вам нужно будет сообщать Google API, какой новый URI разрешить.

Скорее всего, это решит проблему синхронизации. Если она сохранится, напишите нам на support@bookly.net.

Bookly позволяет настроить, как информация о ваших записях будет отображаться в Google Календаре.

Шаблон заголовка событий

Выберите данные для описания события Google Календаря, которое создаётся через Bookly. Доступные коды: {service_name}, {category_name}, {staff_name}, {client_names} и {client_phones}.

Шаблон описания событий

Используйте доступные коды для информации о записи, которая будет отображаться в Google Календаре.

Используйте {participant.client_email} вместо {client_email} и так далее внутри структуры {#each participants as participant}{/each} при настройке описания события GC. Это обеспечивает корректное отображение деталей записи в Google Календаре для групповых записей.

Односторонняя синхронизация

Если вы активируете этот режим синхронизации, любые новые записи, созданные в календаре Bookly, включая пользовательские поля, и последующие изменения будут отражаться в Google Календаре.

Двусторонняя синхронизация для фронтенда

Если вы выберете этот режим синхронизации, любые изменения, сделанные в Bookly, автоматически отразятся в вашем Google Календаре. Однако события, изначально созданные в Google Календаре, не будут скопированы и показаны в вашем календаре Bookly. События Google Календаря будут учитываться при показе доступных временных интервалов клиентам в форме записи. Поэтому, если в Google Календаре есть событие, соответствующий временной интервал будет недоступен для записи, так как Bookly будет считать это время занятым.

Обратите внимание: синхронизация записей между двумя календарями может занять некоторое время, что может вызывать задержки при загрузке шага выбора времени в форме записи. Для оптимальной производительности рекомендуем ограничить количество получаемых событий, связанных с этой функцией. Слишком большое количество событий в Google Календаре может привести к проблемам с памятью в PHP, когда Bookly пытается получить все события.

Двусторонняя синхронизация

Если вы активируете опцию двусторонней синхронизации (требуется установка Advanced Google Calendar (Add-on) для Bookly), вы получите полноценную двустороннюю синхронизацию. Это гарантирует, что все данные вашего календаря Bookly, а также любые последующие изменения графика, останутся синхронизированы с Google Календарём. Любые новые записи, созданные или изменённые в календаре Bookly, будут автоматически отражаться в Google Календаре, и наоборот.

Перед включением и сохранением этой опции синхронизации крайне важно сначала настроить параметры в Google Календаре. Кроме того, убедитесь, что ваш сайт использует HTTPS для бесперебойной синхронизации.

Внимательно прочитайте следующие инструкции и посетите эту страницу для получения дополнительной информации о реализации «инкрементальной синхронизации» данных календаря.

Двусторонняя синхронизация состоит из двух этапов:

1. Начальная полная синхронизация происходит один раз в начале, чтобы привести состояние клиента в соответствие с состоянием сервера. Клиент получает токен синхронизации, который необходимо сохранить.

Когда вы активируете двустороннюю синхронизацию и нажимаете «Сохранить», запускается полная синхронизация. Все записи из Bookly будут скопированы в Google Календарь, и наоборот.

В поле Sync appointments history укажите количество прошедших календарных дней, которые вы хотите синхронизировать. Например, если вы введёте 1, оба календаря синхронизируют историю записей начиная со вчерашнего дня.

Продолжительность начальной синхронизации может варьироваться в зависимости от объёма синхронизируемых событий.

2. Инкрементальная синхронизация — это повторяющийся процесс, который постоянно обновляет клиента изменениями с момента последней синхронизации. При каждой итерации клиент передаёт предыдущий токен синхронизации, полученный от сервера, и сохраняет новый токен синхронизации, полученный в ответе.

Инкрементальная синхронизация начинает работать после завершения начальной полной синхронизации. Bookly запускает инкрементальную синхронизацию, когда Google Календарь уведомляет ваш календарь Bookly об изменениях с помощью push-уведомлений.

Регистрация вашего домена

Вы должны зарегистрировать домен для любых URL, которые планируете использовать для получения сообщений push-уведомлений. Кроме того, перед регистрацией домена необходимо подтвердить право владения им. Этот шаг — мера защиты от злоупотреблений, которая не позволяет кому-либо использовать push-уведомления для отправки сообщений на чужой домен.

Шаг 1. Подтвердите, что вы владеете доменом

Перед регистрацией домена нужно подтвердить, что он принадлежит вам. Пройдите процесс подтверждения сайта с помощью Search Console. Подробнее см. в документации по подтверждению сайта.

Шаг 2. Зарегистрируйте свой домен

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

1. Перейдите на страницу подтверждения домена в API Console.

2. Нажмите «Добавить домен».

3. Заполните форму, затем снова нажмите «Добавить домен».

На этом этапе Google API Console проверяет все домены в списке на соответствие тем, что вы подтвердили в Search Console. Если вы правильно подтвердили все домены, страница обновится и покажет новый список разрешённых доменов. Теперь вы можете использовать любой из этих доменов для получения push-уведомлений.

Если вам нужна дополнительная техническая информация, обратитесь по этим ссылкам:

https://developers.google.com/calendar/v3/sync

https://developers.google.com/calendar/v3/push

Ручная синхронизация

Вы можете запустить новую инкрементальную синхронизацию, нажав на кнопку Google Calendar в правом верхнем углу календаря Bookly.

Когда вы создаёте событие All day в Google Календаре, его статус по умолчанию устанавливается как Free. Измените его статус на Busy, чтобы это событие отображалось в календаре Bookly.

Событие Google Календаря

Ознакомьтесь с этими статьями для решения наиболее распространённых проблем с синхронизацией Google Календаря:

Не удаётся подключить сотрудника к Google Календарю

Данные на сайте и в Google Календаре не совпадают. Что делать?

Синхронизация с Google Календарём перестала работать после обновления. Как это исправить?

Синхронизация с Google Календарём не работает. На вкладке «Сотрудники» появляется ошибка «Could not json decode the token.»