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
или
Распечатать