WORKSECTION

Завдання

Отримання списку всіх задач аккаунту через API: get_all_tasks

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

?action=get_all_tasks
Повертає відкриті та закриті завдання по всіх проєктах
*окрім завдань з відкладеною публікацією
*для отримання підзавдань додайте параметр extra=subtasks

Необов'язкові параметри:
  • extra — додаткові дані по завданнях, можливі значення (можна вказувати через кому, наприклад extra=text,files):
  • text або html — опис у текстовому або html форматі
    files — інформація по файлах, прикріплених до опису завдання
    comments — п'ять останніх коментарів
    relations — інформація по зв'язках з іншими завданнями
    subtasks — інформація по підзавданнях (у масиві child)
    archive — завдання архівних проєктів
  • filter=active — тільки дані по відкритих завданнях (фільтр тільки по закритих не передбачено)

Повертаються наступні дані:
  • id — ID завдання
  • name — назва завдання
  • page — посилання на завдання
  • status — стан (active/done — відкрита/закрита)
  • priority — пріоритет (діапазон значень: 0..10)
  • user_from і user_to — автор і відповідальний по завданню
  • project — інформація про проєкт
  • text — опис завдання в текстовому або html форматі (якщо в запиті вказано відповідний параметр extra)
  • date_added — дата та час створення
  • date_start — дата старту (якщо зазначено)
  • date_end — дата завершення (якщо зазначено)
  • date_closed — дата та час закриття
  • time_end — час завершення (якщо зазначено)
  • max_time і max_money — планові часові та фінансові витрати (якщо вказано)
  • tags — теги завдання у форматі id: name (якщо вказано)
  • files — інформація по прикріплених файлах (якщо в запиті вказано параметр extra=files):
  • id — ID файлу (можна використовувати в методі download для завантаження через API)
    size — розмір файлу (в байтах)
    name — назва файлу з розширенням
    page — частина посилання для завантаження напряму (для повного шляху перед отриманим значенням вкажіть адресу вашого акаунту, наприклад https://youraccount.worksection.com/download/123456)
  • relations — інформація по зв'язках з іншими завданнями (якщо в запиті вказано параметр extra=relations):
  • from — вхідні зв'язки:
    type — тип зв'язку finish-to-start/start-to-start
    task — інформація по зв'язаному завданню
    to — вихідні зв'язки (аналогічно from)
  • child — інформація по підзавданням (якщо в запиті вказано параметр extra=subtasks)

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

{
    "status": "ok",
    "data": [
        {
            "id": "TASK_ID",
            "name": "TASK_NAME_1",
            "page": "/project/PROJECT_ID/TASK_ID/",
            "status": "done",
            "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/"
            },
            "text": "TASK_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",
            "time_end": "HH:II",
            "max_time": "50",
            "max_money": "100",
            "tags": {
                "TAG_ID": "TAG_NAME_1",
                "TAG_ID": "TAG_NAME_2"
            },
            "files": [
                {
                    "id": "FILE_ID",
                    "size": "FILE_SIZE",
                    "name": "Example.docx",
                    "page": "/download/FILE_ID"
                }
            ],
            "relations": {
                "to": [
                    {
                        "type": "finish-to-start",
                        "task": {
                            "id": "SUBTASK_ID",
                            "name": "SUBTASK_NAME",
                            "page": "/project/PROJECT_ID/TASK_ID/SUBTASK_ID/",
                            "status": "active",
                            "priority": "0..10"
                        }
                    }
                ],
                "from": [
                    {
                        "type": "start-to-start",
                        "task": {
                            "id": "SUBTASK_ID",
                            "name": "SUBTASK_NAME",
                            "page": "/project/PROJECT_ID/TASK_ID/SUBTASK_ID/",
                            "status": "done",
                            "priority": "0..10"
                        }
                    }
                ]
            },
"child": [ { "id": "SUBTASK_ID", "name": "SUBTASK_NAME_1", "page": "/project/PROJECT_ID/TASK_ID/SUBTASK_ID/", ... ... ..., "child": [ { "id": "SUBTASK_ID", "name": "SUBTASK_NAME_2", "page": "/project/PROJECT_ID/TASK_ID/SUBTASK_ID/", ... ... ... } ]
} ] }, { "id": "TASK_ID", "name": "TASK_NAME_2", "page": "/project/PROJECT_ID/TASK_ID/", ... ... ... } ] }
Ця стаття була вам корисною? Так, дякую! Ні

Отримання задач проєкту через API: get_tasks

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

?action=get_tasks&id_project=PROJECT_ID

Повертає відкриті та закриті завдання окремого проєкту
*окрім завдань з відкладеною публікацією
*для отримання підзавдань додайте параметр extra=subtasks


Обов'язкові параметри:
  • id_project — ID проєкту
Необов'язкові параметри:
  • extra — додаткові дані по завданнях, можливі значення (можна вказувати через кому, наприклад extra=text,files):
  • text або html — опис у текстовому або html форматі
    files — інформація по файлах, прикріплених до опису завдання
    comments — п'ять останніх коментарів
    relations — інформація по зв'язках з іншими завданнями
    subtasks — інформація по підзавданнях (у масиві child)
    subscribers — список підписників
  • filter=active — тільки дані по відкритих завданнях (фільтр тільки по закритих не передбачено)

  • Повертаються наступні дані:
    • id — ID завдання
    • name — назва завдання
    • page — посилання на завдання
    • status — стан (active/done — відкрита/закрита)
    • priority — пріоритет (діапазон значень: 0..10)
    • user_from і user_to — автор і відповідальний по завданню
    • project — інформація про проєкт
    • text — опис завдання в текстовому або html форматі (якщо в запиті вказано відповідний параметр extra)
    • date_added — дата та час створення
    • date_start — дата старту (якщо зазначено)
    • date_end — дата завершення (якщо зазначено)
    • date_closed — дата та час закриття
    • time_end — час завершення (якщо зазначено)
    • max_time і max_money — планові часові та фінансові витрати (якщо вказано)
    • tags — теги завдання у форматі id: name (якщо вказано)
    • files — інформація по прикріплених файлах (якщо в запиті вказано параметр extra=files):
    • id — ID файлу (можна використовувати в методі download для завантаження через API)
      size — розмір файлу (в байтах)
      name — назва файлу з розширенням
      page — частина посилання для завантаження напряму (для повного шляху перед отриманим значенням вкажіть адресу вашого акаунту, наприклад https://youraccount.worksection.com/download/123456)
    • subscribers — список підписників (якщо в запиті вказано параметр extra=subscribers)
    • relations — інформація по зв'язках з іншими завданнями (якщо в запиті вказано параметр extra=relations):
    • from — вхідні зв'язки:
      type — тип зв'язку finish-to-start/start-to-start
      task — інформація по зв'язаному завданню
      to — вихідні зв'язки (аналогічно from)
    • child — інформація по підзавданням (якщо в запиті вказано параметр extra=subtasks)

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

{
    "status": "ok",
    "data": [
        {
            "id": "TASK_ID",
            "name": "TASK_NAME_1",
            "page": "/project/PROJECT_ID/TASK_ID/",
            "status": "done",
            "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"
            },
            "text": "TASK_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",
            "time_end": "HH:II",
            "max_time": "50",
            "max_money": "100",
            "tags": {
                "TAG_ID": "TAG_NAME_1",
                "TAG_ID": "TAG_NAME_2"
            },
            "files": [
                {
                    "id": "FILE_ID",
                    "size": "FILE_SIZE",
                    "name": "Example.docx",
                    "page": "/download/FILE_ID"
                }
            ],
            "subscribers": [
                {
                    "id": "USER_ID",
                    "email": "USER_EMAIL",
                    "name": "USER_NAME_1"
                },
                {
                    "id": "USER_ID",
                    "email": "USER_EMAIL",
                    "name": "USER_NAME_2"
                }
            ],
            "relations": {
                "to": [
                    {
                        "type": "finish-to-start",
                        "task": {
                            "id": "SUBTASK_ID",
                            "name": "SUBTASK_NAME",
                            "page": "/project/PROJECT_ID/TASK_ID/SUBTASK_ID/",
                            "status": "active",
                            "priority": "0..10"
                        }
                    }
                ],
                "from": [
                    {
                        "type": "start-to-start",
                        "task": {
                            "id": "SUBTASK_ID",
                            "name": "SUBTASK_NAME",
                            "page": "/project/PROJECT_ID/TASK_ID/SUBTASK_ID/",
                            "status": "done",
                            "priority": "0..10"
                        }
                    }
                ]
            },
"child": [ { "id": "SUBTASK_ID", "name": "SUBTASK_NAME_1", "page": "/project/PROJECT_ID/TASK_ID/SUBTASK_ID/", ... ... ..., "child": [ { "id": "SUBTASK_ID", "name": "SUBTASK_NAME_2", "page": "/project/PROJECT_ID/TASK_ID/SUBTASK_ID/", ... ... ... } ]
} ] }, { "id": "TASK_ID", "name": "TASK_NAME_2", "page": "/project/PROJECT_ID/TASK_ID/", ... ... ... } ] }
Ця стаття була вам корисною? Так, дякую! Ні

Отримання окремої задачі через API: get_task

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

?action=get_task&id_task=TASK_ID

Повертає окреме завдання (відкрите або закрите)
*окрім завдань з відкладеною публікацією
*для повернення задачі разом з її підзадачами додайте параметр extra=subtasks


Обов'язкові параметри:
  • id_task — ID завдання
Необов'язкові параметри:
  • extra — додаткові дані по завданнях, можливі значення (можна вказувати через кому, наприклад extra=text,files):
  • text або html — опис у текстовому або html форматі
    files — інформація по файлах, прикріплених до опису завдання
    comments — п'ять останніх коментарів
    relations — інформація по зв'язках з іншими завданнями
    subtasks — інформація по підзавданнях (у масиві child)
    subscribers — список підписників
  • filter=active — тільки дані по відкритих завданнях (при використанні параметру extra=subscribers)
    Фільтр тільки по закритих не передбачено

Повертаються наступні дані:
  • id — ID завдання
  • name — назва завдання
  • page — посилання на завдання
  • status — стан (active/done — відкрита/закрита)
  • priority — пріоритет (діапазон значень: 0..10)
  • user_from і user_to — автор і відповідальний по завданню
  • project — інформація про проєкт
  • parent — батьківська задача (якщо в запиті вказано ID підзавдання)
  • text — опис завдання в текстовому або html форматі (якщо в запиті вказано відповідний параметр extra)
  • date_added — дата та час створення
  • date_start — дата старту (якщо зазначено)
  • date_end — дата завершення (якщо зазначено)
  • date_closed — дата та час закриття
  • time_end — час завершення (якщо зазначено)
  • max_time і max_money — планові часові та фінансові витрати (якщо вказано)
  • tags — теги завдання у форматі id: name (якщо вказано)
  • files — інформація по прикріплених файлах (якщо в запиті вказано параметр extra=files):
  • id — ID файлу (можна використовувати в методі download для завантаження через API)
    size — розмір файлу (в байтах)
    name — назва файлу з розширенням
    page — частина посилання для завантаження напряму (для повного шляху перед отриманим значенням вкажіть адресу вашого акаунту, наприклад https://youraccount.worksection.com/download/123456)
  • subscribers — список підписників (якщо в запиті вказано параметр extra=subscribers)
  • relations — інформація по зв'язках з іншими завданнями (якщо в запиті вказано параметр extra=relations):
  • from — вхідні зв'язки:
    type — тип зв'язку finish-to-start/start-to-start
    task — інформація по зв'язаному завданню
    to — вихідні зв'язки (аналогічно from)
  • child — інформація по підзавданням (якщо в запиті вказано ID задачі та параметр extra=subtasks)

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

*для задачі

{
    "status": "ok",
    "data": {
        "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/"
        },
        "text": "TASK_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",
        "time_end": "HH:II",
        "max_time": "25",
        "max_money": "50",
        "tags": {
            "TAG_ID": "TAG_NAME_1",
"TAG_ID": "TAG_NAME_2"
},  "files": [   { "id": "FILE_ID",   "size": "FILE_SIZE",  "name": "Example.docx",  "page": "/download/FILE_ID"   }  ],   "subscribers": [   {   "id": "USER_ID",  "email": "USER_EMAIL",   "name": "USER_NAME_1"
  },   {   "id": "USER_ID",  "email": "USER_EMAIL",   "name": "USER_NAME_2"   }   ], "relations": {
"to": [ { "type": "finish-to-start", "task": { "id": "TASK_ID", "name": "TASK_NAME",
"page": "/project/PROJECT_ID/TASK_ID/",
"status": "active", "priority": "0..10" } } ], "from": [ { "type": "start-to-start", "task": { "id": "TASK_ID",
"name": "TASK_NAME",
"page": "/project/PROJECT_ID/TASK_ID/",
"status": "done", "priority": "0..10" } } ] }, "child": [ { "id": "SUBTASK_ID", "name": "SUBTASK_NAME_1", "page": "/project/PROJECT_ID/TASK_ID/SUBTASK_ID/", "status": "active", "priority": "0..10", "child": [ { "id": "SUBTASK_ID", "name": "SUBTASK_NAME_2", "page": "/project/PROJECT_ID/TASK_ID/SUBTASK_ID/", "status": "done", "priority": "0..10" } ] } ] } }
*для підзадачі/під-підзадачі (ідентична структура відповіді, тільки з додатковим масивом даних parent та без масиву child)

{
    "status": "ok",
    "data": {
        "id": "SUB-SUBTASK_ID",
        "name": "SUB-SUBTASK_NAME",
        "page": "/project/PROJECT_ID/TASK_ID/SUB-SUBTASK_ID/", 
        ... ... ...,
        "project": {
            ... ... ...
        },
        "parent": {
            "id": "SUBTASK_ID",
            "name": "SUBTASK_NAME",
            "page": "/project/PROJECT_ID/SUBTASK_ID/",
            "status": "active",
            "priority": "0..10",
            "parent": {
                "id": "TASK_ID",
                "name": "TASK_NAME",
                "page": "/project/PROJECT_ID/TASK_ID/",
                "status": "active",
                "priority": "0..10",
            }
        },
        "text": ...,
        ... ... ...
        "relations": {
            ... ... ...
        }
    }
}
Ця стаття була вам корисною? Так, дякую! Ні

Створення задачі через API: post_task

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

?action=post_task&id_project=PROJECT_ID&title=TASK_NAME

Створює (під)задачу в зазначеному проєкті
*дозволяє додавати файли (див. детальніше)


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

Необов'язкові параметри:
  • id_parent — ID батьківської задачі (при створенні підзавдань)
  • email_user_from — email автора завдання (автоматично вказується при використанні токена доступу)
  • email_user_to — email відповідального по завданню, додаткові можливі значення: ANY – «Будь-який співробітник», NOONE або відсутність значення – «Без відповідального»
  • priority — пріоритет (діапазон значень: 0..10)
  • text — опис завдання
  • todo⦋⦌ — чекбокс в описі завдання (для отримання чекліста використовуйте наступну логіку: todo⦋⦌=текст1&todo⦋⦌=текст2
  • datestart — дата старту в форматі DD.MM.YYYY
  • dateend — дата завершення в форматі DD.MM. YYYY
  • subscribe — email співробітників (через кому), які будуть підписані на завдання
  • mention — email співробітників (через кому), які будуть згадані в кінці опису завдання
  • hidden — email співробітників (через кому), які будуть входити в коло видимості завдання. Для інших співробітників завдання буде прихованим
  • max_time — планові витрати часу
  • max_money — планові фінансові витрати
  • tags — теги завдання через кому (наприклад: tags=TAG1,TAG2)
    Можна вказувати назви тегів (якщо вони унікальні) або їх ID (можна отримати через метод get_task_tags)

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

{
    "status": "ok",
    "data": {
        "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/"
        },
        "text": "TASK_TEXT",
        "date_added": "YYYY—MM—DD HH:II",
        "date_start": "YYYY—MM—DD",
        "date_end": "YYYY—MM—DD",
        "max_time": 40,
        "max_money": 200, "tags": { "TAG_ID": "TAG_NAME_1", "TAG_ID": "TAG_NAME_2",
}
    }
}
Ця стаття була вам корисною? Так, дякую! Ні

Редагування задачі через API: update_task

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

?action=update_task&id_task=TASK_ID&email_user_to=USER_EMAIL

Редагує параметри зазначеної (під)задачі (відкритої або закритої)


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

Необов'язкові параметри:
  • email_user_to — email відповідального по завданню, додаткові можливі значення: ANY – «Будь-який співробітник», NOONE або відсутність значення – «Без відповідального»
  • priority — пріоритет (діапазон значень: 0..10)
  • title — назва завдання
  • datestart — дата старту в форматі DD.MM.YYYY
  • dateend — дата завершення в форматі DD.MM. YYYY
  • dateclosed — дата закриття в форматі DD.MM.YYYY
  • max_time — планові витрати часу
  • max_money — планові витрати грошей

Недоступні для редагування параметри:
  • email_user_from — email автора завдання
  • text — опис завдання
  • todo — чеклист
  • subscribe — співробітники, які будуть підписані на завдання
  • hidden — співробітники, які матимуть доступ до завдання
  • tags — теги завдання (можна оновити через окремий метод update_task_tags)

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

{
    "status": "ok",
    "data": {
        "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", "max_time": 40, "max_money": 200, "tags": {   "TAG_ID": "TAG_NAME_1",
  "TAG_ID": "TAG_NAME_2"
}
    }
}
Ця стаття була вам корисною? Так, дякую! Ні

Закриття задачі через API: complete_task

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

?action=complete_task&id_task=TASK_ID

Закриває зазначену (під)задачу


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

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

{
    "status": "ok"
}
Ця стаття була вам корисною? Так, дякую! Ні

Повторне відкриття задачі через API: reopen_task

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

?action=reopen_task&id_task=TASK_ID

Повторно відкриває вказану (під)задачу


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

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

{
    "status": "ok"
}
Ця стаття була вам корисною? Так, дякую! Ні

Пошук задач через API: search_tasks

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

?action=search_tasks&id_project=PROJECT_ID&filter=(name has 'Report' or
name has 'Approval') and (dateend>'25.05.2021' and dateend<'31.05.2021')
Повертає завдання, які задовільняють пошуковому запиту

Умовні параметри:
*обов'язковий мінімум один з них
  • id_project — ID проєкту
  • id_task — ID завдання
  • email_user_from — email автора завдання
  • email_user_to — email відповідального
  • filter — пошуковий запит (див. опис нижче)
Необов'язкові параметри:
  • status — стан завдання, можливі значення: active/done — відкрите/закрите

Цілочисельні поля (Integer):
  • id=TASK_ID — повертає певне завдання
  • project=PROJECT_ID — повертає завдання певного проєкту
  • parent=TASK_ID — повертає підзавдання певно батьківської задачі
Оператори рівності та діапазону для вказаного типу: =, in
project{=}2456
id {in} (1234, 1240)

Строкові поля (String):
  • name — назва завдання
Повна або часткова відповідність для зазначеного типу: =, has
name{=}'Task Report'
name {has} 'Report'

Поля дат:
  • dateadd — дата створення завдання у форматі 'DD.MM.YYYY'
  • datestart — дата старту завдання у форматі 'DD.MM.YYYY'
  • dateend — дата завершення завдання у форматі 'DD.MM.YYYY'
  • dateclose — дата закриття завдання у форматі 'DD.MM.YYYY'
Реляційні оператори для полів дат: >, <, >=, <=, !=, =
dateadd{=}'01.05.2021'


Умови запиту можна об'єднувати дужками ( ) і логічними операціями and, or (тільки в нижньому регістрі)

Приклад filter запиту
&filter=(name has 'Report' or name has 'Approval') and
(dateend>'25.05.2021' and dateend<'31.05.2021')

Ця стаття була вам корисною? Так, дякую! Ні
esc
или
Роздрукувати