WORKSECTION

Затраты

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

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

https://your-domain.com/api/admin/v2/?action=get_costs&hash=HASH
Возвращает затраты за период времени по задачам и подзадачам, их исполнителя (параметр user_from).

  • is_timer=true означает, что затраты были внесены с таймера
  • is_timer=false означает, что затраты были внесены вручную

Необязательные параметры:
  •  datestart and dateend – диапазон дат для поиска данных.
  •  &add_tags=1 – включает в ответ информацию о статусах и метках
  •  &is_timer=1 – затраты по таймеру
  •  &is_timer=0 – затраты, внесенные вручную
  •  page – возвращает данные указанного проекта
  •  filter – дополнительный параметр для поиска (см. search_tasks

Возможные данные для использования в filter:
  • task, project – id задачи или проекта (Integer)
  • comment – комментарий пользователя к затратам (String)
  • dateadd или date_added – дата внесения затрат в формате YYYY-MM-DD

Пример JSON ответа

{
    "status": "ok",
    "data": [
        {
            "id": "COSTS_ID",
            "comment": "COMMENT_COSTS",
            "time": "10:00",
            "money": "100.00",
            "date": "YYYY-MM-DD",
            "is_timer": false,
            "user_from": {
                "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"
                },
                "date_added": "YYYY-MM-DD HH:II",
                "date_end": "YYYY-MM-DD",
                "max_time": 20,
                "max_money": 500
            },
            "project": {
                "id": "PROJECT_ID",
                "name": "PROJECT_NAME",
                "page": "/project/PROJECT_ID/"
            }    
        },
        {
            "id": "COSTS_ID",
            "comment": "COMMENT_COSTS",
            "time": "0:01",
            "money": "0.33",
            "date": "YYYY-MM-DD",
            "is_timer": true,
            "user_from": {
                "email": "USER_EMAIL",
                "name": "USER_NAME"
            },
            "task": {
                "id": "TASK_ID",
                "name": "NAME_ID",
                "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"
                },
                "date_added": "YYYY-MM-DD HH:II",
                "date_end": "YYYY-MM-DD",
                "max_time": 20,
                "max_money": 500
            },
            "project": {
                "id": "PROJECT_ID",
                "name": "PROJECT_NAME",
                "page": "/project/PROJECT_ID/"
            }
    ],
    "total": {
        "time": "HH:II",
        "money": "0.00"
    }
}

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

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

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

Необязательные параметры:
  • page – возвращает общие затраты указанного проекта

Пример JSON ответа

{
"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 должен совпадать с URL задачи или подзадачи

Обязательные параметры:
  • email_user_from – email сотрудника, за кем будут затраты

Необязательные параметры:
  • time -  временные затраты в формате 0.15 или 1:20
  • money – финансовые затраты в валюте аккаунта
  • is_rate – почасовая ставка для подсчета денег
  • comment – комментарий к затратам 
  • date – дата внесения затрат

При успешном выполнении запроса, ответ будет содержать статус 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 должен совпадать с URL задачи или подзадачи

id=ID_COSTS можно получить в запросе get_costs

Обязательные параметры:
  • page – адрес задачи /подзадачи
  • id – уникальный номер затрат

Необязательные параметры:
  • time – временные затраты в формате 0.15 или 1:20
  • money – финансовые затраты в валюте аккаунта
  • is_rate – почасовая ставка для подсчета денег
  • comment – комментарий к затратам 
  • date – дата внесения затрат

При успешном выполнении запроса, ответ будет содержать статус ok
{
"status": "ok"
}

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

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

https://your-domain.com/api/admin/v2/?action=delete_costs&
page=/project/ID_PROJECT/ID_TASK/&id=ID_COSTS&hash=HASH 
Параметр Page должен совпадать с URL задачи или подзадачи
id=ID_COSTS можно получить в запросе get_costs


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

{
"status": "ok"
}

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

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

https://your-domain.com/api/admin/v2/?action=get_timers&hash=HASH
В этом запросе параметр page не требуется

Возвращает данные о запущенных таймерах, их ID, время запуска, время таймера и исполнителя.

  • Объекты task и project содержат данные о задаче и проекте, где таймер запущен.
  • Объект parent содержит данные родительской задаче.
  • Параметр date_started — данные о дате и времени запуска таймера
  • Параметр user_from — данные пользователя запустившего таймер

{
    "status": "ok",
    "data": [
        {
            "id": "TIMER_ID",
            "time": "HH:II:SS",
            "date_started": "YYYY-MM-DD HH:II",
            "user_from": {
                "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/"
                },
                "date_added": "YYYY-MM-DD HH:II",
                "date_end": "YYYY-MM-DD",
                "max_time": 20,
                "max_money": 500
            }
        }
    ]
}

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

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

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

Обязательные параметры:
  • timer – id таймера (можно получить в запросе get_timers)

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

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