Contenuto multimediale

/v1/media

Utilizza il nodo media per caricare, recuperare o eliminare il contenuto multimediale.

Segmenti

A questo nodo sono collegati i segmenti di seguito:

SegmentoDescrizione

/{media-id}

Usa questo segmento per recuperare ed eliminare contenuto multimediale.

Prima di iniziare

Quando si invia un messaggio multimediale, il contenuto multimediale viene conservato nei server di WhatsApp per 14 giorni. Se un utente effettua una richiesta di download di quel contenuto multimediale dopo 14 giorni, i server di WhatsApp richiederanno quello stesso file multimediale al client on-premises di WhatsApp Business. Se il contenuto multimediale è stato rimosso, l'utente riceverà una notifica che il contenuto multimediale non è disponibile.

Non si può presupporre che il contenuto multimediale sia stato scaricato solo sulla base delle ricevute di consegna e delle conferme di lettura. I contenuti multimediali in uscita possono generalmente essere rimossi dopo 30 giorni, ma è consigliabile che sia l'utente a determinare la strategia più idonea per la propria azienda.

Limitazioni

  • Se utilizzi il processo di caricamento dei contenuti multimediali anziché il collegamento di un URL del contenuto multimediale, il file deve essere caricato sul volume del contenuto multimediale. Una volta completato il caricamento, puoi inviare un messaggio utilizzando l'ID del contenuto multimediale.
  • L'app elaborerà il contenuto multimediale caricato prima che venga inviato al server. Sebbene la dimensione massima dei file per i contenuti multimediali che possono essere caricati sul nodo media sia 100 MB, esistono limiti di post-elaborazione per i vari tipi di contenuti multimediali indicati nella Tabella delle dimensioni dei contenuti multimediali in post-elaborazione di seguito.
  • Lo spazio di archiviazione dei contenuti multimediali deve essere gestito dall'azienda. Se il volume dei contenuti multimediali raggiunge il limite massimo, la funzionalità di invio di messaggi inizierà a generare errori.
  • Non è previsto alcun supporto per:
    • invio di contenuti multimediali tramite flussi di byte;
    • invio di messaggi con sticker animati.

Caricamento

Effettua una richiesta POST a /v1/media per caricare il contenuto multimediale. Il corpo della richiesta on-premises deve contenere i dati binari del contenuto multimediale e l'intestazione Content-Type deve essere impostata sul tipo di contenuto multimediale da caricare. Per le opzioni supportate, consulta la sezione Tipi di contenuto supportati.

L'invio di dati binari in una richiesta POST HTTP costituisce la modalità di caricamento standard di dati binari. Se desideri caricare un'immagine, ad esempio, puoi inviare una richiesta POST con i byte effettivi dell'immagine nel payload. In alternativa, puoi utilizzare --data-binary se desideri che cURL legga e utilizzi quel dato file in codice binario esattamente come indicato.

Esempio

Caricamento di contenuti multimediali:

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

your-binary-media-data

Caricamento di contenuti multimediali con 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 entrambi i casi, una risposta positiva restituisce il campo id contenente le informazioni necessarie per recuperare contenuti multimediali e inviare un messaggio multimediale ai tuoi clienti.

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

Se ricevi un messaggio di errore, consulta Messaggi di errore e di stato per maggiori informazioni.

Tipi di contenuto supportati

Contenuto multimediale Tipi di contenuto supportati

audio

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


Nota: per ogg/opus, solo i file audio a canale singolo sono supportati dai client WA.

document

Qualsiasi tipo MIME valido.

image

image/jpeg, image/png


Al momento, non supportiamo immagini con sfondi trasparenti.

sticker

image/webp

video

video/mp4, video/3gpp


Note:

  • Sono supportati esclusivamente codec video H.264 e codec audio AAC.
  • Sono supportati video con un singolo streaming audio o privi di streaming audio.

Dimensioni dei contenuti multimediali in post-elaborazione

Questa è la dimensione massima consentita del file multimediale dopo compressione e crittografia.

Tipo di contenuto multimediale Dimensioni

audio

16 MB

document

100 MB

image

5 MB

sticker

100 KB

video

16 MB

FAQ

Per le immagini, la didascalia sarà aggiunta come descrizione. Il testo della didascalia viene visualizzato a lunghezza intera per le immagini su Android e iPhone.

Per i documenti, la didascalia sostituisce il nome del file. Non è pensato per essere visualizzata sul dispositivo dell'utente come testo di descrizione, ma per mostrare il nome del file. Gli iPhone mostrano il testo completo, mentre gli Android troncano il nome del file; questa è una limitazione tecnica dell'attuale implementazione di WhatsApp su entrambi i dispositivi.

Sta a te decidere quando eliminare contenuti multimediali.

Dopo aver caricato i contenuti multimediali, riceverai un ID relativo, che puoi utilizzare per inviare un messaggio che include l'elemento multimediale caricato. Dopo aver inviato il messaggio multimediale, l'API di WhatsApp Business crittograferà e caricherà il contenuto multimediale sui server WhatsApp, dove rimarrà per un periodo di 14 giorni. Dopodiché, puoi decidere di eliminare il contenuto multimediale fornendo l'ID oppure di conservarlo per un uso successivo. Sebbene consigliamo di conservare il contenuto multimediale per 30 giorni, spetta a te decidere la politica di mantenimento in base alla politica o al caso d'uso della tua azienda.

Non esiste alcun meccanismo di pulizia per i contenuti multimediali in uscita e in entrata. Puoi eliminare manualmente i file multimediali individuandoli sul file system.

Per trovare il mountpoint del volume del contenuto multimediale, puoi eseguire un comando docker.

Richiesta

docker volume inspect whatsappMedia

Risposta

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

Quindi, per vedere tutti i file multimediali in arrivo puoi eseguire il comando ls con il percorso file Mountpoint ricevuto:

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

Per AWS setup, il volume del contenuto multimediale è montato sul percorso /mnt/wa/media sull'host.

Quando invii un'immagine come album dall'API WhatsApp Business, dovrai inviare almeno 4 immagini in successione. Se la visualizzazione della conversazione dell'utente è attualmente attiva alla ricezione delle immagini, la visualizzazione dell'album non è disponibile fino alla visita successiva.

Non verrà creato un album se si verifica una delle seguenti condizioni:

  1. Immagini con didascalie
  2. Divisore non letto: l'utente vede alcune immagini, ma non il resto
  3. Intestazione data: il giorno cambia tra una consegna e l'altra

No, al momento dobbiamo utilizzare AWS EFS per condividere il volume multimediale tra Coreapp e Webapp.

La dimensione massima di caricamento del file è 64 MB, il che significa che questo limite si applica anche a qualsiasi immagine, documento o video inviato con un messaggio.

Ulteriori informazioni