影音素材

/v1/media

使用 media 節點可上傳、擷取或刪除影音素材。

關係連線

下列關係連線連結到此節點:

關係連線說明

/{media-id}

使用此關係連線可擷取和刪除影音素材。

準備工作

傳送影音素材訊息時,影音素材會在 WhatsApp 伺服器上儲存 14 天。如果用戶在超過 14 天後要求下載影音素材,WhatsApp 伺服器便會向 WhatsApp Business 內部部署用戶端要求相同的影音素材檔案。如果已移除影音素材,用戶將會收到已無法使用該影音素材的通知。

假設媒體只是依照投遞和讀取回條下載是不安全的,傳出的媒體在超過 30 天後移除通常仍是安全的,但您應採用符合企業的策略。

限制

  • 如果您使用影音素材上傳程序而不是連結至影音素材網址,必須將檔案上傳至影音素材磁碟區。上傳完成後,您便能使用影音素材編號傳送訊息。
  • 在系統將已上傳的影音素材傳送至伺服器之前,應用程式會先對其進行處理。雖然可上傳至 media 節點的影音素材檔案大小上限為 100MB,以下後續處理影音素材大小表格中說明了各種影音素材類型的後續處理限制。
  • 企業需負責處理影音素材儲存空間。如果影音素材磁碟區已滿,訊息傳送便會開始失敗。
  • 不支援以下方式:
    • 使用位元組串流來傳送影音素材。
    • 使用動畫貼圖來傳送訊息。

上傳

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

如果您收到錯誤訊息,請參閱錯誤和狀態訊息,瞭解更多資訊。

支援的內容類型

影音素材 支援的內容類型

audio

audio/aacaudio/mp4audio/amraudio/mpeg
audio/ogg; codecs=opus


注意:若是 ogg/opus,WA 用戶端僅支援單聲道音訊檔。

document

任何有效的 MIME 類型。

image

image/jpegimage/png


目前不支援透明背景的圖像。

sticker

image/webp

video

video/mp4video/3gpp


注意:

  • 僅支援 H.264 視訊轉碼器和 AAC 音訊轉碼器。
  • 我們支援包含單一音訊串流或不含音訊串流的影片。

後續處理影音素材大小

此為壓縮和加密後允許的最大影音素材檔案大小。

影音素材類型 大小

audio

16 MB

document

100 MB

image

5 MB

sticker

100 KB

video

16 MB

常見問題

圖像可加入說明文字。Android 和 iPhone 圖像的說明文字皆以完整長度顯示。

若是文件,這類文字會取代檔案名稱。這並不會在用戶裝置顯示為說明文字,而是顯示為檔案名稱。iPhone 會顯示完整文字,Androids 則會截斷檔案名稱;這是目前 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 個圖像。如果用戶的對話檢視在接收圖像時為使用中,必須等到下次瀏覽才能使用相簿檢視。

符合下列任一條件時,系統將不會建立相簿:

  1. 對圖像加入文字
  2. 未讀取的分隔線 - 用戶可看到部分圖像,但看不到其他圖像
  3. 日期頁首 - 傳遞之間的新日期

沒有,目前我們必須使用 AWS EFS 在核心應用程式和網路應用程式之間分享媒體磁碟區。

上傳檔案大小的上限為 64 MB,此限制也適用於隨訊息傳送的任何圖像、文件或影片。