Отправка ответа на callback

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

POST/answers

Отправляет ответ после того, как пользователь нажал на кнопку. Ответом может быть обновленное сообщение и/или одноразовое уведомление для пользователя

Ограничения

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

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

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

Авторизация

access_token
apiKey

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

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

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

Параметры

callback_id
string
^(?!\s*$).+

от 1 символа

Идентификатор кнопки, на которую нажал пользователь

Идентификатор можно получить в обновлениях о событиях через Webhook или Long Polling

Получение обновлений с помощью Long Polling ограничено по скорости и сроку хранения событий — этот способ не подходит для production-окружения. Рекомендуем на всех этапах работы использовать Webhook

Когда пользователь нажмёт на кнопку, МАКС отправит событие, содержащее объект Update с типом message_callback и идентификатором кнопки в поле updates[i].callback.callback_id

Тело запроса

message
object NewMessageBody Nullable optional

Заполните это, если хотите изменить текущее сообщение

Результат

success
boolean

true, если запрос был успешным, false — в противном случае

message
string optional

Сообщение об ошибке