Um das Senden von Assets zu optimieren, kann die Messenger-Plattform ein Asset optional speichern, wenn es gesendet wird. Dies ist besonders hilfreich, wenn du denselben Anhang mehrmals versenden möchtest, da das Asset dann nicht für jede Anfrage hochgeladen werden muss.
Die Messenger-Plattform bietet zwei APIs, die dir das Speichern von Assets für die spätere Verwendung ermöglichen: die Send API und die Attachment Upload API. Beide APIs unterstützen das Speichern von Assets aus der URL und aus deinem lokalen Dateisystem.
Die Messenger-Plattform unterstützt das Speichern der folgenden Asset-Typen mit einer Größe von bis zu 25 MB:
Content-Type
-Titel muss der Typ audio
verwendet werden. Beispiel: audio/mp3
.Die Send API ermöglicht dir das Speichern eines Assets, das mit einer Nachricht verwendet wurde. Dies stellt eine Alternative zum vorangehenden Hochladen des Assets über die Attachment Upload API dar. Sende hierzu eine POST
-Anfrage, bei der payload.is_reusable
auf true
festgelegt ist, an den /messages
-Endpunkt.
Um ein Asset aus einer URL zu speichern, gib die Quell-URL in der payload.url
-Eigenschaft des attachment
-Objekts deiner Nachricht an:
{
"recipient":{
"id":"
For a complete list of API calls and request properties, see the Send API Reference.
Um ein Asset aus deinem lokalen Dateisystem zu speichern, sende deine Nachrichtenanfrage als Formulardaten an die Send API und gib im filedata
-Feld der Anfrage den Speicherort der Datei an:
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.
Die Antwort enthält eine attachment_id
, die verwendet werden kann, um das Asset an künftige Nachrichten anzuhängen. Beachte, dass diese ID vertraulich ist und nur von der Seite wiederverwendet werden kann, die den Anhang ursprünglich gesendet hat.
{
"recipient_id": "1254444444682919",
"message_id": "mid.$cAAJsujCd2ORkHh27-ld7NhzuqrUK",
"attachment_id": "687799999980546"
}
Über die Attachment Upload API kannst du Assets in Vorfeld hochladen. Dies ist hilfreich, wenn du im Voraus weißt, dass du ein bestimmtes Asset wiederholt senden musst. Sende hierzu eine POST
-Anfrage an den /message_attachments
-Endpunkt.
Eine vollständige Liste der API-Aufrufe und Anfrageeigenschaften findest du in der Attachment Upload API-Referenz.
Um ein Asset aus einer URL zu speichern, gib die Quell-URL in der payload.url
-Eigenschaft des attachment
-Objekts deiner Nachricht an:
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>"
Eine vollständige Liste der API-Aufrufe und Anfrageeigenschaften findest du in der Attachment Upload API-Referenz.
Um ein Asset aus deinem lokalen Dateisystem zu speichern, sende deine Nachrichtenanfrage als Formulardaten an die Attachment Upload API und gib im filedata
-Feld der Anfrage den Speicherort der Datei an:
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>"
Die Antwort enthält eine attachment_id
, die verwendet werden kann, um das Asset an künftige Nachrichten anzuhängen. Beachte, dass diese ID vertraulich ist und nur von der Seite wiederverwendet werden kann, die den Anhang ursprünglich gesendet hat.
{
"attachment_id":"1857777774821032"
}
Sobald du über eine attachment_id
für dein gespeichertes Asset verfügst, kannst du sie verwenden, um das Asset an eine Nachricht anzuhängen. Weitere Informationen findest du unter Nachrichten senden – Gespeicherte Assets anhängen.