Google Calendar
Обзор
Bronjoy интегрируется с Google Calendar, чтобы записи сотрудников всегда были синхронизированы. Доступны два режима синхронизации:
| Режим | Направление | Как это работает |
|---|---|---|
| Синхронизация с Google Calendar | Двусторонняя | Подключение по OAuth; отправляет записи в Google и забирает внешние события, блокируя слоты |
| Лента iCal | Односторонняя (чтение) | Подписка из любого календарного приложения; только чтение, обновляется автоматически |
Синхронизация с Google Calendar
Подключение
- Получите URL авторизации:
GET /api/org/calendar/auth-url?provider=google Authorization: Bearer your-token
Возвращает URL согласия Google OAuth. Сотрудник открывает его в браузере. - После предоставления доступа Google перенаправляет обратно в Bronjoy. Подключение создаётся автоматически.
- Проверьте подключение:
GET /api/org/calendar/connections Authorization: Bearer your-token
Поведение синхронизации
После подключения Bronjoy синхронизирует данные в обе стороны:
Отправка (Bronjoy → Google):
- Новые записи создаются как события Google Calendar
- Перенесённые записи обновляют событие
- Отменённые записи удаляют событие
- В описание события входят название услуги, данные клиента и заметки
Получение (Google → Bronjoy):
- Внешние события в календаре сотрудника блокируют слоты доступности
- Полученные события кешируются и периодически обновляются
- События на весь день обрабатываются корректно (блокируют весь день)
Переключение функций синхронизации
Управляйте тем, что синхронизируется, для каждого подключения:
PATCH /api/org/calendar/connections/{connection}/toggle
Authorization: Bearer your-token
Content-Type: application/json
{
"push_enabled": true,
"pull_enabled": true
}
| Настройка | Что делает |
|---|---|
push_enabled | Отправлять записи Bronjoy в Google Calendar |
pull_enabled | Забирать события Google, чтобы блокировать доступность в Bronjoy |
sync_enabled | Главный переключатель — при значении false отключает всю синхронизацию |
Ручная синхронизация
Запустите немедленную синхронизацию (полезно после изменений в Google Calendar):
POST /api/org/calendar/connections/{connection}/sync
Authorization: Bearer your-token
Отключение
DELETE /api/org/calendar/connections/{connection}
Authorization: Bearer your-token
Это отзывает OAuth-токен, удаляет кешированные события и останавливает всю синхронизацию. Уже созданные Bronjoy события в Google Calendar не удаляются.
Лента iCal
Лента iCal — это URL только для чтения, на который может подписаться любое календарное приложение. В ней отображаются предстоящие записи сотрудника.
Получение URL ленты
GET /api/org/calendar/feed-url
Authorization: Bearer your-token
Возвращает URL вида:
https://api.bronjoy.com/api/calendar/feed/abc123token.ics
Подписка в календарном приложении
Google Calendar:
- Откройте Google Calendar → Другие календари → По URL
- Вставьте URL ленты
- Google обновляет её автоматически (обычно раз в несколько часов)
Apple Calendar:
- Файл → Новая подписка на календарь
- Вставьте URL ленты
Outlook:
- Добавить календарь → Из Интернета
- Вставьте URL ленты
Подробности о ленте
- Содержит предстоящие записи на ближайшие 6 месяцев
- Не включает отменённые записи
- Каждое событие содержит: название услуги, имя клиента, заметки, место
- Обновляется каждые 60 минут (зависит от календарного приложения)
- Аутентификация по токену — вход в систему не требуется
Скачивание отдельной записи
Клиенты могут скачать отдельную запись в виде файла .ics:
GET /api/client/appointments/{appointment}/ics
Authorization: Bearer client-token
Или получить ссылки для добавления в конкретные календарные приложения:
GET /api/client/appointments/{appointment}/calendar-links
Возвращает прямые ссылки для Google Calendar и Outlook.
Рекомендации
- Используйте синхронизацию с Google Calendar, если сотрудники активно ведут своё расписание в Google Calendar — она предотвращает двойные записи, забирая внешние события
- Используйте ленту iCal, если сотрудникам нужен только просмотр своих записей Bronjoy в привычном календарном приложении
- Включите получение событий для сотрудников, у которых в Google Calendar есть личные события, блокирующие слоты для записи
- Не используйте одновременно синхронизацию с Google Calendar и ленту iCal для одного сотрудника — это приведёт к дублированию событий