WORKSECTION

Проєкти

Отпимання списку проектів через API: get_projects

Приклад get_projects запиту

 https://your—domain.com/api/admin/v2/?action=get_projects&hash=HASH 
Повертає дані по всіх проектах
У цьому запиті параметр page не потрібен

Необов'язкові параметри:
  • filter=active (pending, archive) — повертає дані проектів, які знаходяться у зазначеному статусі (активний/сплячий/архівний)
  • extra — повертає додаткові дані по проекту (можна вказувати через кому, наприклад extra=text,options,users):
  • text або html — опис відповідно у текстовому або html форматі
    options — масив даних щодо обмежень проекту
    users — масив даних про учасників команди проекту

Повертаються дані по проектам:
  • id — унікальний номер проекту
  • name — назва проекту
  • status — статус (active/pending/archive — активний/сплячий/архівний)
  • company — назва папки, в якій розміщено проект
  • user_from і user_to — інформація про учасника, який створив проект, і керівника проекту
  • text — текст опису проекту в текстовому або html форматі (якщо в запиті вказано параметр extra)
  • date_added — дата і час створення
  • date_closed — дата та час закриття (якщо проект переміщено до архіву) або дата і час попереднього закриття (якщо проект активний)
  • date_start — дата, коли проект має стартувати (якщо зазначено)
  • date_end — дата, коли проект повинен бути закритий (якщо зазначено)
  • options — масив параметрів обмежень проекту зі значеннями 0/ 1 — вимкнуто/увімкнуто (масив повертається, якщо в запиті вказано відповідний параметр extra): 
  • Виконавець може:
  • options.allow_close — закривати завдання
  • options.allow_give — передавати відповідальність 
  • options.allow_term — змінювати терміни задачі
  • options.allow_limit — змінювати заплановані витрати
  • При постановці задачі вимагати PRO:
  • options.require_term — терміни
  • options.require_tag — статуси і мітки
  • options.require_limit — заплановані витрати
  • options.require_hidden — видимість
  • Користувачам заборонено PRO:
  • options.deny_comments_edit — редагувати і видаляти коментарі
  • options.deny_task_edit — редагувати і видаляти завдання
  • options.deny_task_delete — видаляти завдання
  • Внесення витрат PRO:
  • options.time_require — не закривати завдання без витрат
  • options.time_today — тільки за поточний день
  • options.timer_only — тільки з таймера
  • max_time і max_money — планові фінансові витрати (якщо вказано)
  • tags — масив у форматі id: name для статусів і міток проекту (якщо вказано)
  • users — список учасників команди проекту з інформацією по ним (якщо в запиті вказано параметр extra)

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

{
    "status": "ok",
    "data": [  {
         "id": "PROJECT_ID_1",
         "name": "PROJECT_NAME",
         "page": "/project/PROJECT_ID/",
         "status": "active",
         "company": "FOLDER_NAME",
         "user_from": { "id": "USER_ID",
             "email": "USER_EMAIL",
             "name": "USER_NAME"
         },
         "user_to": { "id": "USER_ID",
             "email": "USER_EMAIL",
             "name": "USER_NAME"
         },
         "text": "PROJECT_TEXT",
         "date_added": "YYYY-MM-DD HH:II",
         "date_start": "YYYY-MM-DD",
         "date_end": "YYYY-MM-DD", "date_closed": "YYYY-MM-DD HH:II",
"options": { "allow_close": 0..1, "allow_give": 0..1,
"allow_term": 0..1,
"allow_limit": 0..1,
"require_term": 0..1,
"require_tag": 0..1,
"require_limit": 0..1,
"require_hidden": 0..1,
"deny_comments_edit": 0..1,
"deny_task_edit": 0..1,
"deny_task_delete": 0..1,
"time_require": 0..1,
"time_today": 0..1,
"timer_only": 0..1 },
         "max_time": 100,
         "max_money": 500,
         "users": [
             {
                 "id": "USER_ID", "email": "USER_EMAIL",
                 "name": "USER_NAME"
             },
             {
                 "id": "USER_ID", "email": "USER_EMAIL",
                 "name": "USER_NAME"
             },
             { "id": "USER_ID",
                 "email": "USER_EMAIL",
                 "name": "USER_NAME"
             },
             { "id": "USER_ID",
                 "email": "USER_EMAIL",
                 "name": "USER_NAME"
             }
         ]
     }, { "id": "PROJECT_ID_2",          "name": "PROJECT_NAME", ... ... ... } ]
}

Створення проекту через API: post_project

Приклад post_project запиту

https://your—domain.com/api/admin/v2/?action=post_project&
title=TASK_NAME&hash=HASH
Створює проект тільки в активному статусі
У цьому запиті можна додавати файли в опис проекту (див. Як додавати файли)

У цьому запиті параметр
page не потрібен

Обов'язкові параметри:
  • title — найменування проекту

Необов'язкові параметри:
  • email_user_from — email автора проекту
  • email_manager — email керівника проекту
  • email_user_to — email відповідального співробітника, який буде встановлюватись за замовчуванням в задачах (ANY для «будь-який співробітник», NOONE для «Без відповідального»)
  • members — список email учасників проекту, розділених комою
  • text — опис проекту
  • company — назва папки, в якій буде розміщено проект
  • datestart — дата, коли проект повинен стартувати у форматі DD.MM.YYYY
  • dateend — дата, коли проект повинен бути завершений у форматі DD.MM.YYYY
  • перелік параметрів обмежень проекту (встановіть 1 для увімкнення): 
  • Виконавець може:
  • options.allow_close — закривати завдання
  • options.allow_give — передавати відповідальність 
  • options.allow_term — змінювати терміни задачі
  • options.allow_limit — змінювати заплановані витрати
  • При постановці задачі вимагати PRO:
  • options.require_term — терміни
  • options.require_tag — статуси і мітки
  • options.require_limit — заплановані витрати
  • options.require_hidden — видимість
  • Користувачам заборонено PRO:
  • options.deny_comments_edit — редагувати і видаляти коментарі
  • options.deny_task_edit — редагувати і видаляти завдання
  • options.deny_task_delete — видаляти завдання
  • Внесення витрат PRO:
    у цьому блоці одночасно можна увімкнути тільки один параметр
  • options.time_require — не закривати завдання без витрат
  • options.time_today — тільки за поточний день
  • options.timer_only — тільки з таймера
  • extra=options — повертає масив даних щодо обмежень проекту
  • max_time — планові витрати часу
  • max_money — планові фінансові витрати
  • tags — додає статуси/мітки (наприклад: tags=TAG1,TAG2). Можна вказувати найменування (якщо вони унікальні) або їх ID (можна отримати через метод get_project_tags)

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

{
    "status": "ok",
    "data": {
        "id": "PROJECT_ID",
        "name": "PROJECT_NAME",
        "page": "/project/PROJECT_ID/",
        "status": "active",
        "company": "FOLDER_NAME",
        "user_from": { "id": "USER_ID",
            "email": "USER_EMAIL",
            "name": "USER_NAME"
        },
        "user_to": { "id": "USER_ID",
            "email": "USER_EMAIL",
            "name": "USER_NAME"
        },
        "text": "PROJECT_TEXT",
        "date_added": "YYYY-MM-DD HH:II",
        "date_start": "YYYY-MM-DD",
        "date_end": "YYYY-MM-DD",
"options": { "allow_close": 0..1, "allow_give": 0..1,
"allow_term": 0..1,
"allow_limit": 0..1,
"require_term": 0..1,
"require_tag": 0..1,
"require_limit": 0..1,
"require_hidden": 0..1,
"deny_comments_edit": 0..1,
"deny_task_edit": 0..1,
"deny_task_delete": 0..1,
"time_require": 0..1,
"time_today": 0..1,
"timer_only": 0..1 },
        "max_time": 100,
        "max_money": 500, "tags": { "TAG_ID": "TAG_NAME_1", "TAG_ID": "TAG_NAME_2" }
    }
}

Архівування проекту через API: close_project

Приклад close_project запиту

https://your—domain.com/api/admin/v2/?action=close_project&
page=/project/PROJECT_ID/&hash=HASH

Архівує вказаний проект
Видасть відповідну помилку, якщо проект вже знаходиться в архіві

Обов'язкові параметри:

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

{
    "status": "ok"
}

Активування проекту через API: activate_project

Приклад activate_project запиту

https://your—domain.com/api/admin/v2/?action=activate_project&
page=/project/PROJECT_ID/&hash=HASH

Активує вказаний архівний проект
Видасть відповідну помилку, якщо проект вже активний

Обов'язкові параметри:

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

{
    "status": "ok"
}

Редагування проекту через API: update_project

Приклад update_project запиту

https://your—domain.com/api/admin/v2/?action=update_project&
page=/project=ID_PROJECT/&email_user_to=USER_EMAIL&hash=HASH
Редагує ряд параметрів зазначеного активного проекту
Серед необов'язкових параметрів вказані всі доступні до редагування

Обов'язкові параметри:

Необов'язкові параметри:
  • email_manager — email керівника проекту
  • email_user_to — email відповідального співробітника, який буде встановлюватись за замовчуванням в нових завданнях проекту (ANY для "будь-який співробітник", NOONE для "Без відповідального")
  • members — список email учасників проекту, яких треба додати, розділених комою (для виключення використовуйте метод delete_project_members)
  • title — назва проекту
  • datestart — дата старту проекту у форматі DD.MM.YYYY
  • dateend — дата завершення проекту у форматі DD.MM.YYYY
  • перелік параметрів обмежень проекту ( 0/ 1 — вимкнути/увімкнути): 
  • Виконавець може:
  • options.allow_close — закривати завдання
  • options.allow_give — передавати відповідальність 
  • options.allow_term — змінювати терміни задачі
  • options.allow_limit — змінювати заплановані витрати
  • При постановці задачі вимагати PRO:
  • options.require_term — терміни
  • options.require_tag — статуси і мітки
  • options.require_limit — заплановані витрати
  • options.require_hidden — видимість
  • Користувачам заборонено PRO:
  • options.deny_comments_edit — редагувати і видаляти коментарі
  • options.deny_task_edit — редагувати і видаляти завдання
  • options.deny_task_delete — видаляти завдання
  • Внесення витрат PRO:
    у цьому блоці одночасно можна увімкнути тільки один параметр
  • options.time_require — не закривати завдання без витрат
  • options.time_today — тільки за поточний день
  • options.timer_only — тільки з таймера
  • extra=options — повертає масив даних щодо обмежень проекту
  • max_time — планові витрати часу
  • max_money — планові витрати грошей

Недоступні до редагування (зміни/зняття/додавання) через зазначений метод параметри:
  • email_user_from — email автора проекту
  • text — опис проекту
  • company — папка, в якій розміщений проект
  • tags — статуси/мітки (можна оновити через окремий метод update_project_tags)

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

{
    "status": "ok",
    "data": {
        "id": "PROJECT_ID",
        "name": "PROJECT_NAME",
        "page": "/project/PROJECT_ID/",
        "status": "active",
        "company": "FOLDER_NAME",
        "user_from": { "id": "USER_ID",
            "email": "USER_EMAIL",
            "name": "USER_NAME"
        },
        "user_to": { "id": "USER_ID",
            "email": "USER_EMAIL",
            "name": "USER_NAME"
        },
        "text": "PROJECT_TEXT",
        "date_added": "YYYY-MM-DD HH:II",
        "date_start": "YYYY-MM-DD",
        "date_end": "YYYY-MM-DD",
        "date_end": "YYYY-MM-DD",
"options": { "allow_close": 0..1, "allow_give": 0..1,
"allow_term": 0..1,
"allow_limit": 0..1,
"require_term": 0..1,
"require_tag": 0..1,
"require_limit": 0..1,
"require_hidden": 0..1,
"deny_comments_edit": 0..1,
"deny_task_edit": 0..1,
"deny_task_delete": 0..1,
"time_require": 0..1,
"time_today": 0..1,
"timer_only": 0..1 },
        "max_time": 100,
        "max_money": 500, "tags": { "TAG_ID": "TAG_NAME_1", "TAG_ID": "TAG_NAME_2" }
    }
}

Отримання списку папок проектів через API: get_project_groups

Приклад get_project_groups запиту

https://your—domain.com/api/admin/v2/?action=get_project_groups&hash=HASH
Повертає дані з назвами папок, їх ID і тип
У цьому запиті параметр page не потрібен

Повертаються наступні дані:
  • id — унікальний номер папки
  • title — назва папки
  • type — тип папки:
folder — папка, створена учасником акаунту
company — папка команди
  • client — вид папки company:
0 — папка внутрішньої команди компанії
1 — папка клієнтської команди

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

{
    "status": "ok",
    "data": [
        {
            "id": "GROUP_ID",
            "title": "GROUP_NAME_1",
            "type": "folder"
        },
        {
            "id": "GROUP_ID",
            "title": "GROUP_NAME_2",
            "type": "company",
            "client": 0
        },
        {
            "id": "GROUP_ID",
            "title": "GROUP_NAME_3",
            "type": "company",
            "client": 1
        }
    ]
}

Створення папки для проектів через API: add_project_group

Приклад add_project_group запиту

https://your—domain.com/api/admin/v2/?action=add_project_group&
title=PROJECT_GROUP&hash=HASH
Перевіряє на можливе існування папки з вказаною назвою і створює нову, якщо необхідно
У цьому запиті параметр page не потрібен

Обов'язкові параметри:
  • title — назва папки для проектів

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

{
    "status": "ok",
    "data": {
        "id": "GROUP_ID",
        "title": "GROUP_NAME",
        "type": "folder"
    }
}

Отримання інформації по проекту через API: get_project

Приклад get_project запиту

https://your—domain.com/api/admin/v2/?action=get_project&page=
/project/PROJECT_ID/&hash=HASH
Повертає дані вибраного проекту

Обов'язкові параметри:
Необов'язкові параметри:
  • extra — повертає додаткові дані по проекту (можна вказувати через кому, наприклад extra=text,options):
  • text або html — опис відповідно у текстовому або html форматі
    options — масив даних щодо обмежень проекту

Повертаються наступні дані по проекту:
  • id — його унікальний номер
  • name — назва проекту
  • status — статус (active/pending/archive — активний/сплячий/архівний)
  • company — назву папки, в якій розміщено проект
  • user_from і user_to — інформація про учасника, який створив проект, і керівника проекту
  • text — текст опису проекту в текстовому або html форматі (якщо в ньому вказано параметр extra)
  • date_added — дата і час створення
  • date_closed — дата та час закриття (якщо проект переміщено до архіву) або дата і час попереднього закриття (якщо проект активний)
  • date_start — дата, коли проект має стартувати (якщо зазначено)
  • date_end — дата, коли проект повинен бути закритий (якщо зазначено)
  • options — масив параметрів обмежень проекту зі значеннями 0/ 1 — вимкнуто/увімкнуто (масив повертається, якщо в запиті вказано відповідний параметр extra): 
  • Виконавець може:
  • options.allow_close — закривати завдання
  • options.allow_give — передавати відповідальність 
  • options.allow_term — змінювати терміни задачі
  • options.allow_limit — змінювати заплановані витрати
  • При постановці задачі вимагати PRO:
  • options.require_term — терміни
  • options.require_tag — статуси і мітки
  • options.require_limit — заплановані витрати
  • options.require_hidden — видимість
  • Користувачам заборонено PRO:
  • options.deny_comments_edit — редагувати і видаляти коментарі
  • options.deny_task_edit — редагувати і видаляти завдання
  • options.deny_task_delete — видаляти завдання
  • Внесення витрат PRO:
  • options.time_require — не закривати завдання без витрат
  • options.time_today — тільки за поточний день
  • options.timer_only — тільки з таймера
  • max_time і max_money — планові фінансові витрати (якщо вказано)
  • tags — масив у форматі id: name для статусів і міток проекту (якщо вказано)
  • users — список учасників команди проекту з інформацією по ним

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

{
    "status": "ok",
    "data": {
        "id": "PROJECT_ID",
        "name": "PROJECT_NAME",
        "page": "/project/PROJECT_ID/",
        "status": "active",
        "company": "FOLDER_NAME",
        "user_from": { "id": "USER_ID",
            "email": "USER_EMAIL",
            "name": "USER_NAME"
        },
        "user_to": { "id": "USER_ID",
            "email": "USER_EMAIL",
            "name": "USER_NAME"
        },
        "text": "PROJECT_TEXT",
        "date_added": "YYYY-MM-DD HH:II",
        "date_start": "YYYY-MM-DD",
        "date_end": "YYYY-MM-DD", "date_closed": "YYYY-MM-DD HH:II",
"options": { "allow_close": 0..1, "allow_give": 0..1,
"allow_term": 0..1,
"allow_limit": 0..1,
"require_term": 0..1,
"require_tag": 0..1,
"require_limit": 0..1,
"require_hidden": 0..1,
"deny_comments_edit": 0..1,
"deny_task_edit": 0..1,
"deny_task_delete": 0..1,
"time_require": 0..1,
"time_today": 0..1,
"timer_only": 0..1 },
        "max_time": 100,
        "max_money": 500, "tags": { "TAG_ID": "TAG_NAME_1", "TAG_ID": "TAG_NAME_2" },
        "users": [
            {
                "id": "USER_ID", "email": "USER_EMAIL",
                "name": "USER_NAME_1"
            },
            {
                "id": "USER_ID", "email": "USER_EMAIL",
                "name": "USER_NAME_2"
            },
            { "id": "USER_ID",
                "email": "USER_EMAIL",
                "name": "USER_NAME_3"
            }
        ]
    }
}

Додавання людей до команди проекту через API: add_project_members

Приклад add_project_members запиту

https://your—domain.com/api/admin/v2/?action=add_project_members&page=
/project/PROJECT_ID/&members=USER_EMAIL_1,USER_EMAIL_2&hash=HASH
Додає учасників акаунту до команди проекту

Обов'язкові параметри:
  • page — посилання на проект (див. формат посилання)
  • members — email людей, яких треба додати, через кому

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

{
"status": "ok"
}

Виключення людей з команди проекту через API: delete_project_members

Приклад delete_project_members запиту

https://your—domain.com/api/admin/v2/?action=delete_project_members&page=
/project/PROJECT_ID/&members=USER_EMAIL_1,USER_EMAIL_2&hash=HASH
Виключає учасників з команди проекту

Обов'язкові параметри:
  • page — посилання на проект (див. формат посилання)
  • members — email людей, яких треба виключити, через кому

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

{
"status": "ok"
}
esc
или
Роздрукувати