Files
MAX/docs/max-curl-http-request.md
root 7cd3ccf21c MAX bot + n8n: webhook, нормализация, меню, доки, схемы БД
- register_max_webhook.py, fetch_schema.py
- n8n-code-node-max-normalize.js (max_id, callback из callback.user, contact из vcf_info)
- n8n-code-add-menu-buttons.js (меню с callback, request_contact, Главное меню)
- docs: max-webhook, max-curl-http-request, max-api (форматы, кнопки, контакт), clpr vs sprf
- README, SITUATION, схемы sprf_ и clpr_, .gitignore

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 09:23:51 +03:00

3.3 KiB
Raw Blame History

cURL и настройка HTTP Request ноды (ответ пользователю в MAX)

cURL — отправить сообщение

Подставь свой MAX_BOT_TOKEN и max_id (или max_chat_id) получателя:

curl -X POST "https://platform-api.max.ru/messages?user_id=6200846" \
  -H "Authorization: ВАШ_MAX_BOT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"text": "Привет! Сообщение получено.", "format": "markdown"}'

С chat_id вместо user_id:

curl -X POST "https://platform-api.max.ru/messages?chat_id=188573833" \
  -H "Authorization: ВАШ_MAX_BOT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"text": "Привет!", "format": "markdown"}'

Как ввести в HTTP Request ноду n8n

Поле Значение
Method POST
URL https://platform-api.max.ru/messages?user_id={{ $json.max_id }}
Authentication Header Auth → Name: Authorization, Value: ВАШ_MAX_BOT_TOKEN (или credential)
Send Headers включить, добавить: Name Content-Type, Value application/json (если нет из Auth)
Send Body Yes
Body Content Type JSON
Specify Body Using JSON
JSON Body {"text": "Привет! Сообщение получено.", "format": "markdown"}

Динамический текст из предыдущей ноды:

{
  "text": "{{ $json.answer_text }}",
  "format": "markdown"
}

Или свой ответ из другой ноды:

{
  "text": "{{ $('Твоя нода с ответом').item.json.reply_text }}",
  "format": "markdown"
}

Подробнее про форматы текста (markdown/html) и про кнопки (callback, link, message и т.д.) — в docs/max-api/04-formats-and-buttons.md.


cURL — ответ на нажатие кнопки (callback)

Подставь callback_id из нормализованного объекта и токен:

curl -X POST "https://platform-api.max.ru/answers?callback_id=ВАШ_CALLBACK_ID" \
  -H "Authorization: ВАШ_MAX_BOT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"notification": "Нажато!"}'

В n8n (только когда есть callback_id):

  • URL: https://platform-api.max.ru/answers?callback_id={{ $json.callback_id }}
  • Method: POST
  • Headers: те же
  • Body: {"notification": "Нажато!"} или {"message": {"text": "Новый текст сообщения", "format": "markdown"}}

Удалить кнопки после нажатия

Обнови сообщение тем же текстом, но без attachments — клавиатура исчезнет:

  • URL: https://platform-api.max.ru/answers?callback_id={{ $json.callback_id }}
  • Method: POST
  • Body: {"message": {"text": "{{ $json.callback_message_text }}", "format": "markdown"}}

Текст бери из нормализатора: после callback там есть callback_message_text (и при желании callback_message_mid). В body передаётся только text и format, без attachments — MAX перерисует сообщение без кнопок.