Документация REST действия

Работа с календарем

Работа с календарем

Наносимая польза

Узнаете основные методы работы с календарём. Научитесь получать данные по событию, добавлять событие в календарь и изменять его.

Теоретическая часть

Основные параметры

В таблице приведено соответствие параметоров чтобы не нарваться на ошибку CAL_REST_SECTION_ERROR

typeОписаниеownerIdsection
userПользователяID Пользователя, только цифрыИндивидуальный
groupГруппыНет информацииНет информации
company_calendarКомпанииПробел Как правило 1

Параметр section находим через метод calendar.event.getbyid по ID события.
Для получения ID события сделайте следующее:

  1. Переходите в календарь.
  2. Нажимаете на событие из того календаря, section которого нужно получить.
  3. В открывшейся карточке нажимаем на "Открыть".
  4. В верхней части рядом с названием жмём на значёк "Скопировать ссылку на событие в буфер обмена".
  5. В ссылке находим 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 обновлённого события.

Edit this page on GitHub