ATTENZIONE: gli ID degli allegati scadono dopo 90 giorni. Dopo la scadenza dell'ID di un allegato, dovrai caricare di nuovo il contenuto multimediale per ottenere un nuovo ID allegato.
Anche se gli allegati riutilizzabili scadono dopo 90 giorni e non potranno essere nuovamente inviati, gli allegati nelle conversazioni non scadono mai e rimangono visibili finché un utente non elimina il messaggio dalla conversazione. Se il tuo caso d'uso lo consente, puoi combinare i passaggi di caricamento e invio come indicato di seguito per evitare questo problema TTL.
L'API Attachment Upload consente di caricare risorse che possono essere inviate nei messaggi in un secondo momento, evitando così di dover caricare più volte file di uso comune. L'API supporta il salvataggio delle risorse da un URL e dal tuo file system locale.
Puoi inoltre utilizzare l'API Send per inviare contemporaneamente un messaggio con un allegato e salvare l'allegato per un uso successivo. Per maggiori informazioni, vedi la sezione Caricamento e invio di seguito.
Per caricare un allegato invia una richiesta POST
all'endpoint </
Your-page-id
/message_attachments
con message.attachment
con type
e payload
. Per poter utilizzare la risorsa in più messaggi, imposta payload.is_reusable
su true
.
Formattato per una maggiore leggibilità. Sostituisci i valori corsivi in grassetto come page_access_token con i tuoi valori.
curl -X POST "https://graph.facebook.com/v21.0
/Your-page-id/message_attachments" \
-H "Content-Type: application/json" \
-d '{
"access_token":"Your_page_access_token",
"message":{
"attachment":{
"type":"image",
"payload":{
"url":"https://your-url.com/image.jpg",
"is_reusable": true
}
}
}
}'
Formattato per una maggiore leggibilità. Sostituisci i valori corsivi in grassetto come page_access_token con i tuoi valori.
curl -X POST -H "Content-Type: application/json" -d '{
"message": {
"attachment": {
"type": "image"
}
},
"filedata": "@/path-to-your-file/image.jpg",
"type": "image/png"
}' "https://graph.facebook.com/v21.0
/{PAGE_ID}/message_attachments?access_token={PAGE_ACCESS_TOKEN}"
In caso di azione eseguita correttamente, l'app riceverà un oggetto JSON con attachment_id
impostato sull'ID del tuo allegato da utilizzare nei messaggi.
{"attachment_id": "Your-attachment-ID"}
Per inviare un messaggio con una risorsa che hai caricato in precedenza con message.attachment.payload.is_reusable
impostato su true
, invia una richiesta POST
all'endpoint /
Your-page-id
/messages
con recipient.id
e l'oggetto message.attachment
con type
e payload.attachment_id
.
Formattato per una maggiore leggibilità. Sostituisci i valori corsivi in grassetto come page_access_token con i tuoi valori.
curl -X POST -H "Content-Type: application/json" -d '{
"recipient": {
"id": "{PSID}"
},
"message": {
"attachment": {
"type": "image",
"payload": {
"attachment_id": "Your-attachment-ID"
}
}
}
}' "https://graph.facebook.com/v21.0
/{PAGE_ID}/messages?access_token={PAGE_ACCESS_TOKEN}"
In caso di azione eseguita correttamente, l'app riceverà un oggetto JSON con success
impostato su true
.
{"success": "true"}
Puoi anche caricare contenuti multimediali e inviarli in un'unica richiesta API.
ATTENZIONE:non impostare is_public=true
nel payload per questo caso. Gli allegati nella conversazione dell'utente rimangono sempre privati.
Formattato per una maggiore leggibilità. Sostituisci i valori corsivi in grassetto come page_access_token con i tuoi valori.
curl -X POST -H "Content-Type: application/json" -d '{
"recipient": {
"id": "{PSID}"
},
"message": {
"attachment": {
"type": "image",
"payload": {
"url": "https://your-url.com/image.jpg"
}
}
}
}' "https://graph.facebook.com/v21.0
/{PAGE_ID}/messages?access_token={PAGE_ACCESS_TOKEN}"
In caso di azione eseguita correttamente, l'app riceverà un oggetto JSON con success
impostato su true
.
{"success": "true"}
Per gli allegati da un URL, fornisci le seguenti proprietà nel corpo della richiesta come oggetto JSON. Per gli allegati da file, invia le proprietà come dati del modulo.
message
Property | Type | Description |
---|---|---|
| Object | An object describing attachments to the message. |
message.attachment
Proprietà | Tipo | Descrizione |
---|---|---|
| Stringa | Il tipo di allegato. Deve essere uno dei seguenti:
|
| Oggetto | Oggetto |
message.attachment.payload
Proprietà | Tipo | Descrizione |
---|---|---|
| Stringa | Facoltativo. URL del file da caricare. La dimensione massima del file è 8 MB per le immagini e 25 MB per tutti gli altri tipi di file (dopo la codifica). Un timeout è impostato a 75 secondi per i video e a 10 secondi per tutti gli altri tipi di file. |
| Booleano | Facoltativo, l'impostazione predefinita è false.Non impostare su Imposta su true solo se esegui il caricamento e l'invio in passaggi separati. Gli ID degli allegati scadono dopo 90 giorni. Ripeti il caricamento del contenuto multimediale per ottenere un nuovo ID allegato dopo 90 giorni. Anche se gli allegati riutilizzabili scadono dopo 90 giorni e non potranno essere nuovamente inviati, gli allegati nelle conversazioni non scadono mai e rimangono visibili finché un utente non elimina il messaggio dalla conversazione. |
Codice di errore | Sottocodice | Messaggio |
---|---|---|
100 | 2018074 | Possibile ID non valido o non possiedi l'allegato. |
100 | 2018008 | Impossibile recuperare il file dall'URL. Verifica che l'URL sia valido, con un certificato SSL e una dimensione del file validi e che il server risponda abbastanza velocemente da evitare timeout. |
100 | 2018294 | Timeout del caricamento video oppure video danneggiato. Se il video non può essere recuperato entro 75 secondi, andrà in timeout. |
100 | 2018047 | Errore caricamento allegato. Questo errore viene generato comunemente quando il tipo di contenuto multimediale fornito non corrisponde al tipo di file fornito nell'URL. |