LevelChannel
LevelChannel · Интеграция с Google Calendar

LevelChannel × Google Calendar

LevelChannel — это веб-приложение CRM для частного репетитора (страница приложения: https://levelchannel.ru). Эта страница описывает, как LevelChannel интегрируется с Google Calendar: какие OAuth-разрешения мы запрашиваем, какие данные мы читаем и пишем, и кто их видит. Авторизацию Google подключает учитель — чтобы, когда он назначает занятие в кабинете, в его Google-календаре автоматически появлялось обезличенное событие «LC: урок». Ученик Google не подключает: он подписывается на свой календарь-фид (ICS) в любом календарном приложении.

Что делает интеграция

Занятие → событие. Когда учитель назначает занятие в кабинете LevelChannel (например, «Маша, вторник 14:00–15:00»), мы создаём событие в Google-календаре этого учителя. Заголовок события всегда обезличенный — «LC: урок», без имени ученика. В событии — только время, длительность, ссылка на Google Meet (если включена) и ссылка обратно в кабинет.

Перенос → обновление события. Если занятие переносится, мы обновляем то же самое событие в календаре учителя — он видит актуальное время.

Отмена → удаление события. Отменённое занятие в кабинете удаляет соответствующее событие из календаря.

Конфликты. Перед созданием занятия мы читаем события Google-календаря учителя на этот промежуток, чтобы предупредить о пересечении (например, если в это время уже стоит другая встреча).

Какие OAuth scope мы запрашиваем и зачем

Авторизация через Google запрашивает два scope:

  • https://www.googleapis.com/auth/calendar.events — нужен, чтобы создавать, обновлять и удалять события занятий в календаре учителя, а также прочитать существующие события в момент создания занятия и предупредить о конфликте. Мы смотрим только время, чтобы понять, что промежуток занят, а не содержимое встреч.
  • https://www.googleapis.com/auth/calendar.calendarlist.readonly — нужен, чтобы увидеть список календарей учителя и понять, в какой из них можно писать. Само содержимое календарей этот доступ не читает.

Что важно про данные ученика: событие, которое мы создаём в Google-календаре учителя, обезличено — заголовок всегда «LC: урок», без имени, контактов или других персональных данных ученика. Google-календарь — это сервис Google (третья сторона), и мы честно об этом говорим: в календарь уходит только факт и время занятия учителя, но не персональные данные ученика. Мы не читаем другие календари, не сканируем чужие встречи, не показываем данные рекламным сетям.

Кто видит твои данные

Только ты. События в твоём Google-календаре видишь ты сам — никто из команды LevelChannel не имеет доступа к OAuth-токенам в открытом виде. Токены хранятся зашифрованными ключом AES-256, который сам по себе не лежит в коде.

Ученик — через свою подписку, без Google. Ученик не подключает Google-аккаунт. Он подписывается на персональный календарь-фид (ICS) в своём календарном приложении и видит только свои занятия с тобой — не чужих учеников. Google OAuth к ученику отношения не имеет.

Отзыв доступа в один клик. В любой момент можно отозвать доступ — через настройки кабинета «Интеграции → Google Calendar → отключить» или через панель Google «Безопасность → доступ сторонних приложений». После отзыва мы удаляем токен из базы.

Безопасность и 152-ФЗ

Серверы LevelChannel находятся на территории Российской Федерации, как требует ч. 5 ст. 18 152-ФЗ. Персональные данные пользователей-граждан РФ обрабатываются на этих серверах.

Подробнее — в политике обработки персональных данных и тексте согласия.

Как подключить

1. Зарегистрируйся в роли учителя на levelchannel.ru/register. Стартовый тариф бесплатный — карта не нужна.

2. Открой раздел «Настройки → Календарь» в кабинете и нажми «Подключить Google Calendar». Откроется стандартное окно согласия Google — ты увидишь, какие именно scope запрашиваются.

3. Назначь первое занятие. Через несколько секунд обезличенное событие «LC: урок» появится в твоём Google-календаре. Готово.

Часто спрашивают

Вопросы

Можно ли отключить интеграцию после подключения?+
Да. В настройках кабинета «Интеграции → Google Calendar → отключить». После отключения мы удаляем OAuth-токены из базы. Существующие события в Google-календаре остаются — ты управляешь ими как обычно.
Что если у меня несколько Google-аккаунтов?+
Подключается один аккаунт на учителя. Можно сменить аккаунт через отключение текущей привязки и подключение новой.
События появляются в чужом календаре, если я подключил рабочий аккаунт?+
Нет, события создаются только в том календаре, который ты сам выбрал при подключении. Чужие календари в Google не затрагиваются.
Можно ли использовать LevelChannel без подключения календаря?+
Да. Календарная интеграция опциональна. Без неё ты по-прежнему ведёшь расписание, ученики получают напоминания в Telegram и на e-mail. Просто события не дублируются в Google-календарь.
Какой у вас Privacy Policy URL?+
https://levelchannel.ru/privacy — там описано, какие данные мы храним, сколько и как их удалить.
Какой у вас Application Homepage URL?+
https://levelchannel.ru — главная страница продукта.

Стартовый — бесплатно, навсегда.

Один ученик включён. Карта не нужна.

Подключить Google Calendar