Modelo de mídia

O modelo de mídia permite que você envie imagens, GIFs e vídeo como uma mensagem estruturada com um botão opcional. Os vídeos e os GIFs animados enviados com o modelo de mídia podem ser reproduzidos na conversa.

O modelo de mídia pode ser enviado por meio da API de envio e do WebView do Messenger com a função beginShareFlow() do SDK da Extensão do Messenger.

Somente vídeo e imagens

Atualmente, o modelo de mídia só é compatível com o envio de imagens e de vídeo. Não há suporte para áudio no momento.

Sumário

Como enviar mídia pelo número de identificação do anexo

Para enviar uma imagem, envie uma solicitação POST à API de envio, com a seguinte propriedade payload no corpo da solicitação, onde attachment_id é um número de identificação gerado por meio da API de carregamento de anexos. Para solicitações usando a propriedade attachment_id, as imagens e os vídeos têm suporte.

Para obter detalhes completos da propriedade da solicitação, confira a Referência do modelo de mídia.

Como reutilizar mídia de URLs do Facebook

Os números de identificação dos anexos não têm suporte para mídia de URLs do Facebook. Esses arquivos já estão em cache e devem ser anexados ao modelo de mídia com a respectiva URL do Facebook.

curl -X POST -H "Content-Type: application/json" -d '{
  "recipient":{
    "id":"<PSID>"
  },
  "message":{
    "attachment": {
      "type": "template",
      "payload": {
         "template_type": "media",
         "elements": [
            {
               "media_type": "<image|video>",
               "attachment_id": "<ATTACHMENT_ID>"
            }
         ]
      }
    }    
  }
}' "https://graph.facebook.com/v2.6/me/messages?access_token=<PAGE_ACCESS_TOKEN>"

Como enviar mídia pela URL do Facebook

O modelo de mídia permite que você envie fotos e vídeos carregados no Facebook por meio do envio de uma solicitação POST para o ponto de extremidade /messages com a URL do Facebook na propriedade url da solicitação:

Para obter detalhes completos da propriedade da solicitação, confira a Referência do modelo de mídia.

Somente URLs do Facebook

O modelo de mídia não permite nenhuma URL externa, somente as do Facebook. Para enviar uma imagem ou um vídeo com uma URL externa, carregue o conteúdo usando a API de carregamento de anexos e receba um attachment_id.

curl -X POST -H "Content-Type: application/json" -d '{
  "recipient":{
    "id":"<PSID>"
  },
  "message":{
    "attachment": {
      "type": "template",
      "payload": {
         "template_type": "media",
         "elements": [
            {
               "media_type": "<image|video>",
               "url": "<FACEBOOK_URL>"
            }
         ]
      }
    }    
  }
}' "https://graph.facebook.com/v2.6/me/messages?access_token=<PAGE_ACCESS_TOKEN>"

Como obter a URL do Facebook

Para obter a URL do Facebook para uma imagem ou um vídeo, faça o seguinte:

  1. Clique na miniatura do vídeo ou da imagem para abrir a visualização em tamanho real.
  2. Copie a URL da barra de endereços do navegador.

As URLs do Facebook devem estar no seguinte formato de base:

Tipo de mídiaOrigem da mídiaFormato da URL

Vídeo

Página do Facebook

https://business.facebook.com/<PAGE_NAME>/videos/<NUMERIC_ID>

Vídeo

Conta do Facebook

https://www.facebook.com/<USERNAME>/videos/<NUMERIC_ID>/

Imagem

Página do Facebook

https://business.facebook.com/<PAGE_NAME>/photos/<NUMERIC_ID>

Imagem

Conta do Facebook

https://www.facebook.com/photo.php?fbid=<NUMERIC_ID>

Como adicionar um botão

Opcionalmente, os botões também podem ser anexados ao modelo de mídia. O número e os tipos de botão com suporte variam, dependendo de você estar usando o modelo de mídia com os SDKs das Extensões do Messenger beginShareFlow() ou enviando-o com a API de envio:

  • Send API: é possível anexar até três botões de qualquer tipo.
  • beginShareFlow(): somente um botão do tipo URL pode ser anexado.

Para adicionar um botão ao seu modelo de mídia, adicione uma matriz buttons à definição do modelo no corpo da sua solicitação.

Para obter mais informações sobre os botões disponíveis, consulte Botões.

"elements": [
   {
      "media_type": "image",
      "url": "<MEDIA_URL>",
      "buttons": [
         {
            "type": "web_url",
            "url": "<WEB_URL>",
            "title": "View Website",
         }
      ]
   }
]

Resposta da API

Sem bem-sucedida, a Plataforma do Messenger responderá com o recipient_id e o message_id da mensagem enviada:

{
  "recipient_id": "1254477777772919",
  "message_id": "AG5Hz2Uq7tuwNEhXfYYKj8mJEM_QPpz5jdCK48PnKAjSdjfipqxqMvK8ma6AC8fplwlqLP_5cgXIbu7I3rBN0P"
}