Перейти до вмісту
Осінній розпродаж Знижка до 40% на Bookly Pro 00Д 00Г 00Хв 00С Дивитися ціни →

Синхронізація з Google Calendar

Ви можете безперешкодно інтегрувати Bookly з Google Calendar, щоб автоматично синхронізувати нові бронювання між Календарем Bookly і Google Calendar в обох напрямках.

Bookly PRO пропонує три режими синхронізації з Google Calendar:

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

Перш ніж вибрати режим синхронізації, будь ласка, уважно прочитайте наведені нижче інструкції з налаштування зʼєднання між двома календарями.

Щоб налаштувати зʼєднання, вам потрібно ввести Client ID та Client secret у Bookly > Налаштування > Google Calendar.

Щоб знайти свій Client ID та Client secret, виконайте такі дії:

1. Перейдіть у Google Cloud Platform.

2. Створіть новий проєкт.

Google Cloud Platform

3. Увімкніть Google Calendar API:

  • На бічній панелі зліва виберіть Library.
  • Знайдіть Google Calendar API або перейдіть на сторінку API безпосередньо за цим посиланням.
  • Переконайтеся, що API увімкнено.

Google Cloud Platform

4. Налаштуйте облікові дані застосунку:

  • Виберіть свій проєкт, потім натисніть OAuth consent screen зліва та натисніть Get Started, щоб налаштувати облікові дані.
  • Додайте потрібну інформацію про застосунок і контактні дані, потім натисніть Create.

Google Cloud Platform

Google Cloud Platform

5. Створіть облікові дані OAuth-клієнта:

  • На наступному екрані натисніть Create OAuth Client.
  • У полі Application type виберіть Web application і введіть назву.
  • У полі Authorized redirect URIs введіть URI перенаправлення, який можна знайти в меню Bookly > Налаштування > Google Календар.
  • Натисніть Create.

Google Cloud Platform

Google Cloud Platform

6. Введіть облікові дані в Bookly:

  • У розділі OAuth 2.0 Client IDs виберіть свій проєкт, щоб побачити Client ID і створити Client Secret.
  • Скопіюйте та вставте ці значення в меню Bookly > Налаштування > Google Календар.

Google Cloud Platform

Google Cloud Platform

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

Коли завершите налаштування, перейдіть у розділ Співробітники, виберіть свого співробітника, перейдіть на вкладку Додатково й увімкніть зʼєднання для синхронізації записів співробітника з Google Calendar.

Налаштування співробітника в Bookly

Нарешті, увійдіть у свій облік Google і надайте плагіну дозвіл на доступ до вашого Google Calendar.

Доступ до облікового запису Google

Якщо під час підключення виникає помилка Error 403: access_denied, відкрийте свій застосунок у Google Console, перейдіть у Google Auth Platform Audience і змініть Publishing status на In production.

Google Cloud Platform

Наразі діє обмеження на 50 токенів оновлення на облік користувача на клієнта. Якщо ліміт досягнуто, створення нового токена оновлення автоматично й без попередження анулює найстаріший токен оновлення. Це обмеження не стосується service-акаунтів.

Коли ви підключаєте співробітників до їхніх Google Calendar, ви можете побачити попередження, що Google не перевірив застосунок.

Цей екран означає, що ваш застосунок Google не пройшов процес перевірки Google. Ви можете продовжити процес підключення співробітників, натиснувши Advanced і продовживши.

Щоб уникнути цього попередження в майбутньому, вам слід пройти перевірку свого застосунку на екрані згоди вашого застосунку.

Для наявних користувачів, якщо після додавання нових співробітників виникають проблеми з синхронізацією:

Перейдіть у Налаштування Bookly > Google Calendar > Redirect URI. Скопіюйте оновлене посилання та вставте його в Google API Console > Credentials > Web Application > Authorized Redirect URIs.

Ви вже робили це раніше, і оскільки URI може змінюватися з регулярними оновленнями плагіна, вам час від часу доведеться повідомляти Google API, яку нову URI-адресу авторизувати.

Це, найімовірніше, вирішить проблему із синхронізацією. Якщо вона не зникає, повідомте нам про це на support@bookly.net.

Bookly дозволяє налаштувати спосіб відображення інформації про ваше бронювання в Google Calendar.

Шаблон для назви події

Виберіть деталі для опису події Google Calendar, яку створено через Bookly. Доступні коди: {service_name}, {category_name}, {staff_name}, {client_names} і {client_phones}.

Шаблон опису події

Використовуйте доступні коди для інформації про запис, яку буде показано в Google Calendar.

Усередині структури {#each participants as participant}{/each} під час налаштування опису події GC слід використовувати {participant.client_email} замість {client_email} і так далі. Це гарантує, що деталі запису коректно відображатимуться в Google Calendar для групових бронювань.

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

Якщо ви активуєте цей режим синхронізації, будь-які нові записи, створені в Календарі Bookly, включно з користувацькими полями, і подальші зміни в них будуть відображені в Google Calendar.

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

Якщо ви виберете цей режим синхронізації, будь-які оновлення, зроблені в Bookly, автоматично відображатимуться у вашому Google Calendar. Однак події, спочатку створені в Google Calendar, не копіюватимуться й не показуватимуться в Календарі Bookly. Події Google Calendar враховуватимуться при показі доступних часових інтервалів клієнтам у вашій формі бронювання. Тому якщо в Google Calendar є подія, відповідний часовий інтервал не буде відкритий для бронювання, оскільки Bookly вважатиме цей час зайнятим.

Зверніть увагу, що синхронізація записів між двома календарями може зайняти певний час, що потенційно спричиняє затримки під час завантаження кроку часу у формі бронювання. Для оптимальної продуктивності ми рекомендуємо обмежити кількість подій, які отримуються завдяки цій функції. Занадто велика кількість подій у Google Calendar може призвести до проблем із памʼяттю PHP, коли Bookly намагається отримати всі події.

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

Якщо ви активуєте опцію двосторонньої синхронізації (потребує встановлення Advanced Google Calendar (Add-on) для Bookly), ви отримаєте повноцінну двосторонню синхронізацію. Це гарантує, що всі дані вашого календаря Bookly разом із будь-якими подальшими змінами розкладу залишаються синхронізованими з Google Calendar. Будь-які нові бронювання, створені або оновлені в Календарі Bookly, автоматично відображатимуться в Google Calendar, і навпаки.

Перш ніж увімкнути та зберегти цей режим синхронізації, важливо спочатку налаштувати параметри в Google Calendar. Крім того, переконайтеся, що ваш сайт використовує HTTPS для безперебійного процесу синхронізації.

Уважно прочитайте наведені нижче інструкції та відвідайте цю сторінку, щоб дізнатися більше про реалізацію «інкрементної синхронізації» даних календаря.

Двонапрямлена синхронізація складається з двох етапів:

1. Початкова повна синхронізація відбувається одноразово на початку, щоб узгодити стан клієнта зі станом сервера. Клієнт отримує токен синхронізації, який має зберегти.

Коли ви активуєте двосторонню синхронізацію й натискаєте Зберегти, розпочинається повна синхронізація. Усі записи з Bookly будуть скопійовані в Google Calendar, і навпаки.

У полі Синхронізація історії записів вкажіть кількість минулих календарних днів, які потрібно синхронізувати. Наприклад, якщо ввести 1, обидва календарі синхронізують історію записів починаючи з учора.

Тривалість початкової синхронізації може відрізнятися залежно від обсягу подій для синхронізації.

2. Інкрементна синхронізація — це повторюваний процес, який постійно оновлює клієнта змінами з часу останньої синхронізації. Під час кожної ітерації клієнт передає попередній токен синхронізації, отриманий від сервера, і зберігає новий токен синхронізації, отриманий у відповіді.

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

Реєстрація вашого домену

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

Крок 1: підтвердьте, що ви є власником домену

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

Крок 2: зареєструйте свій домен

Щоб зареєструвати підтверджений домен як один із дозволених доменів для вашого проєкту, виконайте такі дії:

1. Перейдіть на сторінку підтвердження домену у консолі API.

2. Натисніть Add domain.

3. Заповніть форму, потім знову натисніть Add domain.

На цьому етапі Google API Console перевіряє всі домени у списку на відповідність тим, які ви підтвердили в Search Console. Якщо ви правильно підтвердили всі домени, сторінка оновиться й покаже новий список дозволених доменів. Тепер ви можете використовувати будь-який із цих доменів для отримання push-сповіщень.

Якщо вам потрібна додаткова технічна інформація, зверніться за цими посиланнями:

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

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

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

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

Коли ви створюєте подію All day у Google Calendar, її статус за замовчуванням встановлюється як Free. Щоб ця подія відображалася в Календарі Bookly, змініть її статус на Busy.

Подія Google Calendar

Перегляньте ці статті, щоб вирішити найпоширеніші проблеми із синхронізацією Google Calendar:

Не вдається підключити співробітника до Google Calendar

Між моїм сайтом і Google Calendar є розбіжності. Що можна зробити?

Синхронізація з Google Calendar перестала коректно працювати після оновлення. Як це виправити?

Синхронізація з Google Calendar не працює. На вкладці «Співробітники» зʼявляється помилка: «Could not json decode the token.»