Отправка сообщений

Для корректной работы ваших чат-ботов и мини-приложений направляйте запросы на домен platform-api2.max.ru вместо platform-api.max.ru. Также убедитесь, что добавили сертификат Минцифры в список доверенных

POST/messages

Отправляет сообщение в диалог, групповой чат или канал

Кроме текста сообщения или посты могут содержать следующие типы вложений:

Ограничения

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

Пример запроса с одной кнопкой-ссылкой

Больше примеров запросов с кнопками — в разделе «Клавиатура»

BASH
Скопировать
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" } ] ] } } ] }'

Авторизация

access_token
apiKey

Передача токена через query-параметры больше не поддерживается — используйте заголовок Authorization: <token>

Токен для вызова HTTP-запросов присваивается при создании бота — его можно найти на платформе в разделе Чат-боты → Перейти → Расширенные настройки → Настроить
Eсли вы верифицировали профиль и создали бота в мини-приложении «MAX для бизнеса», получить токен можно там же или в боте «MAX для бизнеса» с помощью команды Получить токен

Рекомендуем не разглашать токен посторонним, чтобы они не получили доступ к управлению ботом. Токен может быть отозван за нарушение Правил платформы

Параметры

user_id
integer <int64> optional

Если вы хотите отправить сообщение пользователю, укажите ID этого пользователя

chat_id
integer <int64> optional

Если сообщение отправляется в чат или канал, укажите ID этого чата или канала. Как получить ID — в разделе «Получение chat_id»

disable_link_preview
boolean optional

Если true, сервер не будет генерировать превью для ссылок в тексте сообщения или поста

Тело запроса

text
string Nullable

до 4000 символов

attachments
AttachmentRequest[] Nullable

Вложения сообщения. Если поле равно null, изменений не произойдет. Если массив пуст, все вложения будут удалены

link
object NewMessageLink Nullable

Ссылка на сообщение

notify
boolean optional

По умолчанию: true

Если false, участники чата не получат push-уведомления. Для каналов необходимо отправлять запрос с notify = true или без этого поля, т.к. каналы не подразумевают отправку постов без push-уведомлений

format
enum TextFormat Nullable optional

Возможные значения в enum: "markdown" "html"

Если установлен, текст сообщения будет форматирован данным способом. Для подробной информации загляните в раздел Форматирование

Результат

message
object Message

Содержит общую информацию о сообщении в чате или посте в канале: данные об отправителе и получателе, время создания сообщения, содержимое (текст и вложения), контекст связи с другими сообщениями (ответ или пересылка), а также публичную ссылку и статистику для постов в каналах

Возвращается в ответ на вызовы методов группы /messages и /chats/{chatId}/pin