Календарь
Календарь – это список задач в календарном представлении, в которых участвует пользователь. В этот список попадают задачи и события, срок которых начинается в указанный промежуток, а также задачи, в которых установлено напоминание в заданном временном интервале.
Выбрать типы событий в календаре можно, комбинируя следующие фильтры.
Due — события, срок которых находится в указанном временном интервале, в тайм-зоне UTC+0.
DueDate — задачи, срок которых находится в указанные календарные даты (значение времени игнорируется).
DueForCurrentStep — задачи, в которых срок на текущем этапе попадает в выбранный временной промежуток в тайм-зоне UTC+0.
Reminded — задачи, для которых было установлено напоминание.
Методы
GET /calendar
Метод возвращает список задач, в том числе тех, в которых пользователи назначили встречи на определенной период времени.
GET http://api.pyrus.com/v4 /calendar ?include_meetings=true &filter_mask=7 &start_date_utc=2025-01-29t00:00 &end_date_utc=2025-02-01T00:00
Тело ответа
{
"has_more": false,
"tasks": [
{
"id": 5799,
"text": "заморзка SLA:",
"formatted_text": "заморзка SLA:",
"create_date": "2025-01-30T14:50:09Z",
"last_modified_date": "2025-01-30T14:50:09Z",
"author": {
"id": 1731,
"first_name": "tester",
"last_name": "papirus",
"email": "test@papirus.net",
"type": "user",
"external_id": "",
"department_id": 1654,
"banned": false,
"position": "Директор",
"messenger": {
"type": "Internet"
},
"rights": 4095,
"web_session_settings": {},
"mobile_session_settings": {},
"web_session_inactive_settings": {},
"mobile_session_inactive_settings": {},
"web_session_restriction_settings": {},
"mobile_session_restriction_settings": {}
},
"due": "2025-01-30T15:20:09Z",
"list_ids": [
51156
],
"form_id": 51156,
"approvals": [
[
{
"person": {
"id": 1731,
"first_name": "tester",
"last_name": "papirus",
"email": "test@papirus.net",
"type": "user",
"external_id": "",
"department_id": 1654,
"banned": false,
"position": "Директор",
"messenger": {
"type": "Internet"
},
"rights": 4095,
"web_session_settings": {},
"mobile_session_settings": {},
"web_session_inactive_settings": {},
"mobile_session_inactive_settings": {},
"web_session_restriction_settings": {},
"mobile_session_restriction_settings": {}
},
"approval_choice": "waiting"
}
]
],
"current_step": 1,
"fields": [
{
"id": 1,
"type": "multiple_choice",
"name": "Статус",
"tooltip": "",
"code": "Status"
},
{
"id": 2,
"type": "due_date_time",
"name": "Срок",
"tooltip": ""
},
{
"id": 5,
"type": "multiple_choice",
"name": "важная",
"tooltip": "",
"default_value": "2"
},
{
"id": 3,
"type": "text",
"name": "Описание",
"tooltip": ""
},
{
"id": 6,
"type": "creation_date",
"name": "Дата создания",
"tooltip": "",
"value": "2025-01-30"
}
],
"is_closed": false
},
{
"id": 5800,
"text": "тест бота:",
"formatted_text": "тест бота:",
"create_date": "2025-01-30T14:51:21Z",
"last_modified_date": "2025-01-30T14:51:44Z",
"author": {
"id": 1731,
"first_name": "tester",
"last_name": "papirus",
"email": "test@papirus.net",
"type": "user",
"external_id": "",
"department_id": 1654,
"banned": false,
"position": "Директор",
"messenger": {
"type": "Internet"
},
"rights": 4095,
"web_session_settings": {},
"mobile_session_settings": {},
"web_session_inactive_settings": {},
"mobile_session_inactive_settings": {},
"web_session_restriction_settings": {},
"mobile_session_restriction_settings": {}
},
"list_ids": [
51384
],
"subscribers": [
{
"person": {
"id": 1731,
"first_name": "tester",
"last_name": "papirus",
"email": "test@papirus.net",
"type": "user",
"external_id": "",
"department_id": 1654,
"banned": false,
"position": "Директор",
"messenger": {
"type": "Internet"
},
"rights": 4095,
"web_session_settings": {},
"mobile_session_settings": {},
"web_session_inactive_settings": {},
"mobile_session_inactive_settings": {},
"web_session_restriction_settings": {},
"mobile_session_restriction_settings": {}
}
},
{
"person": {
"id": 698054,
"first_name": "",
"last_name": "специалисты",
"email": "",
"type": "role",
"external_id": "",
"banned": false,
"messenger": {},
"rights": 0,
"web_session_restriction_settings": {},
"mobile_session_restriction_settings": {}
}
}
],
"form_id": 51384,
"approvals": [
[
{
"person": {
"id": 698054,
"first_name": "",
"last_name": "специалисты",
"email": "",
"type": "role",
"external_id": "",
"banned": false,
"messenger": {},
"rights": 0,
"web_session_restriction_settings": {},
"mobile_session_restriction_settings": {}
},
"approval_choice": "waiting"
}
]
],
"current_step": 1,
"fields": [
{
"id": 1,
"type": "text",
"name": "Текст",
"tooltip": ""
}
],
"is_closed": false
}
],
"meetings": [
{
"id": 127,
"type": "offline",
"start_time": "2025-01-31T09:00:00Z",
"duration": 60,
"join_parameters": {
"url": "",
"external_id": "",
"password": ""
},
"creator_id": 1731,
"task_id": 5800,
"shared_calendar_event_id": "b3edf3b5-f47e-437c-b7fb-22997cb139ce",
"shared_to_email": false
}
]
}
curl
curl -X GET \ 'https://api.pyrus.com/v4/calendar?start_date_utc=2021-12-15T20:30Z&end_date_utc=2022-01-01T20:30Z&item_count=50&all_accessed_tasks=false&filter_mask=7' \ -H 'Authorization: Bearer <YOUR_ACCESS_TOKEN>' \ -H 'Content-Type: application/json'
Параметры
| start_date_utc | Дата и время начала интервала в формате YYYY-MM-dd**T**HH:mm:ss**Z**. |
| end_date_utc | Дата и время конца интервала в формате YYYY-MM-dd**T**HH:mm:ss**Z**. |
| item_count | Максимальное количество задач, которые вернутся в ответе. По-умолчанию: 50, максимально: 100. |
| all_accessed_tasks | Требуется ли возвращать все доступные пользователям задачи, в том числе задачи всех ролей пользователя и задачи всех доступных пользователю форм, в противном случае, вернутся задачи, в которых пользователь является ответственным и/или согласующим и/или наблюдателем, который еще не согласовал задачу. |
| include_meetings | Получение встреч, назначенных в определенный промежуток времени. По умолчанию имеет значение false, в значении true возвращает список задач с назначенными встречами. |
filter_mask | битовая маска, определяющая комбинацию фильтров: Due = 1, DueDate = 2, DueForCurrentStep = 4, Reminded = 8;. Due = 1, DueDate = 2, Due ИЛИ DueDate = 3, DueForCurrentStep = 4, Due ИЛИ DueForCurrentStep = 5, DueDate ИЛИ DueForCurrentStep = 6, Due ИЛИ DueDate ИЛИ DueForCurrentStep = 7, Reminded = 8, Due ИЛИ Reminded = 9, DueDate ИЛИ Reminded = 10, Due ИЛИ DueDate ИЛИ Reminded =11, DueForCurrentStep ИЛИ Reminded = 12, Due ИЛИ DueForCurrentStep ИЛИ Reminded = 13, DueForCurrentStep ИЛИ Reminded = 14, Due ИЛИ DueDate ИЛИ DueForCurrentStep ИЛИ Reminded = 15. |