Проекты¶
- Допустимые действия над проектом
- Действие над проектом
- Допустимые действия над списком проектов
- Проверка прав на создание нового проекта для текущего пользователя
- Карточка проекта
- Список полей проекта
- Конвертировать проект в задачу
- Создание проекта
- Редактирование проекта
- Список проектов
- Добавить проект в избранное
- Редактирование Аудиторов
- Редактирование Соисполнителей
Допустимые действия над проектом¶
URI: /BumsProjectApiV01/Project/availableActions.api|xml
Входные параметры¶
Параметр | Тип | Описание |
---|---|---|
Id | integer | ID проекта. Обязательный параметр |
Выходные данные (массив с названиями допустимых действий)¶
Параметр | Тип | |
actions | array |
Пример ответа в JSON-формате¶
{
"status":
{
"code":"ok",
"message":null
},
"params":
{
"Id":540
},
"actions":["act_renew"]
}
Пример ответа в XML-формате¶
<?xml version="1.0" encoding="utf-8"?>
<response>
<status>
<code>ok</code>
<message></message>
</status>
<params>
<id>540</id>
</params>
<actions>
<item>act_renew</item>
</actions>
</response>
</response>
Список возможных действий над проектом¶
- act_accept_work - постановщик принимает выполненный проект
- act_reject_work - постановщик отклоняет выполненный проект
- act_done - исполнитель заканчивает работу, проект условно завершен
- act_pause - временно приостановить выполнение проекта
- act_resume - продолжить выполнение приостановленного проекта
- act_cancel - отменить проект
- act_expire - провалить проект
- act_renew - открыть проект заново
- act_delete - удалить проект (доступно с версии 2011.03)
- act_edit - редактировать проект (доступно с версии 2011.03)
- act_convert - преобразовать проект в задачу
- act_create_task - создать подзадачу
- act_create_subproject - создать подпроект
Действие над проектом¶
URI: /BumsProjectApiV01/Project/action.api|xml
Входные параметры¶
Имя поля | Тип | Описание |
---|---|---|
Id | integer | ID проекта |
Action | string | Действие |
Выходные данные¶
Отсутствуют
Пример ответа в JSON-формате¶
{
"status":
{
"code":"ok",
"message":null
},
"params":
{
"Id":123,
"Action":"act_accept_work"
}
}
Пример ответа в XML-формате¶
<?xml version="1.0" encoding="utf-8"?>
<response>
<status>
<code>ok</code>
<message></message>
</status>
<params>
<id>123</id>
<action>act_accept_work</action>
</params>
</response>
Допустимые действия над списком проектов¶
URI: /BumsProjectApiV01/Project/availableActionsForList.api|xml
Входные параметры¶
Параметр | Тип | Описание |
---|---|---|
Ids | array | Массив идентификаторов, для которых нужно загрузить список действий |
Выходные данные (массив с названиями допустимых действий)¶
Параметр | Тип | |
actions | array |
Пример ответа в JSON-формате¶
{
"status":
{
"code":"ok",
"message":null
},
"params":
{
"Ids":[540, 541]
},
"actions":
[
{
"Id": 540,
"Actions":
[
"act_edit",
"act_done"
]
},
{
"Id": 541,
"Actions":
[
"act_expire",
"act_delete"
]
}
]
}
Пример ответа в XML-формате¶
<?xml version="1.0" encoding="utf-8"?>
<response>
<status>
<code>ok</code>
<message></message>
</status>
<params>
<ids>
<item>540</item>
<item>541</item>
</ids>
</params>
<actions>
<item>
<id>540</id>
<actions>
<item>act_edit</item>
<item>act_done</item>
</actions>
</item>
<item>
<id>541</id>
<actions>
<item>act_expire</item>
<item>act_delete</item>
</actions>
</item>
</actions>
</response>
</response>
Список возможных действий над проектом¶
- act_accept_work - постановщик принимает выполненный проект
- act_reject_work - постановщик отклоняет выполненный проект
- act_done - исполнитель заканчивает работу, проект условно завершен
- act_pause - временно приостановить выполнение проекта
- act_resume - продолжить выполнение приостановленного проекта
- act_cancel - отменить проект
- act_expire - провалить проект
- act_renew - открыть проект заново
- act_delete - удалить проект (доступно с версии 2011.03)
- act_edit - редактировать проект (доступно с версии 2011.03)
- act_convert - преобразовать проект в задачу
- act_create_task - создать подзадачу
- act_create_subproject - создать подпроект
Проверка прав на создание нового проекта для текущего пользователя¶
URI: /BumsProjectApiV01/Project/canCreate.api|xml
Входные параметры¶
Нет входных данных
Выходные данные¶
Поле | Тип | Описание |
---|---|---|
CanCreate | bool | Можно ли создавать новые проекты |
Пример ответа в JSON-формате¶
{
"status":
{
"code":"ok",
"message":null
},
"data":
{
"CanCreate": 1
}
}
Пример ответа в XML-формате¶
<?xml version="1.0" encoding="utf-8"?>
<response>
<status>
<code>ok</code>
<message></message>
</status>
<data>
<can_create>1</can_create>
</data>
</response>
Карточка проекта¶
URI: /BumsProjectApiV01/Project/card.api|xml
Входные параметры¶
Имя поля | Тип | Описание | Примечание |
---|---|---|---|
Id | integer | ID проекта | Обязательный параметр |
Выходные данные (поля проекта)¶
Имя поля | Тип | Описание |
---|---|---|
Id | integer | ID проекта |
Name | string | Название |
Statement | string | Цели проекта (описание) |
Status | string | Статус |
PlannedWork | integer | Количество минут запланированной работы |
ActualWork | integer | Отработанное время в минутах |
ActualWorkWithSubTasks | integer | Аналогично ActualWork, но с учетом отработанного времени во всех подзадачах |
Completed | integer | Процент завершения проекта |
Deadline | datetime | Дедлайн |
DeadlineType | string | Тип дедлайна |
Owner | object | Постановщик (сотрудник) |
Owner.Id | integer | Идентификатор |
Owner.Name | string | Имя |
Owner.Avatar | string | Относительная ссылка на аватар |
Responsible | object | Ответственный (сотрудник) |
Responsible.Id | integer | Идентификатор |
Responsible.Name | string | Имя |
Responsible.Avatar | string | Относительная ссылка на аватар |
Executors | object[] | Соисполнители (сотрудники) |
Executors[].Id | integer | Идентификатор |
Executors[].Name | string | Имя |
Executors[].Avatar | string | Относительная ссылка на аватар |
Auditors | object[] | Аудиторы (сотрудники) |
Auditors[].Id | integer | Идентификатор |
Auditors[].Name | string | Имя |
Auditors[].Avatar | string | Относительная ссылка на аватар |
SuperProject | object | Надпроект |
SuperProject.Id | integer | Идентификатор |
SuperProject.Name | string | Название |
Favorite | bool | Является ли проект избранным для текущего пользователя |
TimeCreated | datetime | Время создания |
TimeUpdated | datetime | Время последней модификации |
Customer | object | Заказчик |
Customer.Id | integer | Идентификатор |
Customer.Name | string | Имя (название) |
Customer.Type | object | Тип |
Customer.Type.Id | string | Идентификатор типа (1000001, 1) |
Customer.Type.Name | string | Название типа (Сотрудник, Клиент) |
Attaches | object[] | Прикрепленные к проекту файлы |
Attaches[].Name | string | Пользовательское имя файла |
Attaches[].Url | string | Ссылка для скачивания файла (без домена) |
Attaches[].FileName | string | Физическое имя файла |
Attaches[].TimeCreated | datetime | Дата-время добавления аттача |
Attaches[].Size | integer | Размер файла в байтах |
Activity | datetime | Дата и время последней активности по проекту |
IsOverdue | bool | Является ли проект просроченным |
Пример ответа в JSON-формате¶
{
"status":
{
"code":"ok",
"message":null
},
"params":
{
"Id":841
},
"data":
{
"project":
{
"Id":841,
"Name":"Test project",
"Statement":"Task statement",
"Status":"done",
"Deadline":"2010-12-30 16:00:00",
"DeadlineType":"medium",
"Owner":
{
"Id":2,
"Name":"Director"
},
"Responsible":
{
"Id":651,
"Name":"Ivanov Ivan"
},
"Executors":
[
{
"Id":44,
"Name":"Sidorov Sidor"
},
{
"Id":45,
"Name":"VV"
}
],
"TimeCreated":"2007-12-13 12:24:12",
"IsOverdue":false
}
}
}
Пример ответа в XML-формате¶
<?xml version="1.0" encoding="utf-8"?>
<response>
<status>
<code>ok</code>
<message></message>
</status>
<params>
<id>841</id>
</params>
<data>
<project>
<id>841</id>
<name>Test project</name>
<statement>Some project statement with "html special chars"</statement>
<status>accepted</status>
<deadline>2010-12-30 16:00:00</deadline>
<deadline_type>medium</deadline_type>
<owner>
<id>2</id>
<name>Director</name>
</owner>
<responsible>
<id>651</id>
<name>Ivanov Ivan</name>
</responsible>
<executors>
<item>
<id>44</id>
<name>Sidorov Sidor</name>
</item>
<item>
<id>45</id>
<name>VV</name>
</item>
</executors>
<time_created>2007-12-13 12:24:12</time_created>
<is_overdue>false</is_overdue>
</project>
</data>
</response>
Список полей проекта¶
URI: /BumsProjectApiV01/Project/listFields.api|xml
Выходные параметры (массив полей проекта с типом и переводом поля)¶
Поле | Тип | Описание |
---|---|---|
Fields | array<object (Name, Translation, Type)> | Массив объектов, где каждый объект является определением поля, содержащим его имя тип и перевод. |
Конвертировать проект в задачу¶
URI: /BumsProjectApiV01/Project/convert.api|xml
Входные параметры¶
Параметр | Тип | Описание | |
Id | integer | ID проекта. Обязательный параметр |
Выходные данные (поля задачи)¶
Поле | Тип | Описание | |
Id | integer | ID задачи |
Создание проекта¶
URI: /BumsProjectApiV01/Project/create.api|xml
Входные параметры¶
Имя поля | Тип | Описание | Примечание |
---|---|---|---|
Model[Name] | string | Название | Обязательное поле |
Model[Deadline] | datetime | Дедлайн (дата со временем) | |
Model[DeadlineDate] | date | Дедлайн (только дата) | |
Model[DeadlineType] | string | Тип дедлайна | |
Model[Responsible] | integer | Код менеджера | Обязательное поле |
Model[Executors] | integer[] | Коды участников проекта | |
Model[Auditors] | integer[] | Коды аудиторов | |
[STRIKEOUT:Model[Severity]] | integer | Код важности | Параметр более не используется |
Model[SuperProject] | integer | Код надпроекта | |
Model[Customer] | integer | Код заказчика | |
Model[Statement] | string | Описание проекта | |
Model[Start] | datetime | Старт проекта | |
Model[Attaches][Add] | array | Массив приложенных файлов | Должен передаваться POST-запросом |
Model[Attaches][Add][0…n][Content] | string | Данные (контент) файла, закодированные с использованием MIME base64 | В устаревших версиях Мегаплана может действовать имя параметра Model[Attaches][Add][][Context] |
Model[Attaches][Add][0…n][Name] | string | Имя файла | Будет фигурировать при выводе проекта |
Выходные данные¶
Имя поля | Тип | Описание |
---|---|---|
Id | integer | ID проекта |
Name | string | Название проекта |
Отсутствие прав на создание проекта¶
У сотрудника может не быть прав на создание проекта. В этом случае команда вернет 403-ю ошибку и
следующий ответ:
{
"status":
{
"code":"error",
"message":"You can not create projects"
}
}
Таким образом, эту команду можно использовать не только для создания проекта, но и для проверки наличия прав на создание проекта (например, чтобы решить, показывать в приложении кнопку «Создать проект» или нет).
Редактирование проекта¶
URI: /BumsProjectApiV01/Project/edit.api|xml
Входные параметры¶
Имя поля | Тип | Описание | Примечание |
---|---|---|---|
Id | integer | ID проекта | Обязательное поле |
Model[Name] | string | Название | |
Model[Deadline] | datetime | Дедлайн (дата со временем) | |
Model[DeadlineDate] | date | Дедлайн (только дата) | |
Model[DeadlineType] | string | Тип дедлайна | |
Model[Owner] | integer | Код постановщика | |
Model[Responsible] | integer | Код менеджера | |
Model[Executors] | integer[] | Коды участников проекта | |
Model[Auditors] | integer[] | Коды аудиторов | |
[STRIKEOUT:Model[Severity]] | integer | Код важности | Параметр более не используется |
Model[SuperProject] | integer | Код надпроекта | |
Model[Customer] | integer | Код заказчика | |
Model[Statement] | string | Описание проекта | |
Model[Start] | datetime | Старт проекта | |
Model[Attaches][Add] | array | Массив приложенных файлов | Должен передаваться POST-запросом |
Model[Attaches][Add][0…n][Content] | string | Данные (контент) файла, закодированные с использованием MIME base64 | В устаревших версиях Мегаплана может действовать имя параметра Model[Attaches][Add][][Context] |
Model[Attaches][Add][0…n][Name] | string | Имя файла | Будет фигурировать при выводе проекта |
Model[Attaches][Delete] | array | Массив из имен файлов для удаления (параметр FileName в карточке проекта) |
Выходные данные¶
Отсутствуют
Список проектов¶
URI: /BumsProjectApiV01/Project/list.api|xml
Имя поля | Тип | Описание | Примечание |
---|---|---|---|
Folder | string | Папка (фильтр по ID текущего сотрудника) | Допустимые значения:
По умолчанию: all |
Status | string | Статус | Допустимые значения:
По умолчанию: any |
FavoritesOnly | integer | Только избранное | Допустимые значения: 0, 1 По умолчанию: 0 |
Search | string | Строка поиска | любая строка |
Detailed | bool | Нужно ли показывать в списке проектов все поля из карточки проекта | По умолчанию: false |
FilterId | string | Код фильтра | |
SuperProjectId | integer | При передаче возвращаются только проекты, входящие в надпроект SuperProjectId | |
OnlyActual | bool | Если true, то будут выводиться только незавершенные проекты | |
Count | bool | Если true, то вместо списка будет выводиться только количесто проектов, удоволетворяющих условиям | |
SortBy | string | Сортировка результата | Допустимые значения:
|
SortOrder | string | Сколько выбрать проектов (LIMIT) | Допустимые значения: 0, 1
По умолчанию: asc |
ShowAction | bool | Нужно ли показывать в списке возможные действия над проектом | |
Limit | integer | Сколько выбрать проектов (LIMIT) | Целочисленное значение в диапазоне [1,100] По умолчанию: 50 |
Offset | integer | Начиная с какого выбирать проекты (OFFSET) | |
TimeUpdated | string | Возвращать только те объекты, которые были изменены после указанный даты | Дата/время в одном из форматов ISO 8601 |
Выходные данные (масив проектов с полями)¶
Имя поля | Тип | Описание |
---|---|---|
Id | integer | ID проекта |
Name | string | Название |
Status | string | Статус Возможные статусы проекта:
|
PlannedWork | integer | Количество запланированной работы в минутах |
ActualWorkWithSubTasks | integer | Аналогично ActualWork, но с учетом отработанного времени во всех подзадачах |
Completed | integer | Процент завершения проекта |
Deadline | datetime | Дедлайн |
Owner | object | Постановщик (сотрудник) |
Owner.Id | integer | Идентификатор |
Owner.Name | string | Имя |
Owner.Avatar | string | Относительная ссылка на аавтар |
Responsible | object | Ответственный (сотрудник) |
Responsible.Id | integer | Идентификатор |
Responsible.Name | string | Имя |
Responsible.Avatar | string | Относительная ссылка на аватар |
Executors | object[] | Соисполнители (сотрудники) |
Executors[].Id | integer | Идентификатор |
Executors[].Name | string | Имя |
Executors[].Avatar | string | Относительная ссылка на аватар |
Auditors | object[] | Аудиторы (сотрудники) |
Auditors[].Id | integer | Идентификатор |
Auditors[].Name | string | Имя |
Auditors[].Avatar | string | Относительная ссылка на аватар |
Start | datetime | Старт проекта |
Finish | datetime | Время фактического завершения задачи |
PlannedFinish | datetime | Дата запланированного финиша |
SuperProject | object | Надпроект |
SuperProject.Id | integer | Идентификатор |
SuperProject.Name | string | Название |
Favorite | integer | В избранном |
TimeCreated | datetime | Время создания |
TimeUpdated | datetime | Время последней модификации |
Tags | object[] | Тэги, привязанные к задаче |
Tags[].Id | integer | Идентификатор |
Tags[].Name | string | Название |
Activity | datetime | Дата и время последней активности по задаче |
AllAttaches | object[] | Прикрепленные к проекту файлы |
Attaches[].Name | string | Пользовательское имя файла |
Attaches[].Url | string | Ссылка для скачивания файла (без домена) |
Attaches[].FileName | string | Физическое имя файла |
Attaches[].TimeCreated | datetime | Дата-время добавления аттача |
Attaches[].Size | integer | Размер файла в байтах |
IsOverdue | bool | Является ли задача просроченной |
Пример ответа в JSON-формате¶
{
"status":
{
"code":"ok",
"message":null
},
"params":
{
"Folder":"all",
"Status":"any"
},
"data":
{
"projects":
[
{
"Id":841,
"Name":"Test project",
"Status":"accepted",
"Deadline":"2010-12-30 16:00:00",
"Owner":
{
"Id":2,
"Name":"Director"
},
"Responsible":
{
"Id":651,
"Name":"Ivanov Ivan"
},
"Favorite":"",
"TimeCreated":"2007-12-13 12:24:12",
"IsOverdue":true
},
{
"Id":1394,
"Name":"Another project",
"Status":"accepted",
"Deadline":"",
"Owner":
{
"Id":3,
"Name":"Medvedev Dima"
},
"Responsible":
{
"Id":651,
"Name":"Ivanov Ivan"
},
"Severity":
{
"Id":3,
"Name":"Hot"
},
"SuperProject":
{
"Id":1393,
"Name":"Global project"
},
"Favorite":"1",
"TimeCreated":"2009-08-17 13:27:28",
"IsOverdue":false
}
]
}
}
Пример ответа в XML-формате¶
<?xml version="1.0" encoding="utf-8"?>
<response>
<status>
<code>ok</code>
<message></message>
</status>
<params>
<folder>all</folder>
<status>any</status>
</params>
<data>
<projects>
<item>
<id>841</id>
<name>Test project</name>
<status>accepted</status>
<deadline>2010-12-30 16:00:00</deadline>
<owner>
<id>2</id>
<name>Director</name>
</owner>
<responsible>
<id>651</id>
<name>Ivanov Ivan</name>
</responsible>
<time_created>2007-12-13 12:24:12</time_created>
<is_overdue>true</is_overdue>
</item>
<item>
<id>1394</id>
<name>Another project</name>
<status>accepted</status>
<deadline></deadline>
<owner>
<id>3</id>
<name>Medvedev Dima</name>
</owner>
<responsible>
<id>651</id>
<name>Ivanov Ivan</name>
</responsible>
<severity>
<id>3</id>
<name>Hot</name>
</severity>
<super_project>
<id>1393</id>
<name>Global project</name>
</super_project>
<favorite>1</favorite>
<time_created>2009-08-17 13:27:28</time_created>
<is_overdue>true</is_overdue>
</item>
</projects>
</data>
</response>
Добавить проект в избранное¶
URI: /BumsProjectApiV01/Project/markAsFavorite.api|xml
Для добавления и удаления из избранного предпочтительно пользоваться командами из раздела Избранное.
Входные параметры¶
Параметр | Тип | Описание | |
Id | integer | ID проекта. Обязательный параметр | |
Value | integer | 1 (пометить как избранное), 0 (убрать из избранного) |
Выходные данные¶
Отсутствуют