Проекты¶
Допустимые действия над проектом¶
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 (убрать из избранного) |
Выходные данные¶
Отсутствуют
Редактирование Аудиторов¶
URI: /BumsProjectApiV01/Project/saveAuditors.api|xml
Входные параметры¶
Поле |
Тип |
Описание |
---|---|---|
Id |
integer |
Код задачи |
Auditors |
array<integer> |
Коды аудиторов |
Редактирование Соисполнителей¶
URI: /BumsProjectApiV01/Project/saveExecutors.api|xml
Входные параметры¶
Поле |
Тип |
Описание |
---|---|---|
Id |
integer |
Код задачи |
Executors |
array<integer> |
Коды соисполнителей |