WORKSECTION

Задания

Получение списка всех задач/подзадач аккаунта через API: get_all_tasks

Пример get_all_tasks запроса

https://your-domain.com/api/admin/v2/?action=get_all_tasks&hash=HASH 
Возвращает данные всех открытых и закрытых задач/подзадач аккаунта
Кроме заданий с отложенной публикацией

В этом запросе параметр page не требуется

Необязательные параметры:
  • extra — возвращает дополнительные данные по задачам/подзадачам (можно указывать через запятую, например extra=text,files):
  • text или html — описание в текстовом или html формате соответственно
    files — информацию о прикрепленных в описание файлах
    relations — информацию о связях с другими заданиями
    subtasks — возвращает поле child (если доступно) со списком подзадач в аналогичном формате. Доступно 2 уровня вложенности: задача / подзадача / под-подзадача
    archive — возвращает задания архивных проектов
  • filter=active (аналогично status=active) — возвращает данные только открытых задач/подзадач проекта. Для отображения только закрытых задач отдельное значение указанного параметра не предусмотрено 

Возвращаемые данные задач/подзадач: 
  • id — уникальный номер
  • name — название задачи/подзадачи
  • page — ссылка на задачу/подзадачу (см. формат ссылки)
  • status — статус (active/done — открытая/закрытая)
  • priority — приоритет (диапазон значений: 0..10)
  • user_from и user_to — информация об авторе и ответственном сотруднике
  • project — информация о проекте (его id, name и page)
  • text — текст описания задачи/подзадачи в текстовом или html формате (если в запросе указан соответствующий параметр extra)
  • date_added — дата и время создания
  • date_start — дата, когда задача/подзадача должна стартовать (если указано)
  • date_end — дата, когда задача/подзадача должна быть закрыта (если указано)
  • date_closed — дата и время закрытия
  • time_end — время завершения задачи/подзадачи (если указано)
  • max_time и max_money — плановые временные и финансовые затраты (если указаны)
  • tags — массив в формате id: name для статусов и меток задачи/подзадачи (если указаны)
  • files — информация о прикрепленных в описание файлах (если в запросе указан соответствующий параметр extra):
  • id — уникальный номер файла (можно использовать в методе download для скачивания по API)
    size — размер файла (в байтах)
    name — название файла с расширением
    page — часть ссылки для скачивания напрямую (для полного пути перед полученным значением укажите адрес вашего аккаунта, например https://your-domain.worksection.com/download/123456)
  • 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"
                }
            ],
"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 запроса

https://your-domain.com/api/admin/v2/?action=get_task&
page=/project/PROJECT_ID/TASK_ID/SUBTASK_ID/&hash=HASH

Возвращает данные выбранной открытой или закрытой задачи/подзадачи определенного проекта
Кроме заданий с отложенной публикацией

Обязательные параметры:
Необязательные параметры:
  • extra — возвращает дополнительные данные по задаче/подзадаче (можно указывать через запятую, например extra=text,subscribers):
  • text или html — описание в текстовом или html формате соответственно
    subscribers — список подписчиков
    files — информацию о прикрепленных в описание файлах
    relations — информацию о связях с другими заданиями
    subtasks — для задач возвращает поле child (если доступно) со списком подзадач. Доступно 2 уровня вложенности: задача / подзадача / под-подзадача
  • filter=active (аналогично status=active) — возвращает данные только открытых подзаданий (при использовании параметра subtasks). Для отображения только закрытых подзаданий отдельное значение указанного параметра не предусмотрено

Возвращаемые данные по задаче/подзадаче:
  • id — её уникальный номер
  • name — название задачи/подзадачи
  • status — статус (active/done — открытая/закрытая)
  • priority — приоритет (диапазон значений: 0..10)
  • user_from и user_to — информация об авторе и ответственном сотруднике
  • project — информация о проекте (его id, name и page)
  • parent — массив данных о родительском задании (если в параметре page указана страница подзадания)
  • text — текст описания задачи/подзадачи в текстовом или html формате (если в запросе указан соответствующий параметр extra)
  • date_added — дата и время создания
  • date_start — дата, когда задача/подзадача должна стартовать (если указано)
  • date_end — дата, когда задача/подзадача должна быть закрыта (если указано)
  • date_closed — дата и время закрытия
  • time_end — время завершения задачи/подзадачи (если указано)
  • max_time и max_money — плановые временные и финансовые затраты (если указаны)
  • tags — массив в формате id: name для статусов и меток задачи/подзадачи (если указаны)
  • files — информация о прикрепленных в описание файлах (если в запросе указан соответствующий параметр extra):
  • id — уникальный номер файла (можно использовать в методе download для скачивания по API)
    size — размер файла (в байтах)
    name — название файла с расширением
    page — часть ссылки для скачивания напрямую (для полного пути перед полученным значением укажите адрес вашего аккаунта, например https://your-domain.worksection.com/download/123456)
  • subscribers — список подписчиков с информацией по ним (если в запросе указан соответствующий параметр extra)
  • relations — информация о связях с другими заданиями (если в запросе указан соответствующий параметр extra):
  • from — массив данных о входящих связях:
    type — тип связи finish-to-start/start-to-start
    task — краткая информация о связанном задании
    to — массив данных об исходящих связях (аналогично from)
  • child — краткая информация по входящим в задачу подзадачам и под-подзадачам (если в параметре page указана страница задачи и указан параметр 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: get_tasks

Пример get_tasks запроса

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

Возвращает данные всех открытых и закрытых задач/подзадач определенного проекта
Кроме заданий с отложенной публикацией

Обязательные параметры:
Необязательные параметры:
  • extra — возвращает дополнительные данные по задачам/подзадачам (можно указывать через запятую, например extra=text,subscribers):
  • text или html — описание в текстовом или html формате соответственно
    subscribers — список подписчиков
    files — информацию о прикрепленных в описание файлах
    relations — информацию о связях с другими заданиями
    subtasks — возвращает поле child (если доступно) со списком подзадач в аналогичном формате. Доступно 2 уровня вложенности: задача / подзадача / под-подзадача
  • filter=active (аналогично status=active) — возвращает данные только открытых задач/подзадач проекта. Для отображения только закрытых задач отдельное значение указанного параметра не предусмотрено 

Возвращаемые данные задач/подзадач:
  • id — уникальный номер
  • name — название задачи/подзадачи
  • page — ссылка на задачу/подзадачу
  • status — статус (active/done — открытая/закрытая)
  • priority — приоритет (диапазон значений: 0..10)
  • user_from и user_to — информация об авторе и ответственном сотруднике
  • text — текст описания задачи/подзадачи в текстовом или html формате (если в запросе указан соответствующий параметр extra)
  • date_added — дата и время создания
  • date_start — дата, когда задача/подзадача должна стартовать (если указано)
  • date_end — дата, когда задача/подзадача должна быть закрыта (если указано)
  • date_closed — дата и время закрытия
  • time_end — время завершения задачи/подзадачи (если указано)
  • max_time и max_money — плановые временные и финансовые затраты (если указаны)
  • tags — массив в формате id: name для статусов и меток задачи/подзадачи (если указаны)
  • files — информация о прикрепленных в описание файлах (если в запросе указан соответствующий параметр extra):
  • id — уникальный номер файла (можно использовать в методе download для скачивания по API)
    size — размер файла (в байтах)
    name — название файла с расширением
    page — часть ссылки для скачивания напрямую (для полного пути перед полученным значением укажите адрес вашего аккаунта, например https://your-domain.worksection.com/download/123456)
    • subscribers — список подписчиков с информацией по ним (если в запросе указан соответствующий параметр extra)
    • relations — информация о связях с другими заданиями (если в запросе указан соответствующий параметр extra):
    • 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: post_task

Пример post_task запроса

https://your-domain.com/api/admin/v2/?action=post_task&
page=/project/PROJECT_ID/&email_user_from=USER_EMAIL&
title=TASK_NAME&hash=HASH

Создает задачу в указанном проекте, независимо от его статуса (активный, спящий, архивный)


В данном запросе можно добавлять файлы в описание задачи (см. Как добавлять файлы)


Обязательные параметры:
  • email_user_from — email автора задания
  • title — наименование задачи 

Необязательные параметры:
  • 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: complete_task

Пример complete_task запроса

https://your-domain.com/api/admin/v2/?action=complete_task&
page=/project/PROJECT_ID/TASK_ID/&hash=HASH

Закрывает указанную задачу
Выдаст соответствующую ошибку, если задача уже закрыта или содержит открытые подзадачи

Обязательные параметры:

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

{
    "status": "ok"
}
Эта статья была вам полезна? Да, спасибо! Нет

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

Пример reopen_task запроса

https://your-domain.com/api/admin/v2/?action=reopen_task&
page=/project/PROJECT_ID/TASK_ID/&hash=HASH 

Повторно открывает указанную задачу

Обязательные параметры:

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

{
    "status": "ok"
}
Эта статья была вам полезна? Да, спасибо! Нет

Редактирование задачи через API: update_task

Пример update_task запроса

https://your-domain.com/api/admin/v2/?action=update_task&
page=/project/PROJECT_ID/TASK_ID/&email_user_to=USER_EMAIL&
hash=HASH

Редактирует ряд параметров указанной открытой или закрытой задачи
Среди необязательных параметров указаны все доступные к редактированию

Обязательные параметры:

Необязательные параметры:
  • 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 — список email сотрудников, разделенных запятой, которые будут подписаны на задачу
  • hidden — список email сотрудников, разделенных запятой, которые будут входить в круг видимости задачи
  • 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: search_tasks

Пример search_tasks запроса

https://your-domain.com/api/admin/v2/?action=search_tasks&
page=/project/PROJECT_ID/&filter=(name has 'Report' or name has 'Approval')
and (dateend>'25.05.2021' and dateend<'31.05.2021')&hash=HASH
Проводит поиск заданий по одному или ряду параметров
При отсутствии параметра page данные по архивным проектам будут исключены из результатов поиска

Как минимум один из следующих параметров обязателен:
  • page — ссылка на проект или родительскую задачу (см. формат ссылки)
  • email_user_from — email автора задания
  • email_user_to — email ответственного сотрудника
  • filter — поисковый запрос (см. описание ниже)
Необязательные параметры:
  • status — статус (active/done — открытая/закрытая)

Целочисленные поля (Integer):
  • id=TASK_ID — возвращает данные определенной задачи/подзадачи по её ID (можно получить через методы get_all_tasks или get_tasks)
  • project=PROJECT_ID — возвращает данные по задачам определенного проекта по его ID (можно получить через метод get_projects)
  • parent=TASK_ID — возвращает данные по подзадачам определенной родительской задачи по её ID (можно получить через методы get_all_tasks или get_tasks)
Операторы равенства и диапазона для указанного типа: =, in
project{=}2456
id {in} (1234, 1240)

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

Поля даты:
  • dateadd или date_added — дата создания задания в формате 'DD.MM.YYYY'
  • datestart или date_start — дата, когда задание должно стартовать в формате 'DD.MM.YYYY'
  • dateend или date_end — дата, когда задание должно быть закрыто в формате 'DD.MM.YYYY'
  • dateclose или date_closed — дата закрытия задачи в формате '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
или
Распечатать