Se actualizó este documento.
La traducción en español no está disponible todavía.
Actualización del documento en inglés: 11 sep. 2023

Referencia de la API de subida de archivos adjuntos

La API de subida de archivos adjuntos te permite cargar activos que pueden enviarse en mensajes posteriores. De esta manera, no será necesario que cargues varias veces los archivos que se utilizan con frecuencia. La API admite que se guarden activos de la URL y del sistema de archivos local.

También puedes usar la API de envío para enviar de manera simultánea un mensaje con un archivo adjunto y guardarlo para utilizarlo más adelante. Para obtener más información, consulta la referencia de la API de envío.

Carga de un archivo adjunto

Para cargar un archivo adjunto, envía una solicitud POST al punto de conexión /Your-page-id/message_attachment con message.attachment con type y payload. Para poder usar el recurso en varios mensajes, configura payload.is_reusable en true.

Ejemplo de solicitud de subida desde una URL

El formato se modificó para facilitar la lectura. Reemplaza los valores en negrita y cursiva, como page_access_token, por tus valores.

curl -X POST "https://graph.facebook.com/v19.0/Your-page-id/message_attachment" \
     -H "Content-Type: application/json" \
     -d '{
           "access_token":"Your_page_access_token",
           "message":{
             "attachment":{
               "type":"image", 
               "payload":{
                 "url":"https.your-url.com/image.jp",
                 "is_reusable": true
               }
             }
           }
         }'

Ejemplo de solicitud de subida desde un archivo

El formato se modificó para facilitar la lectura. Reemplaza los valores en negrita y cursiva, como page_access_token, por tus valores.

curl -X POST "https://graph.facebook.com/v19.0/Your-page-id/message_attachment" \
     -H "Content-Type: application/json" \
     -d '{
           "access_token":"Your_page_access_token",
           "message":{
             "attachment":{
               "type":"image"
             }
           },
           "filedata":"@/path-to-your-file/image.png";"type":"image/png"
         }'

Si la operación se completa con éxito, la app recibirá un objeto JSON con attachment_id configurado en el identificador del archivo adjunto que se usará en los mensajes.

{"attachment_id": "Your-attachment-ID"}

Envía un mensaje con el recurso subido

Para enviar un mensaje con un recurso que subiste previamente, subido con message.attachment.payload.is_reusable configurado en true, envía una solicitud POST al punto de conexión /Your-page-id/messages con recipient.id, y el objeto message.attachment con type y payload.attachment_id.

Ejemplo de solicitud de subida desde un archivo

El formato se modificó para facilitar la lectura. Reemplaza los valores en negrita y cursiva, como page_access_token, por tus valores.

curl -X POST "https://graph.facebook.com/v19.0/Your-page-id/messages" \
     -H "Content-Type: application/json" \
     -d '{
           "access_token":"Your_page_access_token",
           "message":{
             "attachment":{
               "type":"image",
               "payload":{
                 "attachment_id":"Your-attachment-ID"
               }
             }
           }
         }'

Si la operación se realiza con éxito, la app recibirá un objeto JSON con success configurado para configurar en true.

{"success": "true"}

Propiedades

En el caso de archivos adjuntos de una URL, proporciona las propiedades del proceso en el cuerpo de la solicitud como objeto JSON. En el caso de los archivos adjuntos de un archivo, envía las propiedades como datos.

message

Description of the message to be sent.
Property Type Description

message.attachment

Object

An object describing attachments to the message.

message.attachment

Propiedad Tipo Descripción

type

Cadena

El tipo de adjunto. Debe ser alguno de los siguientes:

  • imagen
  • video
  • audio
  • archivo

payload

Objeto

El objeto payload que describe el archivo adjunto.

message.attachment.payload

Propiedad Tipo Descripción

url

Cadena

Opcional. URL del archivo que se debe cargar. El tamaño máximo de archivo es 8 MB en el caso de las imágenes, y de 25 MB, para todos los demás tipos de archivos (después de la codificación). Los videos tienen un tiempo de espera de 75 segundos; los demás tipos de archivos, de 10 segundos.

is_reusable

Booleano

Opcional. Configurado en true para que se pueda enviar el activo guardado a otros destinatarios de mensajes. Adopta false como valor predeterminado.

Códigos de error

Código de errorSubcódigoMensaje

100

2018074

Posible identificador no válido o no posees el archivo adjunto.

100

2018008

Error al obtener el archivo de la URL. Verifica que la URL sea válida, cuente con un certificado SSL y un tamaño de archivo válidos, y que el servidor responde lo suficientemente rápido para evitar exceder los tiempos de espera.

100

2018294

La carga del video excedió el tiempo de espera o está corrupto. Ten en cuenta, si no se obtiene el video dentro de 75 segundos, se excederá el tiempo de espera.

100

2018047

Error en la carga del archivo adjunto. Una forma común de activar este error es que el tipo de contenido multimedia proporcionado no coincida con el tiempo de archivo que se proporcionó en la URL.