Типы кнопок

Клавиатура бота может содержать кнопки разных типов. Тип кнопки, указанный в поле type, определяет её название.

text

Отправляет сообщение с текстом из поля label.

Поле
Тип
Описание
type обязательное
string
Тип кнопки. Значение: text.
label обязательное
string
Текст, который будет отправлен в сообщении и отображён на кнопке.Максимальная длина — 40 символов.
payload необязательное
string
Дополнительные данные в формате JSON-строки. Отправляются серверу бота в сообщении message_new в поле payload. Максимальная длина — 255 символов. Строка должна начинаться и заканчиваться фигурными скобками.

Для кнопки можно указать цвет.

location

Открывает диалоговое окно с информацией о местоположении. Пользователь может выбрать местоположение и отправить его в чат.

  • •
    Администраторы сообщества получат изображение карты в чате.
  • •
    Координаты точки придут на сервер бота в событии message_new в поле message.geo.coordinates.

Ряд, в котором находится кнопка location, может содержать не больше 2 кнопок. Иначе при вызове messages.send будет возвращена ошибка.

Поле
Тип
Описание
type обязательное
string
Тип кнопки. Значение: location.
payload необязательное
string
Дополнительные данные в формате JSON-строки. Отправляются серверу бота в сообщении message_new в поле payload. Максимальная длина — 255 символов. Строка должна начинаться и заканчиваться фигурными скобками.

vkpay

Открывает окно оплаты VK Pay с предопределёнными параметрами. На кнопке отображается текст «Оплатить через VK Pay» и логотип VK Pay.

Кнопка vkpay должна быть единственной в строке. Иначе при вызове messages.send будет возвращена ошибка.

Поле
Тип
Описание
type обязательное
string
Тип кнопки. Значение: vkpay.
hash обязательное
string
Строка с параметрами платежа VK Pay и идентификатором приложения в параметре aid, разделёнными символом &. Пример: action=transfer-to-group&group_id=1&aid=10.
payload необязательное
string
Дополнительные данные в формате JSON-строки. Отправляются серверу бота в сообщении message_new в поле payload. Максимальная длина — 255 символов. Строка должна начинаться и заканчиваться фигурными скобками.

open_link

Открывает ссылку, указанную в поле link.

Поле
Тип
Описание
type обязательное
string
Тип кнопки. Значение: open_link.
link обязательное
string
URL, который будет открыт при нажатии на кнопку.
label обязательное
string
Текст кнопки.
payload необязательное
string
Дополнительные данные в формате JSON-строки. Отправляются серверу бота в сообщении message_new в поле payload. Максимальная длина — 255 символов. Строка должна начинаться и заканчиваться фигурными скобками.

open_app

Открывает мини-приложение или игру по идентификатору, указанному в параметре app_id.

Мини-приложение, добавленное в сообщество, может передавать данные боту через Callback или LongPoll API. Подробнее — в разделе Взаимодействие с приложением.

Поле
Тип
Описание
type обязательное
string
Тип кнопки. Значение: open_app.
app_id обязательное
integer
Идентификатор мини-приложения или игры. Где найти идентификатор приложения?
label обязательное
string
Текст кнопки, например Играть.
owner_id необязательное
integer
Идентификатор сообщества, в котором установлено приложение, если его требуется открыть в контексте сообщества. Где найти идентификатор сообщества?
hash необязательное
string
Хеш для навигации в приложении, он будет передан в строке параметров запуска после символа #.
payload необязательное
string
Дополнительные данные в формате JSON-строки. Отправляются серверу бота в сообщении message_new в поле payload. Максимальная длина — 255 символов. Строка должна начинаться и заканчиваться фигурными скобками.

callback

Callback-кнопки позволяют обрабатывать нажатия без отправки пользователем сообщения в чат.На сервер бота отправляется событие message_event, содержащее информацию о нажатии кнопки. Используйте payload для идентификации кнопки и выполнения серверной логики. Подробнее — в разделе Работа с callback-кнопками.

Поле
Тип
Описание
type обязательное
string
Тип кнопки. Значение: callback.
label обязательное
string
Текст кнопки. Максимальная длина — 40 символов. После нажатия на кнопку текст на ней сменяется курсором, означающим ожидание.
payload необязательное
string
Дополнительные данные в формате JSON-строки. Отправляются серверу бота в сообщении message_new в поле payload. Максимальная длина — 255 символов. Строка должна начинаться и заканчиваться фигурными скобками. Если на клавиатуре несколько callback-кнопок, используйте это значение, чтобы идентифицировать кнопку, которую нажал пользователь.

Для кнопки можно указать цвет.

Материалы по теме