Guardar activos

Para optimizar el envío de activos, puedes hacer que la plataforma de Messenger los guarde al enviarlos. Esta función resulta útil si tienes pensado enviar los mismos archivos adjuntos varias veces, ya que no es necesario subirlos con cada solicitud.

En la plataforma de Messenger, hay dos API con las que puedes guardar los activos para utilizarlos más adelante: la API de envío y la API de subida de adjuntos. Ambas API te permiten guardar activos desde una URL o tu sistema de archivos local.

Contenido

Tipos de activos admitidos

En la plataforma de Messenger se admiten los siguientes tipos de activos de hasta 25 MB:

  • image
  • audio: el encabezado Content-Type debe usar el tipo audio. Por ejemplo, audio/mp3.
  • video
  • file

Guardar con la API de envío

Gracias a la API de envío, puedes guardar un activo que hayas enviado en un mensaje, en lugar de subirlo con antelación mediante la API de subida de adjuntos. Para hacerlo, envía una solicitud POST con la propiedad payload.is_reusable establecida como true al extremo /messages.

Guardar desde una URL

Especifica la URL de origen en la propiedad payload.url del objeto attachment del mensaje para guardar un activo desde ella:

{
  "recipient":{
    "id":"

For a complete list of API calls and request properties, see the Send API Reference.

Guardar desde un archivo

Para guardar un activo desde tu sistema de archivos local, envía la solicitud de mensaje como datos de formulario a la API de envío y especifica la ubicación del archivo en el campo filedata de la solicitud:

curl  \
  -F 'recipient={"id":"<PSID>"}' \
  -F 'message={"attachment":{"type":"<ASSET_TYPE>", "payload":{"is_reusable":true}}}' \
  -F 'filedata=@/tmp/shirt.png;type=image/png' \
  "https://graph.facebook.com/v21.0/me/messages?access_token=<PAGE_ACCESS_TOKEN>"  
  

For a complete list of API calls and request properties, see the Send API Reference.

Respuesta de la API

La respuesta incluirá la propiedad attachment_id, que puedes utilizar para adjuntar el activo en tus próximos mensajes. Ten en cuenta que este identificador es privado y solo puede reutilizarlo la página que envió el archivo adjunto originalmente.

{
  "recipient_id": "1254444444682919",
  "message_id": "mid.$cAAJsujCd2ORkHh27-ld7NhzuqrUK",
  "attachment_id": "687799999980546"
}

Guardar con la API de subida de adjuntos

Con la API de subida de adjuntos, puedes subir activos con antelación. Esta función resulta útil si ya sabes que tendrás que enviar un activo concreto de forma repetida. Para hacerlo, envía una solicitud POST al extremo /message_attachments.

Para obtener una lista completa de las llamadas a la API y las propiedades de la solicitud, consulta la referencia de la API de carga de adjuntos.

Guardar desde una URL

Especifica la URL de origen en la propiedad payload.url del objeto attachment del mensaje para guardar un activo desde ella:

curl -X POST -H "Content-Type: application/json" -d '{
  "message":{
    "attachment":{
      "type":"image", 
      "payload":{
        "is_reusable": true,
        "url":"http://www.messenger-rocks.com/image.jpg"
      }
    }
  }
}' "https://graph.facebook.com/v2.6/me/message_attachments?access_token=<PAGE_ACCESS_TOKEN>"

Para obtener una lista completa de las llamadas a la API y las propiedades de la solicitud, consulta la referencia de la API de carga de adjuntos.

Guardar desde un archivo

Para guardar un activo desde tu sistema de archivos local, envía la solicitud de mensaje como datos de formulario a la API de subida de adjuntos y especifica la ubicación del archivo en el campo filedata de la solicitud:

curl  \
  -F 'recipient={"id":"<PSID>"}' \
  -F 'message={"attachment":{"type":"<ASSET_TYPE>", "payload":{"is_reusable":true}}}' \
  -F 'filedata=@/tmp/shirt.png;type=image/png' \
  "https://graph.facebook.com/v21.0/me/messages?access_token=<PAGE_ACCESS_TOKEN>"  
  

Respuesta de la API

La respuesta incluirá la propiedad attachment_id, que puedes utilizar para adjuntar el activo en tus próximos mensajes. Ten en cuenta que este identificador es privado y solo puede reutilizarlo la página que envió el archivo adjunto originalmente.

{
  "attachment_id":"1857777774821032"
}

Enviar activos guardados

Una vez que tengas una propiedad attachment_id para el activo guardado, puedes utilizarla para adjuntarlo a un mensaje. Para obtener más información, consulta Enviar mensajes, Adjuntar activos guardados.

Ayuda para desarrolladores