Plantilla de elementos multimedia

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.

Solo imágenes y videos

Actualmente, la plantilla de elementos multimedia solo admite el envío de imágenes y videos. Por el momento, el audio no es compatible.

Índice

Enviar elementos multimedia por identificador de archivo adjunto

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.

Volver a usar elementos multimedia de URL de Facebook

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>"

Enviar elementos multimedia por URL de Facebook

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.

Solo URL de Facebook

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>"

Obtener la URL de Facebook

Para obtener la URL de Facebook de una imagen o un video, sigue estos pasos:

  1. Haz clic en la imagen en miniatura de la imagen o el video para abrir la visualización en pantalla completa.
  2. Copia la URL desde la barra de direcciones del navegador.

Las URL de Facebook deben tener el siguiente formato de base:

Tipo de contenido multimediaOrigen del elemento multimediaFormato de la URL

Video

Página de Facebook

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

Video

Cuenta de Facebook

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

Imagen

Página de Facebook

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

Imagen

Cuenta de Facebook

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

Agregar un botón

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",
         }
      ]
   }
]

Respuesta de la API

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"
}