WORKSECTION

Затраты

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

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

https://your-domain.com/api/admin/v2/?action=get_costs&hash=HASH
Возвращает данные по внесенным временным и финансовым затратам задач и подзадач
При отсутствии параметра page будут получены затраты по всем проектам аккаунта

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

Возможные данные для использования в filter (для метода get_costs):
  • task=TASK_ID — возвращает данные определенной задачи/подзадачи по её ID (можно получить через методы get_all_tasks или get_tasks) (Integer)
  • project=PROJECT_ID — возвращает данные по задачам определенного проекта по его ID (можно получить через метод get_projects) (Integer)
  • comment — комментарий пользователя к затратам (String)
  • dateadd или date_added — дата внесения затрат в формате 'DD.MM.YYYY'

Возвращаемые данные:
  • 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"
    }
}

Получение общей сумы затрат времени и денег проекта через API: get_costs_total

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

https://your-domain.com/api/admin/v2/?action=get_costs_total&hash=HASH
Возвращает данные по суммарным внесенным временным и финансовым затратам задач и подзадач
При отсутствии параметра page будут получены затраты по всем проектам аккаунта

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

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

{
"status": "ok",
"total": {
"time": "HH:II",
"money": "0.00", }
}

Добавление временных и финансовых затрат в задании через API: add_costs

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

https://your-domain.com/api/admin/v2/?action=add_costs&
page=/project/PROJECT_ID/TASK_ID/SUBTASK_ID/&email_user_from=
USER_EMAIL&time=TIME&money=MONEY&date=DD.MM.YYYYY& comment=COMMENT&hash=HASH
Вносит строку временных/финансовых затрат для определенной задачи/подзадачи

Обязательные параметры:
  • page — ссылка на задачу/подзадачу (см. формат ссылки), для которой будут добавлены затраты
  • email_user_from — email сотрудника, за кем будут значиться затраты

Необязательные параметры:
  • time —  временные затраты в одном из форматов 0.15 / 0,15 / 0:09
  • money — финансовые затраты в валюте аккаунта (если необходимо указать без привязки к почасовой ставке)
  • is_rate=1 — финансовые затраты рассчитываются исходя из почасовой ставки (параметр money игнорируется)
  • comment — комментарий к затратам 
  • date — дата внесения затрат

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

{
"status": "ok",
"id": "COSTS_ID"
}

Обновление временных и финансовых затрат задания через API: update_costs

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

https://your-domain.com/api/admin/v2/?action=update_costs&
page=/project/ID_PROJECT/ID_TASK/&id=ID_COSTS
&comment=UPDATED&time=2&is_rate=1&hash=HASH
Редактирует ряд параметров отдельной строки затрат
Среди необязательных параметров указаны все доступные к редактированию

Обязательные параметры:
  • page — ссылка на задачу/подзадачу (см. формат ссылки)
  • id — уникальный номер строки затрат (можно получить через метод get_costs)

Необязательные параметры:
  • time — временные затраты в одном из форматов 0.15 / 0,15 / 0:09
  • money — финансовые затраты в валюте аккаунта (если необходимо указать без привязки к почасовой ставке)
  • is_rate=1 — финансовые затраты считаются исходя из почасовой ставки, если указано новое значение time (параметр money игнорируется)
  • comment — комментарий к затратам
  • date — дата внесения затрат

Недоступные к редактированию через указанный метод параметры:
  • email_user_from — email сотрудника, за кем значатся внесенные затраты

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

{
    "status": "ok"
}

Удаление временных и финансовых затрат задания через API: delete_costs

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

https://your-domain.com/api/admin/v2/?action=delete_costs&
page=/project/PROJECT_ID/TASK_ID/&id=COSTS_ID&hash=HASH 
Удаляет указанную строку затрат определенной задачи/подзадачи

Обязательные параметры:
  • page — ссылка на задачу/подзадачу (см. формат ссылки)
  • id — уникальный номер строки затрат (можно получить через метод get_costs)

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

{
    "status": "ok"
}

Получение списка активных таймеров через API: get_timers

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

https://your-domain.com/api/admin/v2/?action=get_timers&hash=HASH
Возвращает данные о запущенных таймерах: их ID, время запуска, время таймера и исполнителя
В этом запросе параметр page не требуется

Возвращаемые данные:
  • id — уникальный номер запущенного таймера
  • time — количество времени по запущенному таймеру на момент отправки запроса
  • date_started — дата и время запуска таймера
  • user_from — данные участника, запустившего таймер
  • task — данные о задаче/подзадаче и проекте, где запущен таймер (возвращаемые данные аналогичны полученным через метод get_task)

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

{
    "status": "ok",
    "data": [
        {
            "id": "TIMER_ID",
            "time": "HH:II:SS",
            "date_started": "YYYY-MM-DD HH:II",
            "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": "1",
                "user_from": {
                    "email": "USER_EMAIL",
                    "name": "USER_NAME"
                },
                "user_to": {
                    "email": "USER_EMAIL",
                    "name": "USER_NAME"
                },
                "project": {
                    "id": "PROJECT_ID",
                    "name": "PROJECT_NAME",
                    "page": "/project/PROJECT_ID/"
                }, "text": "TASK_TEXT",
                "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" }
            }
        }
    ]
}

Остановка запущенного таймера через API: stop_timer

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

https://your-domain.com/api/admin/v2/?action=stop_timer& timer=TIMER_ID&hash=HASH
Остановка и сохранение данных запущенного таймера
В этом запросе параметр page не требуется

Обязательные параметры:
  • timer — ID таймера (можно получить через метод get_timers)

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

{
    "status": "ok"
}
esc
или
Распечатать