В большинстве шаблонов сообщений, а также в постоянных меню поддерживаются кнопки, вызывающие действия определенных типов. С помощью этих кнопок можно предложить получателю сообщения выполнить те или иные действия в ответ на шаблон, например открыть режим веб-просмотра Messenger, запустить процесс оплаты, отправить обратное сообщение вашему объекту Webhooks и т. п.
Для шаблонов сообщений кнопки определяются объектами в массиве buttons
. Для постоянных меню кнопки определяются объектами в массиве call_to_actions
.
Кнопка с URL открывает веб-страницу в режиме веб-просмотра Messenger. Она позволяет добавить в беседу гибкие функции и возможности, связанные с веб-страницами. Например, можно добавить в разговор сводную информацию о продукте и кнопку с URL, которая открывает страницу с подробными сведениями о нем на вашем сайте.
Если сайт содержит App Links, кнопка запускает указанное нативное приложение.
Чтобы перенаправление работало, у краулера Facebook должна быть возможность прочитать метатеги App Links. Обратите внимание: если вы только добавили теги на свой сайт, то можете запросить новый скрапинг с помощью отладчика репостов. После того как краулер обработает ваш сайт, для новых кнопок с URL должно выполняться перенаправление.
Кнопки с URL можно использовать в следующих компонентах:
Для отображения веб-страницы с включенным SDK расширений Messenger в режиме веб-просмотра Messenger необходимо занести домен (включая субдомен) в белый список в свойстве whitelisted_domains
профиля Messenger вашего бота. Благодаря этому доступ к данным пользователя через функции SDK будет только у доверенных доменов.
Дополнительные сведения о занесении доменов в белый список см. в справке по whitelisted_domains
.
Полный список свойств кнопки см. в справке по кнопке с URL.
{
"type": "web_url",
"url": "
Кнопка обратного вызова отправляет вашему Webhooks событие messaging_postbacks
со строкой, заданной в свойстве payload
. Это позволяет реализовать произвольное действие при нажатии кнопки. Например, можно отобразить список продуктов, а затем отправить ID выбранного продукта в обратном вызове на Webhooks, и на основе этого ID будет составлен запрос к базе данных, возвращающий сведения о продукте в виде структурированного сообщения.
Кнопки обратного вызова можно использовать в следующих компонентах:
Полный список свойств кнопки см. в справке по кнопке обратного вызова.
{
"type": "postback",
"title": "
По нажатию кнопки звонка выполняется набор номера телефона. Номер телефона должен быть указан в формате +<COUNTRY_CODE><PHONE_NUMBER>
, например +15105559999
.
Кнопки звонка можно использовать в следующих компонентах:
Полный список свойств кнопки см. в справке по кнопке звонка.
{
"type":"phone_number",
"title":"
Кнопка входа используется в процессе связывания аккаунтов, в ходе которого получатель сообщения в Messenger перенаправляется на веб-страницу входа на вашем сайте для аутентификации, чтобы связать его личность с его аккаунтом на сайте.
Дополнительные сведения об использовании кнопки входа для связывания аккаунтов см. в статье о связывании аккаунтов.
Кнопку входа можно использовать в следующих компонентах:
Полный список свойств кнопки см. в справке по кнопке входа.
{
"type": "account_link",
"url": "
Кнопка выхода используется в процессе связывания аккаунтов и позволяет разорвать связь между личностью получателя сообщения в Messenger и его аккаунтом на вашем сайте.
Дополнительные сведения об использовании кнопки выхода для разрыва связи между аккаунтами см. в статье о связывании аккаунтов.
Кнопку выхода можно использовать в следующих компонентах:
Полный список свойств кнопки см. в справке по кнопке выхода.
{
"type": "account_unlink"
}
Эта кнопка запускает моментальную игру, связанную с вашей Страницей Facebook. Чтобы настроить параметры запуска игры, можно задать свойство payload
в запросе, который отправляется игре при ее открытии, а также воспользоваться необязательными свойствами game_metadata.player_id
и game_metadata.context_id
, позволяющими боту запустить игру в определенном контексте для одного игрока или существующей группы.
Свойство payload
должно представлять собой сериализованный объект JSON. Его десериализацию выполняет SDK моментальных игр.
Полный список свойств кнопки см. в справке по кнопке запуска игры.
{
"type":"game_play",
"title":"Play",
"payload":"{
Описание события, которое отправляется боту, когда пользователь завершает раунд игры, см. в разделе о событии Webhook "Запуск игры".
Используйте кнопки, чтобы предложить пользователю прореагировать на определенное сообщение или продолжить взаимодействие.
Начинайте надпись с глагола, чтобы пользователи понимали, какое действие они выполняют.
Используйте кнопки с URL для задач, которые должны выполняться на сайте (таких как покупки, связывание аккаунтов и т. п.). Явно обозначьте, что вы перенаправляете людей за пределы Messenger.
Отправляйте ответ, после того как пользователь нажимает кнопку обратного вызова. Это подтвердит, что вы обработали или выполнили действие (например, отмену бронирования или ответ на вопрос).
Не используйте кнопки, если их действие зависит от текущего состояния бота, так как они будут доступны в беседе на постоянной основе.
Не используйте более 1–3 слов и знаки препинания. Старайтесь ограничиться 20 символами, включая пробелы.
Не прикрепляйте URL к каждой кнопке. Чем больше взаимодействий вы сможете организовать внутри Messenger, тем удобнее это будет для пользователей.
Не размещайте единственную кнопку обратного вызова. Если показана только одна кнопка, люди часто думают, что это продолжение вашего сообщения, и не понимают, что это действие, к которому вы призываете.