/v1/media
使用 media
节点上传、检索或删除媒体。
以下连线会连接至此节点:
连线 | 描述 |
---|---|
使用此连线检索和删除媒体。 |
在您发送媒体消息后,该媒体会在 WhatsApp 服务器上存储 14 天。如果用户在 14 天后请求下载该媒体,WhatsApp 服务器会向 WhatsApp Business 本地客户端请求相同的媒体文件。如果该媒体已被移除,则系统会通知用户无法获取该媒体。
仅凭已发送和已读回执假定用户已下载媒体并非安全做法。通常,在 30 天后移除传出媒体比较保险,但您应该采用最适合您企业的策略。
media
节点的媒体文件大小上限为 100 MB,但下方处理后的媒体大小表格中还列出了各种媒体类型的处理后大小限制。向 /v1/media
发送 POST
请求,以上传媒体。本地请求的正文必须包含二进制媒体数据,并且必须将 Content-Type
标头设置为待上传媒体的类型。请参阅支持的内容类型部分,了解支持的选项。
上传二进制数据的标准方法是在 POST HTTP
请求中发送二进制数据。例如,如果您想上传图像,则可以在负载中加入实际图像的字节,然后发出 POST
请求。或者,如果您希望 cURL
按照给定的二进制形式读取和使用给定文件,则可以使用 --data-binary
。
上传媒体:
POST /v1/media Content-Type: image/jpeg or other appropriate media type
your-binary-media-data
使用 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
在这两种情况下,如果请求成功,响应都会返回 id
字段,您在检索媒体或向客户发送媒体消息时将需要用到该字段。
{ "media": [ { "id": "f043afd0-f0ae-4b9c-ab3d-696fb4c8cd68" } ] }
如果收到错误消息,请参阅错误和状态消息以了解更多信息。
媒体 | 支持的内容类型 |
---|---|
|
注意:对于 ogg/opus,WA 客户端仅支持单声道音频文件。 |
| 任何有效的 MIME 类型。 |
|
目前,我们不支持背景透明的图像。 |
|
|
|
注意:
|
这是经过压缩加密后所允许的媒体文件大小上限。
媒体类型 | 大小 |
---|---|
| 16 MB |
| 100 MB |
| 5 MB |
| 100 KB |
| 16 MB |
如果是图片,则您可将说明文字添加为图片描述。在 Android 和 iPhone 手机上,系统均可显示图片说明文字的完整文本。
如果是文档,则说明文字会取代文件名。系统不会在用户设备上将其显示为描述文本,而是会将其显示为文件名称。iPhone 手机会显示全部文本,而 Android 手机会截取文件名称,这是当前 WhatsApp 在这两种设备上的实现所受到的技术限制所致。
删除多媒体素材的时间由您决定。
上传多媒体素材后,您将收到一个多媒体素材编号,您可以使用此编号发送包含已上传多媒体素材元素的消息。发送多媒体素材消息后,WhatsApp Business API 会将多媒体素材解码并上传至 WhatsApp 服务器,该素材会在服务器中留存 14 天。此时,您可以决定是要提供多媒体素材编号以删除该素材,还是保留素材,以备日后使用。您可以根据贵公司的政策或用例自行决定多媒体素材的保留时间,我们的建议是保留 30 天。
我们并未针对出站或入站的多媒体素材设置清理机制。您可在文件系统中找到这些多媒体素材文件,然后将其手动删除。
如要寻找多媒体素材卷的挂载点,则可运行 Docker 命令。
docker volume inspect whatsappMedia
[ { "Driver": "local", "Labels": {}, "Mountpoint": "/var/lib/docker/volumes/whatsappMedia/_data", "Name": "whatsappMedia", "Options": {}, "Scope": "local" } ]
然后,您可在已接收的 Mountpoint
文件路径中运行 ls
命令,以查看全部入站多媒体素材文件:
ls /var/lib/docker/volumes/whatsappMedia/_data/
如要设置 AWS,您可将多媒体素材卷挂载到主机上的 /mnt/wa/media
路径中。
以相册的形式从 WhatsApp Business API 中发送图片时,您需要至少连续发送 4 张图片。如果在接收图片时,用户的对话视图正处于活动状态,则在下次访问时才可使用相册视图。
如果符合以下任何条件,则无法创建相册:
没有,目前我们必须使用 AWS EFS 才能在核心应用和网页应用之间共享媒体卷。
上传文件大小不能超过 64 MB,也就是说,此限制同样适用于随消息一起发送的任何图片、文档或视频。