Главная
Документация
Руководство администратора
4. Настройка модулей
Календари — CalDAV, Google и Яндекс
Календари — CalDAV, Google и Яндекс
Обновлено: 09 Октябрь 2026
Версия: 2.4.0
Календари — CalDAV, Google и Яндекс
Интеграция синхронизирует отсутствия, совещания и CRM-активности с внешними календарями сотрудников. Пользовательский сценарий: Синхронизация с внешними календарями.
Три канала:
| Канал | Назначение |
|---|---|
| CalDAV | Apple Calendar, Thunderbird, DAVx⁵, Outlook + CalDAV Synchronizer. Работает без отдельных OAuth-ключей |
| Google Календарь | OAuth: ASK создаёт два календаря в аккаунте сотрудника |
| Яндекс Календарь | OAuth Яндекса + CalDAV caldav.yandex.ru |
Вход в АСК через Google/Яндекс не используется (нет SSO на /login/).
Общие требования
- Выполните миграции:
python manage.py migrate calendarsиpython manage.py migrate system(создаёт пустые ключи настроек). - Нужны HTTPS, Celery worker и Celery beat.
- Ключи интеграций — в Django-админке: System → System settings → Интеграции.
Google Календарь
- В Google Cloud Console создайте проект, включите Google Calendar API.
- Настройте OAuth consent screen (scopes:
calendar.app.created,userinfo.email,openid). В режиме Testing добавьте тестовых пользователей. - Создайте OAuth client ID типа Web application. Redirect URI:
https://<домен-ask>/calendars/google/callback/- Вставьте Client ID и Client Secret в настройки:
GOOGLE_CALENDAR_CLIENT_IDGOOGLE_CALENDAR_CLIENT_SECRET
Пока оба поля пустые, кнопка «Подключить Google Календарь» у сотрудников скрыта. CalDAV при этом работает.
Яндекс Календарь
- Создайте приложение на oauth.yandex.ru (платформа «Веб-сервисы»).
- Redirect URI:
https://<домен-ask>/calendars/yandex/callback/ - Доступы: Календарь (
calendar:all), Адрес электронной почты (login:email). - Заполните в АСК:
YANDEX_CALENDAR_CLIENT_IDYANDEX_CALENDAR_CLIENT_SECRET
Пока ключи пустые, кнопка Яндекса скрыта. Webhook у Яндекса нет — Beat опрашивает подключения примерно каждые 10 минут.
CalDAV
Отдельной настройки провайдера не требуется. Сотрудник создаёт токен в модалке календаря и подключает клиент к https://<домен>/caldav/.
Проверка
- Сотрудник подключает Google / Яндекс / CalDAV из модалки (профиль, отсутствия, совещания, дашборд).
- Создайте совещание в АСК — оно появляется во внешнем календаре.
- Перенос своего разового совещания во внешнем календаре меняет время в АСК; чужие совещания и CRM откатываются.
Техническое описание: в репозитории кода — documentation/technical/calendars.md.