MAX Bot API: Отправить сообщение пользователю или в чат

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

Уведомления из своего сервиса в мессенджер MAX: заказ оформлен, запись подтверждена, новая заявка.

  1. Получи токен бота и передавай его в заголовке Authorization без префикса. Передача токена в параметре access_token больше не работает. Проверь токен: GET /me вернёт данные бота.
  2. Отправь сообщение: POST /messages с user_id (личное сообщение) или chat_id (чат или канал) в строке запроса и text в теле — до 4000 символов. Для форматирования передай format = html или markdown.
  3. В ответе — объект message с ID сообщения: сохрани его, если сообщение потом нужно будет изменить через PUT /messages или удалить через DELETE /messages.
  4. Не отправляй больше 2 сообщений в секунду в один диалог или чат и больше 30 запросов в секунду всего — иначе придёт 429. Ответ 403 значит, что пользователь остановил бота.
curl -X POST "https://platform-api2.max.ru/messages?user_id=<user_id>" \
  -H "Authorization: $MAX_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"text": "<b>Заказ №1042 оформлен</b>\nСумма: 15 000 ₽", "format": "html"}'

Базовые URL

Авторизация

Тип: API-ключ

Токен бота передаётся в заголовке Authorization: <access_token> (без префикса). Передача токена в query-параметре access_token больше не поддерживается.

curl -X GET "https://platform-api2.max.ru/me" \
  -H "Authorization: {access_token}"

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

GET /me — Информация о боте

Возвращает объект User (BotInfo): user_id, first_name, username, is_bot, last_activity_time, description, avatar_url, commands.

POST /messages — Отправка сообщения

Адресат задаётся user_id или chat_id. В ответе — объект message созданного сообщения или поста.

Параметр Где Тип Обяз. Описание
user_id query integer нет ID пользователя-получателя
chat_id query integer нет ID чата или канала
disable_link_preview query boolean нет Не генерировать превью ссылок
text body string нет Текст, до 4000 символов
attachments body array нет Вложения: файлы (payload.token из /uploads), inline_keyboard и др.
link body object нет Ссылка на сообщение в чате или пост в канале (ответ или пересылка)
notify body boolean нет Push-уведомления участникам, по умолчанию true
format body string нет Форматирование текста: markdown или html

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

curl -X POST "https://platform-api2.max.ru/messages?user_id={user_id}" \
  -H "Authorization: {access_token}" \
  -H "Content-Type: application/json" \
  -d '{
  "text": "Это сообщение с кнопкой-ссылкой",
  "attachments": [
    {
      "type": "inline_keyboard",
      "payload": {
        "buttons": [
          [
            {
              "type": "link",
              "text": "Откройте сайт",
              "url": "https://example.com"
            }
          ]
        ]
      }
    }
  ]
}'

PUT /messages — Редактирование сообщения

Сообщения с inline_keyboard и любые сообщения в групповых чатах и каналах редактируются без ограничения срока; остальные сообщения в диалогах с ботом — если отправлены меньше 7 суток назад. Ответ: success, message.

Параметр Где Тип Обяз. Описание
message_id query string да ID редактируемого сообщения
text body string нет Новый текст, до 4000 символов
attachments body array нет null или отсутствие — без изменений; пустой массив удаляет все вложения
link body object нет Ссылка на сообщение или пост
notify body boolean нет Push-уведомления, по умолчанию true
format body string нет markdown или html

DELETE /messages — Удаление сообщения

Удаляет сообщение или пост.

Нюансы

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


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