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 сотрудников (через запятую), которые будут подписаны на задание
  • hidden — email сотрудников (через запятую), которые будут добавлены в круг видимости задания. Для других сотрудников задание будет скрытым
  • mention — 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 — открытое/закрытое
  • extra — дополнительные данные по заданиям, возможные значения (можно указывать через запятую, например extra=text,files):
  • text или html — описание в текстовом или html формате
    files — информация о файлах, прикрепленных в описание задания

Целочисленные поля (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'


Условия запроса можно объединять скобками ( ) и логическими операциями andor (только в нижнем регистре)

Пример filter запроса
&filter=(name has 'Report' or name has 'Approval') and
(dateend>'25.05.2021' and dateend<'31.05.2021')
Эта статья была вам полезна? Да, спасибо! Нет
Вторжение России в Украину Worksection прекратил работу на территории РФ Почему?
esc
или
Распечатать