A maioria dos modelos de mensagem, assim como o menu persistente, é compatível com botões que invocam diferentes tipos de ação. Esses botões permitem que você ofereça facilmente, ao destinatário da mensagem, ações que poderão realizar em resposta ao modelo, como abrir o WebView do Messenger, iniciar um fluxo de pagamento, enviar uma mensagem de postback ao webhook e outras.
Para modelos de mensagens, os botões são definidos por objetos na matriz buttons
. Para o menu persistente, os botões são definidos por objetos na matriz call_to_actions
.
O botão URL abre uma página da web no webView do Messenger. Isso permite que você enriqueça a conversa com uma experiência baseada na web, em que você conta com toda a flexibilidade de desenvolvimento da web. Por exemplo, você poderia exibir o resumo de um produto na conversa, depois usar o botão URL para abrir a página completa do produto no seu site.
Caso o site tenha links de apps, o botão iniciará o app nativo especificado.
O rastreador do Facebook precisa ler as metatags do link do app para que o redirecionamento funcione. Se você tiver implementado recentemente as tags no seu site, será possível solicitar uma nova raspagem com a ferramenta Depurador de Compartilhamento. Depois que o rastreador fizer a raspagem do site, os novos botões URL enviados deverão seguir o comportamento de redirecionamento.
O botão URL é compatível com o uso do seguinte:
Para exibir uma página da web com o SDK das Extensões do Messenger ativado no webView da plataforma, é obrigatório adicionar o domínio (inclusive o subdomínio) à lista de liberação na propriedade whitelisted_domains
do perfil do Messenger do seu bot. Isso garantirá que apenas domínios confiáveis tenham acesso aos dados do usuário disponíveis com as funções do SDK.
Consulte a referência de whitelisted_domains
para saber mais sobre a inclusão de domínios na lista de liberação.
Para ver uma lista completa das propriedades do botão, consulte Referência do botão URL.
{
"type": "web_url",
"url": "
O botão de postback envia um evento messaging_postbacks
para o seu webhook com a string definida na propriedade payload
. Isso permite que você realize ações arbitrárias quando o botão for tocado. Por exemplo, você poderia exibir uma lista de produtos, depois enviar o número de identificação do produto no postback ao seu webhook, onde poderia ser usada para consultar seu banco de dados e retornar os detalhes sobre o produto na forma de uma mensagem estruturada.
O botão de postback é compatível com o uso do seguinte:
Para ver uma lista completa das propriedades do botão, consulte Referência do botão de postback.
{
"type": "postback",
"title": "
O botão Chamar disca um número de telefone quando tocado. O número de telefone deve estar no formato +<COUNTRY_CODE><PHONE_NUMBER>
(por exemplo, +15105559999
).
O botão de chamada é compatível com o uso do seguinte:
Para ver uma lista completa das propriedades do botão, consulte Call Button Reference.
{
"type":"phone_number",
"title":"
O botão Entrar é usado no fluxo de vinculação de conta para vincular a identidade do destinatário da mensagem no Messenger com a conta dele no seu site, direcionando a pessoa ao seu fluxo de login baseado na web para autenticação.
Para saber mais sobre como usar o botão Entrar para vinculação de conta, consulte Vinculação de conta.
O botão de login é compatível com o uso do seguinte:
Para ver uma lista completa das propriedades do botão, consulte Log In Button Reference.
{
"type": "account_link",
"url": "
O botão Sair é usado no fluxo de vinculação de conta para desvincular a identidade do destinatário da mensagem no Messenger com a conta dele no seu site.
Para saber mais sobre como usar o botão Sair para desvinculação de conta, consulte Vinculação de Conta.
O botão de logout é compatível com o uso do seguinte:
Para ver uma lista completa das propriedades do botão, consulte Log Out Button Reference.
{
"type": "account_unlink"
}
O botão de jogo abre um Jogo Instantâneo que estiver associado à sua Página do Facebook. Para personalizar a abertura do jogo, defina a propriedade payload
na solicitação que será enviada para o jogo ao iniciar, bem como a propriedade opcional game_metadata.player_id
ou game_metadata.context_id
. Isso permite que o bot inicie o jogo em um contexto específico contra um jogador ou grupo existente.
A propriedade payload
deve estar serializada em JSON. É desserializada pelo SDK dos Jogos Instantâneos.
Para ver uma lista completa das propriedades do botão, consulte Game Play Button Reference.
{
"type":"game_play",
"title":"Play",
"payload":"{<SERIALIZED_JSON_PAYLOAD>}",
"game_metadata": { // Only one of the below
"player_id": "<PLAYER_ID>",
"context_id": "<CONTEXT_ID>"
}
}
Consulte messaging_game_plays Webhook Event Reference para o evento que será enviado ao bot quando um usuário terminar uma rodada no jogo.
Use os botões para solicitar acompanhamento ou interação adicional com uma determinada mensagem.
Comece com um verbo para ajudar as pessoas a entender a ação que elas estão realizando.
Use os botões URL para as tarefas que você deseja ver concluídas no site (por exemplo, compras, vinculação de conta etc.). Deixe claro que as pessoas sairão do Messenger.
Envie uma resposta quando uma pessoa tocar em um botão de chamada. Isso confirma que você processou ou concluiu a ação dela (por exemplo, cancelamento de reserva, resposta a uma dúvida).
Não use botões quando a ação delas depender do estado atual do bot, pois esses botões ficarão permanentemente disponíveis no tópico.
Não use mais de três palavras nem pontuação. Tente manter seu texto até 20 caracteres, incluindo espaços.
Não use URLs em todos os botões. Quanto mais interações você criar no Messenger, melhor será a experiência.
Não use um único botão de chamada. Quando há somente um botão, as pessoas pensam que é uma continuação do texto da mensagem e não entendem que é uma ação a ser realizada.