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.
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.
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.
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>"
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.
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>"
Para obter a URL do Facebook para uma imagem ou um vídeo, faça o seguinte:
As URLs do Facebook devem estar no seguinte formato de base:
Tipo de mídia | Origem da mídia | Formato da URL |
---|---|---|
Vídeo | Página do Facebook |
|
Vídeo | Conta do Facebook |
|
Imagem | Página do Facebook |
|
Imagem | Conta do Facebook |
|
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",
}
]
}
]
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" }