buttons
Чтобы вывести кнопки в чате, используйте тип ответа buttons
.
подсказка
Вы также можете использовать DSL-тег
buttons
или метод $reactions.buttons
.
Кнопки, созданные этими способами, имеют расширенную функциональность:
можно задавать переходы в другие стейты,
а также передавать различные объекты, например, для запроса локации или номера пользователя.Свойства
Ответы с типом buttons
принимают свойство buttons
— массив объектов, описывающих кнопки.
Каждый объект содержит строковое свойство text
— текст кнопки.
Синтаксис
{
"type": "buttons",
"buttons": [
{"text": "Кнопка 1"},
{"text": "Кнопка 2"}
]
}
Особенности использования
- При нажатии на кнопку в чат будет отправлен текст кнопки.
- Если вы добавляете несколько кнопок, то они будут расположены на одной строке.
Ограничения на каналы
Не поддерживается в следующих каналах:
- edna WhatsApp 2.0.
- Telegram: в чат-ботах для бизнес-аккаунтов.
- Vonage.
- Битрикс24.
- Одноклассники.
- Телефонный канал.
предупреждение
Некоторые каналы имеют ограничения на кнопки, например, их максимальное количество в одном сообщении.
Обратитесь к статье Возможности и ограничения каналов, чтобы подробнее ознакомиться с этими ограничениями.
Использование в сценарии
state: Question
a: Какой у вас вопрос?
script:
$response.replies = $response.replies || [];
$response.replies.push({
"type": "buttons",
"buttons": [
{"text": "Вопрос по продукту"},
{"text": "Вопрос по заказу"},
{"text": "Техподдержка"}
]
});
state: ContactSupport
q: * Техподдержка *
a: Минуточку… Перевожу на оператора технической поддержки.
script:
$response.replies = $response.replies || [];
$response.replies.push({
"type": "switch",
"firstMessage": $jsapi.chatHistory(),
"closeChatPhrases": ["/closeLiveChat", "Закрыть диалог"]
});