Перейти к основному содержимому

inlineButtons

Чтобы вывести инлайн-кнопки в чате, используйте тип ответа inlineButtons.

Инлайн-кнопки — это кнопки, которые отображаются внутри диалога в виде реплик чат-бота. При нажатии на инлайн‑кнопку пользователь будет перенаправлен на указанный URL.

подсказка
Вы также можете использовать DSL-тег inlineButtons или метод $reactions.inlineButtons. Кнопки, созданные этими способами, имеют расширенную функциональность: можно задавать переходы в другие стейты, а также передавать данные для функций обратного вызова.

Свойства

Ответы с типом inlineButtons принимают свойство buttons — массив объектов, описывающих кнопки. Каждый объект содержит следующие свойства:

СвойствоТипОбязательныйОписание
textСтрокаДаТекст кнопки.
urlСтрокаНетСсылка на страницу, куда будет перенаправлен пользователь по нажатию кнопки.
Если свойство не указано, то при нажатии на кнопку в чат будет отправлено сообщение с текстом кнопки.

Синтаксис

{
"type": "inlineButtons",
"buttons": [
{
"text": "Кнопка 1",
"url": "https://example.com"
},
{
"text": "Кнопка 2",
"url": "https://example.com/2/"
}
]
}

Ограничения на каналы

Поддерживается только в следующих каналах:

  • Алиса
  • ВКонтакте
  • Маруся
  • Чат-виджет
  • Салют
  • Chat API
  • Chat2Desk
  • i-Digital WhatsApp
  • Telegram
  • Viber
предупреждение
Некоторые каналы имеют ограничения на кнопки, например, их максимальное количество в одном сообщении. Обратитесь к статье Возможности и ограничения каналов, чтобы подробнее ознакомиться с этими ограничениями.

Использование в сценарии

state: TrackPackage
a: Вы можете отследить вашу посылку по трек-номеру на нашем сайте.
script:
$response.replies = $response.replies || [];
$response.replies.push({
"type": "inlineButtons",
"buttons": [{"text": "Отследить посылку", "url": "https://example.com/trackPackage"}]
});