La plantilla de elementos multimedia te permite enviar imágenes, GIF y videos como un mensaje estructurado con un botón opcional. Los videos y los GIF animados que se envíen con la plantilla de elementos multimedia se pueden reproducir en la conversación.
La plantilla de elementos multimedia se puede enviar a través de la API de envío y desde la vista web de Messenger con la función beginShareFlow()
del SDK para la extensión de Messenger.
Actualmente, la plantilla de elementos multimedia solo admite el envío de imágenes y videos. Por el momento, el audio no es compatible.
Para enviar una imagen, envía una solicitud POST
a la API de envío, con la siguiente propiedad payload
en el cuerpo de la solicitud, en la que attachment_id
es un identificador generado por la API de subida de archivos adjuntos. Para las solicitudes que usan la propiedad attachment_id
, se admiten imágenes y videos.
Para obtener información detallada sobre las propiedades de la solicitud, consulta Referencia de plantillas de elementos multimedia.
Los identificadores de archivos adjuntos no se admiten para los elementos multimedia de URL de Facebook. Estos archivos ya están almacenados en caché, por lo que deben ir adjuntos a la plantilla de elementos multimedia con su URL de 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>"
La plantilla de elementos multimedia te permite enviar videos y fotos subidos a Facebook enviando una solicitud POST
al extremo /messages
con la URL de Facebook en la propiedad url
de la solicitud:
Para obtener información detallada sobre las propiedades de la solicitud, consulta Referencia de plantillas de elementos multimedia.
La plantilla de elementos multimedia no permite ninguna URL externa, solo las de Facebook. Para enviar una imagen o un video con una URL externa, súbelos usando la API de subida de archivos adjuntos y obtén un 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 obtener la URL de Facebook de una imagen o un video, sigue estos pasos:
Las URL de Facebook deben tener el siguiente formato de base:
Tipo de contenido multimedia | Origen del elemento multimedia | Formato de la URL |
---|---|---|
Video | Página de Facebook |
|
Video | Cuenta de Facebook |
|
Imagen | Página de Facebook |
|
Imagen | Cuenta de Facebook |
|
De manera opcional, los botones también se pueden adjuntar a la plantilla de elementos multimedia. La cantidad y los tipos de botones admitidos varían en función de si usas la plantilla de elementos multimedia con beginShareFlow()
del SDK para la extensión de Messenger o si la envías con la API de envío:
Send API
: se pueden adjuntar hasta tres botones de cualquier tipo.beginShareFlow()
: solo se puede adjuntar un botón de tipo URL.Para adjuntar un botón a la plantilla de elementos multimedia, agrega una matriz buttons
a la definición de la plantilla en el cuerpo de la solicitud.
Para obtener más información sobre los botones disponibles, consulta la sección Botones.
"elements": [
{
"media_type": "image",
"url": "<MEDIA_URL>",
"buttons": [
{
"type": "web_url",
"url": "<WEB_URL>",
"title": "View Website",
}
]
}
]
Si se realiza correctamente la operación, la plataforma de Messenger responderá con el recipient_id
y el message_id
del mensaje enviado:
{ "recipient_id": "1254477777772919", "message_id": "AG5Hz2Uq7tuwNEhXfYYKj8mJEM_QPpz5jdCK48PnKAjSdjfipqxqMvK8ma6AC8fplwlqLP_5cgXIbu7I3rBN0P" }