Per ottimizzare l'invio di risorse, puoi chiedere alla Piattaforma Messenger di salvare una risorsa quando viene inviata. Questo è utile se hai intenzione di inviare ripetutamente gli stessi allegati, poiché elimina la necessità di caricare una risorsa ad ogni richiesta.
La Piattaforma Messenger offre due API che consentono di salvare risorse per un utilizzo successivo: l'API Send e l'API Attachment Upload. Entrambe le API supportano il salvataggio delle risorse da un URL e dal tuo file system locale.
La Piattaforma Messenger supporta il salvataggio dei seguenti tipi di risorse, fino a 25 MB di dimensioni:
Content-Type
deve utilizzare il tipo audio
. Ad esempio, audio/mp3
.L'API Send ti permette di salvare una risorsa inviata con un messaggio, come alternativa al caricamento anticipato con l'API Attachment Upload. Per eseguire questa operazione, invia una richiesta POST
con payload.is_reusable
impostato su true
all'endpoint /messages
.
Per salvare una risorsa da un URL, specifica l'URL di origine nella proprietà payload.url
dell'oggetto attachment
del tuo messaggio:
{
"recipient":{
"id":"
For a complete list of API calls and request properties, see the Send API Reference.
Per salvare una risorsa dal file system locale, invia la tua richiesta di messaggio all'API Send come dati del modulo e specifica la posizione del file nel campo filedata
della richiesta:
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 risposta conterrà un attachment_id
che può essere utilizzato per allegare la risorsa ai messaggi futuri. Tieni presente che questo ID è privato e solo la pagina che ha inviato l'allegato può riutilizzarlo.
{
"recipient_id": "1254444444682919",
"message_id": "mid.$cAAJsujCd2ORkHh27-ld7NhzuqrUK",
"attachment_id": "687799999980546"
}
L'API Attachment Upload ti consente di caricare risorse in anticipo. Questo è utile se sai in anticipo che dovrai inviare ripetutamente determinate risorse. Per eseguire questa operazione, invia una richiesta POST
all'endpoint /message_attachments
.
Per una lista completa delle chiamate API e delle proprietà della richiesta, consulta il riferimento per l'API Attachment Upload.
Per salvare una risorsa da un URL, specifica l'URL di origine nella proprietà payload.url
dell'oggetto attachment
del tuo messaggio:
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>"
Per una lista completa delle chiamate API e delle proprietà della richiesta, consulta il riferimento per l'API Attachment Upload.
Per salvare una risorsa dal file system locale, invia la tua richiesta di messaggio all'API Attachment Upload come dati del modulo e specifica la posizione del file nel campo filedata
della richiesta:
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 risposta conterrà un attachment_id
che può essere utilizzato per allegare la risorsa ai messaggi futuri. Tieni presente che questo ID è privato e solo la pagina che ha inviato l'allegato può riutilizzarlo.
{
"attachment_id":"1857777774821032"
}
Una volta ottenuto l'attachment_id
per la risorsa salvata, puoi usarlo per allegarla a un messaggio. Per maggiori informazioni, consulta Invio di messaggi - Allegare risorse salvate.