Кнопки

В большинстве шаблонов сообщений, а также в постоянных меню поддерживаются кнопки, вызывающие действия определенных типов. С помощью этих кнопок можно предложить получателю сообщения выполнить те или иные действия в ответ на шаблон, например открыть режим веб-просмотра Messenger, запустить процесс оплаты, отправить обратное сообщение вашему объекту Webhooks и т. п.

Для шаблонов сообщений кнопки определяются объектами в массиве buttons. Для постоянных меню кнопки определяются объектами в массиве call_to_actions.

Кнопка с URL

Кнопка с URL открывает веб-страницу в режиме веб-просмотра Messenger. Она позволяет добавить в беседу гибкие функции и возможности, связанные с веб-страницами. Например, можно добавить в разговор сводную информацию о продукте и кнопку с URL, которая открывает страницу с подробными сведениями о нем на вашем сайте.

Если сайт содержит App Links, кнопка запускает указанное нативное приложение.

Чтобы перенаправление работало, у краулера Facebook должна быть возможность прочитать метатеги App Links. Обратите внимание: если вы только добавили теги на свой сайт, то можете запросить новый скрапинг с помощью отладчика репостов. После того как краулер обработает ваш сайт, для новых кнопок с URL должно выполняться перенаправление.

Поддерживаемые режимы использования

Кнопки с URL можно использовать в следующих компонентах:

  • постоянное меню;
  • общий шаблон;
  • шаблон списка;
  • шаблон кнопки;
  • медиашаблон.

SDK расширений Messenger — обязательное внесение доменов в белый список

Для отображения веб-страницы с включенным 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":"{

Описание события, которое отправляется боту, когда пользователь завершает раунд игры, см. в разделе о событии Webhooks "Запуск игры".

Кнопка бронирования

Кнопка бронирования позволяет отправить пользователям приглашение для бронирования. Перед отправкой пользователю приглашения для бронирования необходимо настроить на странице календарь и указать часы работы. При нажатии этой кнопки открывается нативный пользовательский интерфейс бронирования.

Полный список свойств кнопки см. в справке по кнопке бронирования.

Формат кнопки

{
  "type": "booking"
}

Рекомендации

Используйте кнопки, чтобы предложить пользователю прореагировать на определенное сообщение или продолжить взаимодействие.

Начинайте надпись с глагола, чтобы пользователи понимали, какое действие они выполняют.

Используйте кнопки с URL для задач, которые должны выполняться на сайте (таких как покупки, связывание аккаунтов и т. п.). Явно обозначьте, что вы перенаправляете людей за пределы Messenger.

Отправляйте ответ, после того как пользователь нажимает кнопку обратного вызова. Это подтвердит, что вы обработали или выполнили действие (например, отмену бронирования или ответ на вопрос).

Не используйте кнопки, если их действие зависит от текущего состояния бота, так как они будут доступны в беседе на постоянной основе.

Не используйте более 1–3 слов и знаки препинания. Старайтесь ограничиться 20 символами, включая пробелы.

Не прикрепляйте URL к каждой кнопке. Чем больше взаимодействий вы сможете организовать внутри Messenger, тем удобнее это будет для пользователей.

Не размещайте единственную кнопку обратного вызова. Если показана только одна кнопка, люди часто думают, что это продолжение вашего сообщения, и не понимают, что это действие, к которому вы призываете.