Files
MAX/docs/max-curl-http-request.md

89 lines
3.3 KiB
Markdown
Raw Normal View History

# cURL и настройка HTTP Request ноды (ответ пользователю в MAX)
## cURL — отправить сообщение
Подставь свой `MAX_BOT_TOKEN` и `max_id` (или `max_chat_id`) получателя:
```bash
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`:
```bash
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"}` |
Динамический текст из предыдущей ноды:
```json
{
"text": "{{ $json.answer_text }}",
"format": "markdown"
}
```
Или свой ответ из другой ноды:
```json
{
"text": "{{ $('Твоя нода с ответом').item.json.reply_text }}",
"format": "markdown"
}
```
---
Подробнее про форматы текста (markdown/html) и про кнопки (callback, link, message и т.д.) — в **`docs/max-api/04-formats-and-buttons.md`**.
---
## cURL — ответ на нажатие кнопки (callback)
Подставь `callback_id` из нормализованного объекта и токен:
```bash
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 перерисует сообщение без кнопок.