Contenu multimédia

/v1/media

Utilisez le nœud media pour importer, récupérer ou supprimer des médias.

Arêtes

Les arêtes ci-dessous sont connectées à ce nœud :

ArêteDescription

/{media-id}

Utilisez cette arrête pour récupérer et supprimer des contenus multimédias.

Avant de commencer

Lorsqu’un message multimédia est envoyé, le contenu multimédia est stocké sur les serveurs WhatsApp pendant 14 jours. Si un utilisateur ou une utilisatrice demande à télécharger le contenu multimédia après 14 jours, les serveurs WhatsApp demanderont le même fichier multimédia au client WhatsApp Business sur site. Si le contenu multimédia a été supprimé, l’utilisateur·trice sera averti·e que le contenu multimédia n’est pas disponible.

Il n’est pas prudent de supposer que le média a été téléchargé simplement sur la base des accusés de réception et de lecture. Les médias sortants peuvent généralement être supprimés en toute sécurité après 30 jours, mais vous devriez employer la stratégie qui convient le mieux à votre entreprise.

Contraintes

  • Si vous importez le contenu multimédia au lieu d’utiliser son URL, le fichier doit être importé vers le volume du contenu multimédia. Une fois l’importation terminée, vous pouvez envoyer un message à l’aide de l’ID du média.
  • L’application traite le contenu multimédia importé avant qu’il ne soit envoyé au serveur. Bien que la taille maximale du contenu multimédia pouvant être importé vers le nœud media soit de 100 Mo, il existe des limites de post-traitement pour les différents types de contenus multimédias décrits dans le tableau Taille des contenus multimédias post-traitement ci-dessous.
  • Le stockage des contenus multimédias doit être géré par l’entreprise. Si le volume du contenu multimédia est plein, l’envoi de messages commencera à échouer.
  • Les opérations ci-après ne sont pas prises en charge :
    • L’envoi de contenu multimédia par flux d’octets.
    • L’envoi de messages contenant des stickers animés.

L’importation

Envoyez une requête POST à /v1/media pour importer votre contenu multimédia. Le corps de la requête sur site doit contenir les données binaires du contenu multimédia, et l’en-tête Content-Type doit être défini sur le type de contenu multimédia importé. Pour connaître les options prises en charge, consultez la section Types de contenu pris en charge.

L’envoi de données binaires dans une requête POST HTTP est la méthode habituelle pour importer des données binaires. Si vous souhaitez importer une image, par exemple, vous effectuez une requête POST avec les octets de l’image réelle dans la charge utile. Vous pouvez également utiliser --data-binary si vous souhaitez que cURL lise et utilise le fichier binaire exactement tel qu’il est fourni.

Exemple

Importation de contenus multimédias :

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

your-binary-media-data

Importation de contenus multimédias avec 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

Dans les deux cas, une réponse positive renvoie le champ id, qui correspond aux informations dont vous avez besoin pour récupérer le contenu multimédia ou pour envoyer un message multimédia à votre clientèle.

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

Si vous recevez un message d’erreur, consultez l’article Messages d’erreur et d’état pour plus d’informations.

Types de contenu pris en charge

Contenu multimédia Types de contenus pris en charge

audio

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


Remarque : pour ogg/opus, seuls les fichiers audio à canal unique sont pris en charge par les clients WhatsApp.

document

Tout type de MIME valide.

image

image/jpeg, image/png


Actuellement, les images avec des arrières-plans transparents ne sont pas acceptées.

sticker

image/webp

video

video/mp4, video/3gpp


Remarques :

  • seuls les codecs vidéo H.264 et audio AAC sont pris en charge.
  • La plate-forme prend en charge les vidéos avec un seul et aucun flux audio.

Taille des contenus multimédias post-traitement

Il s’agit de la taille maximale autorisée pour un fichier multimédia après compression et chiffrement.

Type de contenu multimédia Taille

audio

16 Mo

document

100 Mo

image

5 Mo

sticker

100 Ko

video

16 Mo

Questions/réponses

Pour les images, la légende sera ajoutée en tant que description. La légende apparaît en entier pour les images sur Android et sur iPhone.

Pour les documents, la légende remplace le nom du fichier. Elle n’est pas destinée à être affichée sur l’appareil de l’utilisateur sous la forme d’un texte de description mais plutôt à afficher le nom du fichier. L’iPhone affiche le texte complet tandis qu’Android tronque le nom du fichier. Il s’agit d’une limitation technique de l’implémentation actuelle de WhatsApp sur les deux appareils.

C’est à vous de décider quand supprimer un fichier multimédia.

Après avoir importé un fichier multimédia, vous recevrez un identifiant de fichier multimédia que vous pourrez utiliser pour envoyer un message qui inclut l’élément multimédia importé. Lors de l’envoi du message contenant un fichier multimédia, l’API WhatsApp Business va chiffrer et importer le fichier multimédia sur les serveurs WhatsApp où il restera pendant 14 jours. Vous pouvez ensuite décider de supprimer le fichier multimédia en fournissant son identifiant ou de le conserver pour une utilisation ultérieure. Bien que nous vous recommandions de conserver les fichiers multimédias pendant 30 jours, c’est à vous de décider de la politique de conservation en fonction de la politique ou du cas d’utilisation de votre entreprise.

Il nʼy a aucun mécanisme de nettoyage pour les fichiers multimédias sortants ou entrants. Vous pouvez supprimer vos fichiers multimédias manuellement en les localisant sur votre système de fichiers.

Pour trouver le point de montage de votre volume multimédia, vous pouvez exécuter une commande docker.

Demande

docker volume inspect whatsappMedia

Réponse

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

Pour voir tous vos fichiers multimédia entrants, vous pouvez exécuter la commande ls avec le chemin du fichier Mountpoint reçu :

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

Pour la configuration AWS, le volume multimédia est monté sur le chemin /mnt/wa/media sur l’hôte.

Lors de l’envoi d’images sous forme dʼalbum à partir de l’API WhatsApp Business, vous devrez envoyer au moins quatre images successives. Si la vue conversation de l’utilisateur est activée lors de la réception des images, la vue album est indisponible jusqu’à la prochaine consultation.

Si l’un des critères suivants est rempli, l’album ne sera pas créé :

  1. Les images contiennent des légendes.
  2. Séparateur non lu : l’utilisateur ne voit que certaines images.
  3. En-tête contenant la date : un jour entre chaque envoi.

Non, AWS EFS est actuellement incontournable pour partager le volume multimédia entre Coreapp et Webapp.

La taille maximale d’importation de fichier est de 64 Mo, cette limite s’applique donc également à toute image, à tout document ou à toute vidéo que vous envoyez dans un message.