Получение затрат времени и денег по заданиям через API: get_costs


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

?action=get_costs
Возвращает временные и финансовые затраты для выбранных или всех заданий

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

Возможные данные для использования в filter (для метода get_costs):
  • id=TASK_ID — затраты определенного задания (тип Integer)
  • project=PROJECT_ID — затраты по заданиям определенного проекта (тип Integer)
  • comment — комментарий пользователя к затратам (тип String)
  • dateadd — дата внесения затрат в формате 'DD.MM.YYYY' (тип String)

Возвращаемые данные:
  • id — ID строки затрат
  • comment — комментарий пользователя к затратам
  • time — значение временных затрат
  • money — значение финансовых затрат
  • date — дата внесения затрат
  • is_timer — тип временных затрат
  • true — получены с таймера
    false — внесены вручную
    • user_from — пользователь, за которыми закреплены затраты
    • task — задание, куда внесены затраты (значения параметров аналогичны описанным в методе get_task)
    • total — суммарные значения временных и финансовых затрат по всем строкам затрат, полученным в ответе

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

{
    "status": "ok",
    "data": [
        {
            "id": "COSTS_ID_1",
            "comment": "COSTS_COMMENT",
            "time": "10:00",
            "money": "100.00",
            "date": "YYYY-MM-DD",
            "is_timer": false,
            "user_from": { "id": "USER_ID",
                "email": "USER_EMAIL",
                "name": "USER_NAME"
            },
            "task": {
                "id": "TASK_ID",
                "name": "TASK_NAME",
                "page": "/project/PROJECT_ID/TASK_ID/",
                "status": "active",
                "priority": "0..10",
                "user_from": { "id": "USER_ID",
                    "email": "USER_EMAIL",
                    "name": "USER_NAME"
                },
                "user_to": { "id": "USER_ID",
                    "email": "USER_EMAIL",
                    "name": "USER_NAME"
                },             "project": {                 "id": "PROJECT_ID",                 "name": "PROJECT_NAME",                 "page": "/project/PROJECT_ID/"             }, 
                "date_added": "YYYY-MM-DD HH:II", "date_start": "YYYY-MM-DD",
                "date_end": "YYYY-MM-DD", "time_end": "HH:II",
                "max_time": 20,
                "max_money": 500, "tags": { "TAG_ID": "TAG_NAME_1", "TAG_ID": "TAG_NAME_2", }
            },
   
        },
        {
            "id": "COSTS_ID_2",
            "comment": "COMMENT_COSTS",
... ... ... }
    ],
    "total": {
        "time": "HH:II",
        "money": "10.01"
    }
}