Кнопки в сообщениях
Кнопки позволяют добавить к сообщению бота интерактивные элементы: ссылки для перехода на внешние ресурсы и кнопки действий для обработки на сервере. Кнопки располагаются под текстом сообщения в виде строк — каждая строка полностью занимается вложенными в неё кнопками.
Сообщение от бота с кнопками
Как это работает
Создайте бота
Перейдите в Автоматизации > Интеграции > Чат-боты и Вебхуки и создайте бота. Подробнее — в разделе Боты.
Отправьте сообщение с кнопками
Используйте метод POSTНовое сообщение с полем buttons — массив строк, каждая из которых содержит массив кнопок.
Настройте исходящий вебхук
Для обработки Data-кнопок укажите Webhook URL в настройках бота на вкладке Исходящий Webhook и включите событие Нажатие кнопок. Подробнее — в разделе Исходящие вебхуки.
Обработайте нажатие
При нажатии Data-кнопки бот получает вебхук с данными кнопки. Обработайте событие и дайте обратную связь — отредактируйте сообщение, отправьте новое или откройте модальную форму.
Типы кнопок
URL-кнопки
URL-кнопка перенаправляет пользователя по указанной ссылке. При нажатии отображается модальное окно с подтверждением перехода.
Подтверждение перехода по ссылке
Data-кнопки
Data-кнопка отправляет данные на сервер через исходящий вебхук. При нажатии бот получает вебхук с информацией о кнопке, сообщении и пользователе, что позволяет реализовать любую логику обработки.
Отправка кнопок
Для отправки используйте метод POSTНовое сообщение с полем buttons. Поле представляет собой массив строк, каждая из которых содержит массив кнопок. В одной строке можно комбинировать URL-кнопки и Data-кнопки.
Метод PUTРедактирование сообщения также поддерживает поле buttons. Для удаления всех кнопок передайте пустой массив [].
Обработка нажатий
Для получения событий о нажатиях Data-кнопок настройте исходящий вебхук и включите событие Нажатие кнопок.
При нажатии кнопки бот получает вебхук:
После получения события вы можете:
- PUTОтредактировать сообщение — убрать кнопки, добавить новые или обновить текст
- POSTОтправить новое сообщение — как ответ пользователю с результатом действия
- Открыть модальную форму — используя
trigger_idиз вебхука (действителен 3 секунды)
Ограничения
- Максимальное количество кнопок в строке — 8
- Максимальное число кнопок у сообщения — 100
- Максимальная длина
textна кнопке — 255 символов - Максимальная длина
dataу кнопки — 255 символов