Календарь

Облачный Pyrus
Безоблачный Pyrus

Календарь – это список задач в календарном представлении, в которых участвует пользователь. В этот список попадают задачи и события, срок которых начинается в указанный промежуток, а также задачи, в которых установлено напоминание в заданном временном интервале.

Выбрать типы событий в календаре можно, комбинируя следующие фильтры.

  1. Due — события, срок которых находится в указанном временном интервале, в тайм-зоне UTC+0.

  2. DueDate — задачи, срок которых находится в указанные календарные даты (значение времени игнорируется).

  3. DueForCurrentStep — задачи, в которых срок на текущем этапе попадает в выбранный временной промежуток в тайм-зоне UTC+0.

  4. 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.

Была ли эта статья полезной?