Plantilla de contenido multimedia

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.

Solo imágenes y vídeos

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.

Contenido

Enviar contenido multimedia por identificador de elemento adjunto

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.

Volver a usar elementos multimedia desde URL de Facebook

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

Enviar contenido multimedia por URL de Facebook

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.

Solo URL de Facebook

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

Obtener la URL de Facebook

Para obtener la URL de Facebook de una imagen o un vídeo, sigue estos pasos:

  1. Haz clic en la imagen en miniatura del vídeo o la imagen para abrir la visualización a 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 contenido multimediaFormato de la URL

Vídeo

Página de Facebook

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

Vídeo

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>

Añadir un botón

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

Respuesta de la API

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