Документация 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 обновлённого события.