Проекты

Допустимые действия над проектом

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 &quot;html special chars&quot;</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 текущего сотрудника)

Допустимые значения:

  • «incoming» - входящие

  • «responsible» - ответственный

  • «executor» - соисполнитель

  • «owner» - исходящие

  • «auditor» - аудируемые

  • «all» - все

По умолчанию: all

Status

string

Статус

Допустимые значения:

  • «actual» - актуальные

  • «inprocess» - в процессе

  • «new» - новые

  • «overdue» - просроченные

  • «done» - условно завершенные

  • «delayed» - отложенные

  • «completed» - завершенные

  • «failed» - проваленные

  • «any» - любые

По умолчанию: any

FavoritesOnly

integer

Только избранное

Допустимые значения: 0, 1 По умолчанию: 0

Search

string

Строка поиска

любая строка

Detailed

bool

Нужно ли показывать в списке проектов все поля из карточки проекта

По умолчанию: false

FilterId

string

Код фильтра

SuperProjectId

integer

При передаче возвращаются только проекты, входящие в надпроект SuperProjectId

OnlyActual

bool

Если true, то будут выводиться только незавершенные проекты

Count

bool

Если true, то вместо списка будет выводиться только количесто проектов, удоволетворяющих условиям

SortBy

string

Сортировка результата

Допустимые значения:

  • «id» - идентификатор

  • «name» - наименование

  • «activity» - активность

  • «deadline» - дата дедлайна

  • «responsible» - менеджер проекта

  • «owner» - создатель

  • «contractor» - заказчик

  • «start» - старт

  • «plannedFinish» - плановый финиш

  • «plannedWork» - запланировано

  • «actualWork» - отработано

  • «completed» - процент завершения

  • «bonus» - бонус

  • «fine» - штраф

  • «plannedTime» - длительность

SortOrder

string

Сколько выбрать проектов (LIMIT)

Допустимые значения: 0, 1

  • «asc» - по возрастанию

  • «desc» - по убыванию

По умолчанию: asc

ShowAction

bool

Нужно ли показывать в списке возможные действия над проектом

Limit

integer

Сколько выбрать проектов (LIMIT)

Целочисленное значение в диапазоне [1,100] По умолчанию: 50

Offset

integer

Начиная с какого выбирать проекты (OFFSET)

TimeUpdated

string

Возвращать только те объекты, которые были изменены после указанный даты

Дата/время в одном из форматов ISO 8601

Выходные данные (масив проектов с полями)

Имя поля

Тип

Описание

Id

integer

ID проекта

Name

string

Название

Status

string

Статус Возможные статусы проекта:

  • completed - завершен

  • accepted - принят

  • done - условно завершен

  • delayed - поставлен на паузу

  • cancelled - отменен

  • assigned - назначен

  • expired - провален

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>

Коды соисполнителей