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
  • Google Assistant
  • 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"}]
        });