Сценарий из mcp-everything. Актуально на 2026-10-24.
Прислать счёт, договор или фото товара вложением.
UPLOAD_URL=$(curl -s -X POST "https://platform-api2.max.ru/uploads?type=file" -H "Authorization: $MAX_TOKEN" | jq -r .url)
TOKEN=$(curl -s -F "data=@invoice-1042.pdf" "$UPLOAD_URL" | jq -r .token)
curl -X POST "https://platform-api2.max.ru/messages?user_id=<user_id>" \
-H "Authorization: $MAX_TOKEN" -H 'Content-Type: application/json' \
-d "{\"text\": \"Счёт по заказу №1042\", \"attachments\": [{\"type\": \"file\", \"payload\": {\"token\": \"$TOKEN\"}}]}"
https://platform-api2.max.ruplatform-api2.max.ruТип: API-ключ
Токен бота передаётся в заголовке Authorization: <access_token> (без префикса). Передача токена в query-параметре access_token больше не поддерживается.
curl -X GET "https://platform-api2.max.ru/me" \
-H "Authorization: {access_token}"
Адресат задаётся 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"
}
]
]
}
}
]
}'
Возвращает url для загрузки и (для части типов) token для вложения. По одному url загружается один файл.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
type |
query | string | да | image, video, audio или file (photo больше не поддерживается) |
POST /uploads?type=... → загрузить файл на url (multipart целиком или resumable частями) → передать токен в attachments[].payload.token в POST /messages или PUT /messages.attachment.not.ready; повторяйте отправку с растущим интервалом.X-Max-Bot-Api-Secret.GET /chats не поддерживается с июня 2026; POST /chats/{chatId}/members удалён с 30 сентября 2026.PUT/POST /subscriptions/POST /answers возвращают HTTP 200 и при неуспехе — проверяйте поле success.Если этого недостаточно — официальная документация: https://dev.max.ru/docs-api Вся интеграция одним документом: https://mcp-everything.ru/integrations/max-bot-api.md