Speichern von Assets

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.

Inhalt

Unterstützte Asset-Typen

Die Messenger-Plattform unterstützt das Speichern der folgenden Asset-Typen mit einer Größe von bis zu 25 MB:

  • Bild
  • Audio – Im Content-Type-Titel muss der Typ audio verwendet werden. Beispiel: audio/mp3.
  • Video
  • Datei

Speichern mit der Send API

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.

Speichern aus der URL

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.

Speichern aus Datei

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.

API-Antwort

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"
}

Speichern mit der Attachment Upload API

Ü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.

Speichern aus der URL

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.

Speichern aus Datei

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>"  
  

API-Antwort

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"
}

Gespeicherte Assets senden

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.

Unterstützung für Entwickler*innen