Документация Связаться с нами Стать разработчиком Мегаплана

Проекты

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

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/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> Коды соисполнителей