Получение суммарных затрат времени и денег через API: get_costs_total


Пример get_costs_total запроса

?action=get_costs_total
Возвращает суммарные временные и финансовые затраты по проектам или заданию

Необязательные параметры:
  • id_project — ID проекта (суммарные затраты определенного проекта)
  • id_task — ID задания (суммарные затраты определенного задания)
  • datestart и dateend — диапазон дат для поиска данных в формате DD.MM.YYYY (даты считаются включительно)
  • is_timer — тип временных затрат, возможные значения:
    • 1 — внесено с таймера
      0 — внесено вручную
      • filter — фильтр для получения данных по нескольким проектам (см. описание ниже)
      • extra=projects — добавляет сводные и помесячные затраты по каждому проекту выборки (по конкретному проекту или нескольким проектам при использовании id_project или filter, либо по всем проектам при отсутствии параметров выбора проекта). Параметр игнорируется при использовании id_task
      • extra — дополнительные данные, возможные значения (можно указывать через запятую, например extra=projects,tasks):
      • projects — суммарные и помесячные затраты по каждому проекту выборки (по конкретному проекту или нескольким проектам при использовании id_project или filter, либо по всем проектам при отсутствии параметров выбора проекта). Параметр игнорируется при использовании id_task
        tasks или tasks_top_level — суммарные затраты по каждой задаче и подзадаче или только по задачам, но с учетом подзадач. Работают только вместе с параметром projects

    Доступные значения для filter (для метода get_costs_total)

    Фильтр по ID
    project=2456
    Фильтр по диапазону ID
    project in (1234, 1240)
    Объдинение фильтров
    *через скобки ( ) и операторы andor (должны быть в нижнем регистре)
(project=2456 and project=2464) or project in (2450, 2470)

Пример JSON ответа
При успешном выполнении запроса, ответ будет содержать статус ok и следующие данные:

*без extra=projects
{
"status": "ok",
"total": {
"time": "30:00",
"money": "300.00", }
}
*c extra=projects
{
    "status": "ok",
    "projects": {
        "PROJECT_ID_1": {
            "time": "10:00",
            "money": "100.00",
            "monthly": {
                "2024-04": {
                    "time": "2:00",
                    "money": "20.00"
                },
                "2024-03": {
                    "time": "8:00",
                    "money": "80.00"
                },
                ... ... ...
            },
            "id": "PROJECT_ID_1",
            "name": "PROJECT_NAME_1",
            "page": "/project/PROJECT_ID_1/"
        },
        "PROJECT_ID_2": 
            ... ... ...
        ,
        ... ... ...
    },
    "total": {
        "time": "30:00",
        "money": "300.00"
    }
}
*с extra=projects,tasks
{
    "status": "ok",
    "projects": {
        "PROJECT_ID_1": {
            "time": "10:00",
"money": "100.00",
"monthly": { "2024-04": { "time": "2:00", "money": "20.00" }, ... ... ... }, "tasks": { "TASK_ID": { "id": "TASK_ID", "name": "TASK_NAME_1", "page": "/project/PROJECT_ID_1/TASK_ID/", "status": "done", "priority": "0..10", "time": "1:00", "money": "10.00", }, "SUBTASK_ID": ... ... ... , }, "id": "PROJECT_ID_1", "name": "PROJECT_NAME_1",
"page": "/project/PROJECT_ID_1/" }, "PROJECT_ID_2": ... ... ...
, ... ... ... }, "total": { "time": "30:00", "money": "300.00" } }