Проекты¶
Допустимые действия над проектом¶
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>  | 
Коды соисполнителей  |