Перейти к основному содержимому

Календарь

У каждого пользователя есть виды месяца/недели, события и проекции автоматизаций.

События

Заголовок, заметки, начало, необязательный конец, весь день и правило. Заголовок и заметки шифруются.

ТипПоляЗначение
onceatодин раз
hourlyminute, startHour?, endHour?ежечасно
dailyhour, minuteежедневно
weeklydayOfWeek, hour, minuteеженедельно
monthlydayOfMonth, hour, minuteежемесячно
yearlymonth, dayOfMonth, hour, minuteежегодно

Хранятся один раз, разворачиваются на сервере. baseEventId указывает источник. День ограничивается концом месяца. Часовой пояс сервера.

Именованные календари и общий доступ

До 20, необязательный цвет. calendarId связывает событие; отсутствие означает приватный стандартный календарь. read показывает, write редактирует. События сотрудника принадлежат владельцу. Доступ проверяется всегда; удаление календаря отвязывает события и права.

Напоминания

reminderMinutes до 14 дней. Scheduler публикует calendar-reminder; compare-and-set предотвращает повтор.

ICS

GET /api/calendar/export?calendarId= скачивает RFC 5545 .ics с UTC, RRULE, VALARM. POST /api/calendar/import импортирует до 2 MB/1000. Поддерживаются UTC, floating, DATE, простые FREQ; INTERVAL, COUNT, UNTIL, EXDATE импортируются без повтора и сообщаются.

Доступ модели

list_calendar_events, create_calendar_event, delete_calendar_event; изменения требуют подтверждения.

API

МетодПутьНазначение
GET/api/calendar/events?from=&to=Диапазон
POST/api/calendar/eventsСоздать
PUT/api/calendar/events/:eventIdИзменить
DELETE/api/calendar/events/:eventIdУдалить
GET/api/calendar/calendarsКалендари
POST/api/calendar/calendarsСоздать
PUT/api/calendar/calendars/:idИмя/цвет
DELETE/api/calendar/calendars/:idУдалить
GET/api/calendar/exportЭкспорт
POST/api/calendar/importИмпорт

from/to epoch-millisecond, максимум 13 месяцев. До 2000 событий, заголовок 200, заметки 10 000.