La plantilla de contenido multimedia te permite enviar imágenes, GIF y vídeos en forma de mensaje estructurado que puede incluir un botón. Los vídeos y los GIF animados que se envíen mediante esta plantilla se pueden reproducir en la conversación.
La plantilla de contenido 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 de extensiones de Messenger.
Actualmente, la plantilla de contenido multimedia solo admite el envío de imágenes y vídeos. Por el momento, el audio no es compatible.
Para enviar una imagen, realiza 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 carga de archivos adjuntos. Para las solicitudes que usan la propiedad attachment_id
, se admiten imágenes y vídeos.
Si quieres obtener información detallada sobre las propiedades de la solicitud, consulta la referencia de plantillas de contenido multimedia.
Los identificadores de elementos adjuntos no pueden usarse con el contenido multimedia procedente de URL de Facebook. Estos archivos ya están almacenados en caché, por lo que deben ir adjuntos en la plantilla de contenido 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 contenido multimedia te permite enviar vídeos y fotos subidos a Facebook realizando una solicitud POST
al extremo /messages
con la URL de Facebook en la propiedad url
de la solicitud:
Si quieres obtener información detallada sobre las propiedades de la solicitud, consulta la referencia de plantillas de contenido multimedia.
La plantilla de contenido multimedia no permite ninguna URL externa, solo las de Facebook. Para enviar una imagen o un vídeo con una URL externa, súbelos usando la API de carga de elementos adjuntos y obtén un elemento 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 vídeo, sigue estos pasos:
Las URL de Facebook deben tener el siguiente formato de base:
Tipo de contenido multimedia | Origen del contenido multimedia | Formato de la URL |
---|---|---|
Vídeo | Página de Facebook |
|
Vídeo | Cuenta de Facebook |
|
Imagen | Página de Facebook |
|
Imagen | Cuenta de Facebook |
|
De manera opcional, también se pueden adjuntar botones a la plantilla de contenido multimedia. La cantidad y los tipos de botones admitidos varían en función de si usas la plantilla de contenido multimedia con la función beginShareFlow()
del SDK de extensiones de Messenger o 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 contenido multimedia, añade una matriz buttons
a la definición de la plantilla en el cuerpo de la solicitud.
Si quieres 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 los valores de recipient_id
y message_id
del mensaje enviado:
{ "recipient_id": "1254477777772919", "message_id": "AG5Hz2Uq7tuwNEhXfYYKj8mJEM_QPpz5jdCK48PnKAjSdjfipqxqMvK8ma6AC8fplwlqLP_5cgXIbu7I3rBN0P" }