Мегаплан API v3: Поставить задачу сотруднику

Сценарий из mcp-everything. Актуально на 2026-10-24.

Создавать задачи в Мегаплане из своей системы: заявка с сайта, обращение в поддержку, напоминание.

  1. Получи токен: POST /api/v3/auth/access_token с username, password и grant_type = password (multipart-форма). Токен живёт 48 часов — сохрани его и обновляй заранее. Передавай в заголовке AUTHORIZATION: Bearer .
  2. Найди ответственного: GET /api/v3/employee — в ответе id сотрудников.
  3. Создай задачу: POST /api/v3/task с contentType = Task, name и responsible — ссылочным объектом {"contentType": "Employee", "id": ...}. Описание — subject, срочность — isUrgent.
  4. Ответ приходит в конверте meta + data: id новой задачи — в data.id, ошибки — в meta.
  5. Чтобы поменять задачу, отправь POST /api/v3/task/{id} с изменяемыми полями — Мегаплан меняет сущности POST-запросом на их адрес, а не PUT или PATCH.
TOKEN=$(curl -s -X POST https://<аккаунт>.megaplan.ru/api/v3/auth/access_token \
  -F username=<логин> -F password=<пароль> -F grant_type=password | jq -r .access_token)

curl -X POST https://<аккаунт>.megaplan.ru/api/v3/task \
  -H "AUTHORIZATION: Bearer $TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
        "contentType": "Task",
        "name": "Перезвонить клиенту по заявке с сайта",
        "responsible": {"contentType": "Employee", "id": 1000003},
        "subject": "Иван Петров, +7 999 000-11-22, интересуется доставкой",
        "isUrgent": true
      }'

Базовые URL

Авторизация

Тип: Bearer-токен

Токен передаётся в каждом запросе в заголовке AUTHORIZATION: Bearer <token>. Для авторизации по логину и паролю токен получают запросом POST /api/v3/auth/access_token с grant_type=password; он живёт 48 часов (expires_in 172800). Приложения Мегаплана получают токен в data->token событий приложения.

curl --request POST \
    --url https://demo.megaplan.ru/api/v3/auth/access_token \
    --header 'content-type: multipart/form-data;' \
    --form username=dev-null@megoplan.ru \
    --form password=123 \
    --form grant_type=password

Методы сценария

POST /api/v3/auth/access_token — Получение токена

В ответе: access_token, expires_in, token_type, scope, refresh_token.

Параметр Где Тип Обяз. Описание
username body string да Логин пользователя
password body string да Пароль
grant_type body string да password

POST /api/v3/task — Создать задачу

Параметр Где Тип Обяз. Описание
contentType body string да Task
name body string да Название задачи
responsible body object да Ответственный: {"contentType": "Employee", "id": ...}
subject body string нет Описание
isUrgent body boolean нет Срочная
isTemplate body boolean нет Шаблон
Category...CustomField... body any нет Расширенные (пользовательские) поля

Пример запроса:

{
    "contentType": "Task",
    "name": "Название задачи",
    "responsible": {
        "contentType": "Employee",
        "id": 1000003
    },
    "subject": "Описание задачи",
    "isUrgent": false,
    "isTemplate": false
}

POST /api/v3/task/{id} — Изменить задачу

Изменение выполняется POST-запросом на адрес задачи с изменяемыми полями.

Параметр Где Тип Обяз. Описание
id path integer да ID задачи
name body string нет Новое название

GET /api/v3/employee — Список сотрудников

Список сотрудников аккаунта; карточка — GET /api/v3/employee/{id}.

Нюансы

Другие сценарии


Если этого недостаточно — официальная документация: https://dev.megaplan.ru/apiv3/index.html Вся интеграция одним документом: https://mcp-everything.ru/integrations/megaplan.md