Отправка ответа на callback
Для корректной работы ваших чат-ботов и мини-приложений направляйте запросы на домен platform-api2.max.ru вместо platform-api.max.ru. Также убедитесь, что добавили сертификат Минцифры в список доверенных
POST/answers
Отправляет ответ после того, как пользователь нажал на кнопку. Ответом может быть обновленное сообщение и/или одноразовое уведомление для пользователя
Ограничения
Можно отправлять не более двух ответов в секунду в один диалог, групповой чат или канал. При превышении этого лимита сообщения следует ставить в очередь или делать задержку перед отправкой
Пример запроса:
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_tokenapiKey
Передача токена через query-параметры больше не поддерживается — используйте заголовок
Authorization: <token>
Токен для вызова HTTP-запросов присваивается при создании бота — его можно найти на платформе в разделе Чат-боты → Перейти → Расширенные настройки → Настроить
Eсли вы верифицировали профиль и создали бота в мини-приложении «MAX для бизнеса», получить токен можно там же или в боте «MAX для бизнеса» с помощью команды Получить токен
Рекомендуем не разглашать токен посторонним, чтобы они не получили доступ к управлению ботом. Токен может быть отозван за нарушение Правил платформы
Параметры
callback_idstring
^(?!\s*$).+
от 1 символа
Идентификатор кнопки, на которую нажал пользователь
Идентификатор можно получить в обновлениях о событиях через Webhook или Long Polling
Получение обновлений с помощью Long Polling ограничено по скорости и сроку хранения событий — этот способ не подходит для production-окружения. Рекомендуем на всех этапах работы использовать Webhook
Когда пользователь нажмёт на кнопку, МАКС отправит событие, содержащее объект Update с типом message_callback и идентификатором кнопки в поле updates[i].callback.callback_id
Тело запроса
messageobject NewMessageBody Nullable optional
Заполните это, если хотите изменить текущее сообщение
Результат
successboolean
true, если запрос был успешным, false — в противном случае
messagestring optional
Сообщение об ошибке