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
или
Роздрукувати