Календарь
Календарь – это список задач в календарном представлении, в которых участвует пользователь. В этот список попадают задачи и события, срок которых начинается в указанный промежуток, а также задачи, в которых установлено напоминание в заданном временном интервале.
Выбрать типы событий в календаре можно, комбинируя следующие фильтры.
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. |