Отправка ответа на 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"
}
]
]
}
}
]
}
}'Авторизация
Передача токена через query-параметры больше не поддерживается — используйте заголовок
Authorization: <token>
Токен для вызова HTTP-запросов присваивается при создании бота — его можно найти на платформе в разделе Чат-боты. Выберите необходимого бота и нажмите ⋮ → Настройки → значок копирования справа от поля с токеном
Если вы верифицировали профиль и создали бота в мини-приложении «MAX для бизнеса», получить токен можно там же или в боте «MAX для бизнеса» с помощью команды Получить токен
Рекомендуем не разглашать токен посторонним, чтобы они не получили доступ к управлению ботом. Токен может быть отозван за нарушение Правил платформы
Параметры
от 1 символа
Идентификатор кнопки, на которую нажал пользователь
Идентификатор можно получить в обновлениях о событиях через Webhook или Long Polling
Получение обновлений с помощью Long Polling ограничено по скорости и сроку хранения событий — этот способ не подходит для production-окружения. Рекомендуем на всех этапах работы использовать Webhook
Когда пользователь нажмёт на кнопку, МАКС отправит событие, содержащее объект Update с типом message_callback и идентификатором кнопки в поле updates[i].callback.callback_id
true, сервер не будет генерировать превью для ссылок в тексте сообщения или поста
Тело запроса
4000 символов
null, изменений не произойдет. Если массив пуст, все вложения будут удалены
type: video) и одно вложение с кнопками (type: inline_keyboard). Общее количество вложений не должно превышать общее ограничение — 12. Подробнее — в примерах
от 1 символа
Любой внешний URL изображения, которое вы хотите прикрепить
Возможные значения в enum: "forward" "reply"
Тип связанного сообщения:
"reply"— ответ на сообщение или комментарий в чате или канале"forward"— пересланное сообщение в чате или канале
Для комментариев поддерживается только тип reply
По умолчанию: true
Если false, участники чата не получат push-уведомления. Для каналов необходимо отправлять запрос с notify = true или без этого поля, т.к. каналы не подразумевают отправку постов без push-уведомлений
Возможные значения в enum: "markdown" "html"
Разметка текста сообщения. Подробнее — в разделе Форматирование
Результат
true, если запрос был успешным, false — в противном случае
Коды ответов
| Код | Описание |
|---|---|
200 | Успешный или неуспешный результат |
401 | Ошибка авторизации. Токен access_token указан некорректно или недействителен |
405 | Метод не разрешен |
500 | Внутренняя ошибка сервера |