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.
En la plataforma de Messenger se admiten los siguientes tipos de activos de hasta 25 MB:
Content-Type
debe usar el tipo audio
. Por ejemplo, audio/mp3
.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
.
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.
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.
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"
}
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.
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.
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>"
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"
}
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.