Документация REST действия
Работа с календарем
Работа с календарем
Наносимая польза
Узнаете основные методы работы с календарём. Научитесь получать данные по событию, добавлять событие в календарь и изменять его.
Теоретическая часть
Основные параметры
В таблице приведено соответствие параметоров чтобы не нарваться на ошибку CAL_REST_SECTION_ERROR
| type | Описание | ownerId | section |
|---|---|---|---|
| user | Пользователя | ID Пользователя, только цифры | Индивидуальный |
| group | Группы | Нет информации | Нет информации |
| company_calendar | Компании | Пробел | Как правило 1 |
Параметр section находим через метод calendar.event.getbyid по ID события.
Для получения ID события сделайте следующее:
- Переходите в календарь.
- Нажимаете на событие из того календаря,
sectionкоторого нужно получить. - В открывшейся карточке нажимаем на "Открыть".
- В верхней части рядом с названием жмём на значёк "Скопировать ссылку на событие в буфер обмена".
- В ссылке находим ID.
Получаем данные по событию календаря
Метод calendar.event.getbyid.
Параметры REST-запроса { "id" : "ID события" }.
JSONPath $.SECTION_ID.
Из резалт 1 получите section, а в резалт придёт массив данных по событию.
Цвета
Цвета для фона и для текста события задаются в формате HEX. Ниже приведём самые популярные.
| Код | Цвет |
|---|---|
#088e47 | Зелёный |
#FFC100 | Жёлтый |
#f9f9f9 | Белый |
#111122 | Черный |
#ff0000 | Красный |
#2a6496 | Синий |
Больше цветов на сайте https://www.color-hex.com
Особенности при передаче времени
Для параметра skipTime есть два состояния:
Y- Время не передаётся, событие будет длиться весь день.N- Время передаётся.
В параметры from и to можно передавать переменную или параметр типа "дата" или "дата/время".
Время в напоминании
Стандартные варианты напоминаний
| Код | Название |
|---|---|
{"type" : "min", "count" : 0} | В момент события |
{"type" : "min", "count" : 20} | За 20 минут |
{"type" : "hour", "count" : 3} | За 3 часа |
{"type" : "day", "count" : 1} | За 1 день |
Примеры
Добавление события в календарь компании
Перед использованием закомментированные участки удалить //.
Рекомендую в поле действия "Запускать от имени" указывать пользвателя, который будет участвовать в событии.
Метод calendar.event.add
Параметры REST-запроса
{ "type" : "company_calendar", //Календарь компании "ownerId" : " ", //В качестве ИД указываем пробел "name" : "Тестовое событие", //Название события "description" : "Тестовое описание",//Описание события "from" : "{=Variable:Variable1}", //Дата и вермя начала "to" : "{=Variable:Variable2}", //Дата и вермя окончания "skipTime" : "N", //Нет, время передаётся, событие будет от времени начала до времени окончания "section" : "1", //Секция "color" : "#ff0000", //Цвет события "text_color" : "#111122", //Цвет текста "accessibility" : "busy", //Доступность = Занят "importance" : "normal", //Нормальная важность "private_event" : "N", //НЕ частное событие "remind" : [{"type" : "min", "count" : 20}], //Напомнить за 20 минут "location": "Москва", //Место проведения "is_meeting": "Y", //Да, будут другие участники встречи "attendees": [11, 24, 26, 28], //ИД участников встречи "host": "162" //ИД организатора события }JSONPath $.
В резалт придёт ID созданного события.
Добавление события в личный календарь
Метод calendar.event.add
Параметры REST-запроса
{ "type" : "user", //Календарь пользователя "ownerId" : "18", //ИД пользователя "name" : "Тестовое событие", //Название события "description" : "Тест", //Описание события "from" : "2021-01-20", //Время начала "to" : "2021-01-21", //Время окончания "skipTime" : "Y", //Да, время не передаётся, событие будет весь день "section" : "8", //Секция, у каждого пользователя своя "color" : "#9cbe1c", //Цвет события "text_color" : "#283033", //Цвет текста "accessibility" : "absent", //Доступность = Отсутствую "importance" : "normal", //Норамальная важность события "private_event" : "Y", //Частное событие "remind" : [{"type" : "hour", "count" : 3}], //Напомнить за 3 часа "location": "Kaliningrad" //Место проведения}JSONPath $.
В резалт придёт ID созданного события.
Изменение события в календаре
Метод calendar.event.update
Параметры REST-запроса
{ "id" : 283250, //Обязательное поле "type" : "company_calendar", //Обязательное поле "ownerId" : " ", //Обязательное поле "from" : "{=Variable:Variable2}",//Новые дата и время начала "to" : "{=Variable:Variable3}", //Новые дата и время окончания "skipTime" : "N" //Обязаетельно, если нужно передать время}JSONPath $.
В резалт придёт ID обновлённого события.