Сервер BOOCO Meteor (v 1.x) / Настройка интеграций с календарными системами
Настройка интеграций c календарными системами
◼ Интеграция с Яндекс Календарем
Интеграция с 1С:Документооборот
Синхронизация разных календарных систем
Работа с календарными системами
Включение отладочных сообщений
Интеграция BOOCO с Яндекс.Календарем с помощью микросервиса caldev-sync позволяет:
Микросервис caldav-sync предназначен для синхронизации с календарными системами, которые работают по стандарту CalDAV.
caldav-sync по заданному интервалу времени считывает список событий и добавляет их в BOOCO. Если он обнаружил новый календарь, то под него создается переговорная комната (может быть отключено в настройках).
Сервер BOOCO 1.x или 2.x, развернутый в Docker.
Для синхронизации с Яндекс Календарем потребуется учетная запись в Яндекс или Яндекс 360 для бизнеса (с любым тарифом). Для каждого помещения нужно создать свой календарь.

Перейдите по ссылĸе. В пунĸте Создать пароль приложения выберите Календарь.
<aside> ❗ Пароль приложения отображается тольĸо один раз, поэтому следует сĸопировать его и сохранить.
</aside>
В BOOCO создайте пользователя и назначьте ему следующие права
read:any (booking) — чтение бронирований;create:any (booking) — создание новых бронирований;update:any (booking) — обновление существующих бронирований;read:any (venue) — чтение списка помещений;create:any (venue) — создание новых помещений;create:own (log) — журналирование сообщений.Установите микросервис caldav-sync:
Войдите на сервер по SSH.
Создайте папку /opt/caldav-sync:
sudo mkdir /opt/caldav-sync
cd /opt/caldav-sync
Скачайте docker-compose.yml:
sudo curl <https://www.booco.ru/install/caldav-sync/docker-compose.yml> --output docker-compose.yml
Скачайте шаблон файла с переменными окружающей среды .env:
sudo curl <https://www.booco.ru/install/caldav-sync/template.env> --output .env
В редакторе (nano, vi, vim, …) заполните необходимые параметры:
sudo nano .env
Параметры BOOCO_HOST, CALENDAR_LOGIN, CALENDAR_PASSWORD, BOOCO_LOGIN, BOOCO_PASSWORD обязательны к заполнению. Остальные можно оставить по умолчанию.
BOOCO_HOST=https://demo.booco.ru/api
CALENDAR_LOGIN=
CALENDAR_PASSWORD=
BOOCO_LOGIN=
BOOCO_PASSWORD=
BUILD=latest
BOOCO_TOKEN_LOCATION='key/token.json'
BOOCO_TIMEOUT_READ=5000
BOOCO_TIMEOUT_WRITE=5000
BOOCO_TIMEOUT_CONNECT=3000
BOOCO_TIMEOUT_RESPONSE=10000
BOOCO_RETRY_COUNT=2
BOOCO_RETRY_INTERVAL=2500
SYNC_LOGGING=INFO
SYNC_PREFIX=YA
SYNC_DELAY=10000
SYNC_DELAY_BETWEEN=60000
SYNC_DELAY_INITIAL=10000
SYNC_SCHEDULED=true
FUTURE_DAYS=10
PAST_DAYS=0
CREATE_NEW_VENUES=true
TZ=Europe/Moscow
Создайте сеть web для работы загруженного docker-compose.yml. Запустите контейнер и посмотрите логи (чтобы выйти из просмотра логов, нажмите Ctrl + C):
sudo docker network create -d bridge web
sudo docker compose up -d
sudo docker logs caldav-sync -f
CREATE_NEW_VENUES=true в .env.CREATE_NEW_VENUES=false в .env.SYNC_LOGGING=DEBUG.BOOCO_HOST — адрес REST-клиента Booco (по умолчанию http://localhost:3000/api)BOOCO_LOGIN — имя пользователя BoocoBOOCO_PASSWORD — пароль пользователя BoocoBOOCO_TOKEN_LOCATION — расположение и имя файла, где будет сохранён токен авторизации (по умолчанию — key/token.json)BOOCO_TIMEOUT_READ — таймаут получения данных от клиента Booco в мс (минимум — 5 с, по умолчанию — 5 с)BOOCO_TIMEOUT_WRITE — таймаут передачи данных клиенту Booco в мс. (минимум - 5 с., по умолчанию - 5 с.)BOOCO_TIMEOUT_CONNECT — таймаут подключения к клиенту Booco в мс (минимум — 3 с, по умолчанию — 3 с)BOOCO_TIMEOUT_RESPONSE — таймаут ответа от клиента Booco в мс. (минимум — 10 с, по умолчанию — 10 с)BOOCO_RETRY_COUNT — количество повторных запросов к клиенту Booco в мс (минимум — 1 раз, по умолчанию — 2 раза)BOOCO_RETRY_INTERVAL — задержка перед повторным запросом к клиенту Booco в мс (минимум — 2.5 с, по умолчанию — 2.5 с)CALENDAR_LOGIN — логин подключения к Яндекс КалендарюCALENDAR_PASSWORD — специальный пароль приложенияSYNC_LOGGING — уровень журналирования для консоли и отправки на сервер — [OFF | ERROR | WARN | INFO | DEBUG] (по умолчанию — INFO)SYNC_PREFIX — префикс для записей этого сервиса в Журнал (по умолчанию — CALDAV-SYNC)CREATE_NEW_VENUES — флаг создания переговорных комнат [true | false] (по умолчанию — вкл. [true])PAST_DAYS — целочисленное значение, количество дней от текущей даты, после которого заканчивается событие (по умолчанию — 7 дней)FUTURE_DAYS — целочисленное значение, количество дней от текущей даты, до которого начинается событие (по умолчанию — 30 дней)TZ — часовой пояс переговорной комнаты, строковое значение, например: Europe/Moscow (по умолчанию пустое).