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


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

?action=get_projects
Повертає дані по всіх проєктах

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

Повертаються наступні дані:
  • id — ID проєкту
  • name — назва проєкту
  • status — стан проєкту
  • company — назва папки, в якій розміщено проєкт
  • user_from і user_to — автор проєкту та керівник проєкту
  • text — опис проєкту в текстовому або html форматі (якщо в запиті вказано відповідний параметр extra)
  • date_added — дата і час створення
  • date_closed — дата і час закриття (якщо проєкт переміщено до архіву) або дата і час попереднього закриття (якщо проєкт активний)
  • date_start — дата початку проєкту (якщо зазначено)
  • date_end — дата завершення проєкту (якщо зазначено)
  • options — обмеження проєкту зі значеннями 0/ 1 — вимкнуто/увімкнуто (повертаються, якщо в запиті вказано параметр extra=options): 
  • Виконавець може:
  • 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", ... ... ... } ]
}