Medien

/v1/media

Mit dem media-Node kannst du Medien hochladen, abrufen oder löschen.

Edges

Die folgenden Edges sind mit diesem Node verbunden:

EdgeBeschreibung

/{media-id}

Verwende diese Edge zum Abrufen und Löschen von Medien.

Bevor du beginnst

Nach dem Versand einer Mediennachricht wird das Medium 14 Tage lang auf den WhatsApp-Servern gespeichert. Wenn ein*e Nutzer*in das Medium nach 14 Tagen anfordert, fordern die WhatsApp-Server die Mediendatei vom WhatsApp Business On-Premises-Client an. Wenn das Medium entfernt wurde, wird der*die Nutzer*in benachrichtigt, dass das Medium nicht mehr verfügbar ist.

Anhand der Zustellungs- und Lesebelege kannst du nicht davon ausgehen, dass ein Medium heruntergeladen wurde. Ausgehende Medien können zwar normalerweise nach 30 Tagen entfernt werden, aber du solltest eine passende Strategie für dein Unternehmen einsetzen.

Einschränkungen

  • Wenn du den Prozess zum Hochladen von Medien verwendest, anstatt mit einer Medien-URL zu verlinken, muss die Datei in das Medienvolume hochgeladen werden. Nach Abschluss des Uploads kannst du eine Nachricht mit der Medien-ID senden.
  • Die App verarbeitet das hochgeladene Medium, bevor es an den Server gesendet wird. Die maximale Dateigröße für Medien, die in den media-Node hochgeladen werden, beträgt 100 MB. Es gibt jedoch Einschränkungen bei der Nachverarbeitung für die verschiedenen Medientypen. Diese sind in der Tabelle mit den Mediengrößen für die Nachverarbeitung unten aufgeführt.
  • Der Medienspeicher wird vom Unternehmen verwaltet. Wenn das Medienvolume voll ist, treten beim Nachrichtenversand Fehler auf.
  • Folgendes wird nicht unterstützt:
    • Senden von Medien über Byte-Streams
    • Senden von Nachrichten mit animierten Stickern

Hochladen

Sende eine POST-Anfrage an /v1/media, um deine Medien hochzuladen. Der Text der On-Premises-Anfrage muss die Binärdaten des Mediums enthalten, und der Content-Type-Header muss auf den Typ der hochgeladenen Medien gesetzt werden. Im Abschnitt Unterstützte Inhaltstypen findest du unterstützte Optionen.

Häufig werden Binärdaten in einer POST HTTP-Anfrage hochgeladen. Wenn du beispielsweise ein Bild hochladen möchtest, sendest du eine POST-Anfrage mit den Byte des Bilds als Payload. Alternativ kannst du --data-binary verwenden, um die angegebene Datei mit cURL auszulesen und zu verwenden.

Beispiel

Hochladen von Medien:

POST /v1/media
Content-Type: image/jpeg or other appropriate media type

your-binary-media-data

Hochladen von Medien mit cURL:

curl -X POST \
https://your-webapp-hostname:your-webapp-port/v1/media \
-H 'Authorization: Bearer your-auth-token' \ 
-H 'Content-Type: image/jpeg'  \ # or other appropriate media type
--data-binary @your-file-path

In beiden Fällen enthält eine erfolgreiche Antwort das Feld id. Damit kannst du anschließend Medien abrufen oder eine Mediennachricht an deine Kunden senden.

{
    "media": [
        {
            "id": "f043afd0-f0ae-4b9c-ab3d-696fb4c8cd68"
        }
    ]
}

Falls du eine Fehlermeldung erhältst, findest du weitere Informationen unter Fehlercodes und Statusmeldungen.

Unterstützte Inhaltstypen

Medien Unterstützte Inhaltstypen

audio

audio/aac, audio/mp4, audio/amr, audio/mpeg,
audio/ogg; codecs=opus


Hinweis: Für ogg/opus werden von WA-Clients nur Einzelkanal-Audiodateien unterstützt.

document

Jeder gültige MIME-Typ

image

image/jpeg, image/png


Derzeit werden keine Bilder mit transparenten Hintergründen unterstützt.

sticker

image/webp

video

video/mp4, video/3gpp


Hinweise:

  • Es wird nur der H.264-Video-Codec und der AAC-Audio-Codec unterstützt.
  • Wir unterstützen Videos mit einem Audio-Stream oder keinem Audio-Stream.

Mediengröße für Nachbearbeitung

Dies ist die maximal zulässige Größe der Mediendatei nach der Komprimierung und Verschlüsselung.

Medientyp Größe

audio

16 MB

document

100 MB

image

5 MB

sticker

100 KB

video

16 MB

FAQs

Bei Bildern wird die Bildunterschrift als Beschreibung hinzugefügt. Der Bildtext wird bei Bildern auf Android und iPhone in voller Länge angezeigt.

Bei Dokumenten wird der Dateiname durch die Bildunterschrift ersetzt. Die Bildunterschrift sollte nicht als Beschreibungstext auf dem Gerät des Nutzers angezeigt werden, sondern sie soll den Namen der Datei anzeigen. Auf iPhones wird der vollständige Text angezeigt. Auf Android-Telefonen wird der Dateiname dagegen abgekürzt. Dies ist eine technische Einschränkung der aktuellen Implementierung von WhatsApp auf beiden Geräten.

Es liegt an dir zu entscheiden, wann Medien gelöscht werden.

Nach dem Hochladen von Medien erhältst du eine Medien-ID, mit der du eine Nachricht senden kannst, die das hochgeladene Medienelement enthält. Beim Senden der Mediennachricht verschlüsselt die WhatsApp Business API die Medien und lädt sie auf die WhatsApp-Server hoch, wo sie 14 Tage lang verbleiben. Danach kannst du entscheiden, ob du die Medien unter Angabe der Medien-ID löschen oder für die spätere Verwendung aufbewahren möchtest. Wir empfehlen zwar, die Medien 30 Tage lang aufzubewahren, aber es liegt an dir, die Aufbewahrungsrichtlinie entsprechend den Richtlinien deines Unternehmens oder dem Anwendungsfall festzulegen.

Es gibt keinen Bereinigungsmechanismus für ausgehende oder eingehende Mediendateien. Du kannst deine Mediendateien manuell löschen, indem du sie in deinem Dateisystem suchst.

Um den Bereitstellungspunkt deines Medienvolume zu finden, kannst du einen Docker-Befehl ausführen.

Anfrage

docker volume inspect whatsappMedia

Antwort

[
    {
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/whatsappMedia/_data",
        "Name": "whatsappMedia",
        "Options": {},
        "Scope": "local"
    }
]

Um alle eingehenden Mediendateien anzuzeigen, kannst du dann den Befehl ls mit dem erhaltenen Mountpoint-Dateipfad ausführen:

ls /var/lib/docker/volumes/whatsappMedia/_data/

In einer AWS-Umgebung wird das Medienvolume auf dem Host unter dem Pfad /mnt/wa/media bereitgestellt.

Wenn du ein Bild als Album über die WhatsApp Business API senden möchtest, musst du mindestens 4 Bilder nacheinander senden. Wenn die Unterhaltungsansicht des Nutzers beim Empfangen der Bilder aktiv ist, ist die Album-Ansicht erst beim nächsten Aufruf verfügbar.

In folgenden Fällen wird kein Album erstellt:

  1. Bilder mit Bildunterschriften
  2. Ungelesen-Trennlinie: Nutzer sieht einige, aber nicht alle Bilder
  3. Datumsheader: neuer Tag zwischen Zustellungen

Nein, derzeit müssen wir AWS EFS verwenden, um das Medienvolume zwischen Coreapp und Webapp zu teilen.

Die maximale Größe für Datei-Uploads beträgt 64 MB. Das heißt, diese Beschränkung gilt auch für Bilder, Dokumente oder Videos, die du mit einer Nachricht sendest.