傳送媒體訊息

使用 messages 節點向您的顧客傳送包含音訊、文件、圖片、貼圖或影片的訊息。

總括而言,當傳送包含媒體的訊息時,您必須在要求正文中提供已上載媒體的編號,或該媒體的連結。您亦必須指定要傳送的媒體類型,例如 audiodocumentimagestickervideo。收到要求後,系統會將該媒體上載至 WhatsApp 伺服器,並將之傳送至 to 欄位所指明的用戶。

目前使用 WhatsApp Business API 傳送媒體訊息的方法有兩種:

  • 編號 — 如要使用編號,您必須先使用 media 節點上載媒體,以獲取 messages API 呼叫所需的編號。
  • 連結 — 如要使用連結,您需要提供一個 HTTP(S) 連結以供應用程式下載媒體,從而省卻自行上載媒體的步驟。

準備工作

您需要:

第 1 步:向 /messages 執行 POST 要求

上載媒體後,將傳回的編號用於傳送媒體訊息的 API 呼叫中的 id 欄位。此外,您還可以提供 link 參數,指向要傳送的媒體(目前僅支援 HTTP/HTTPS 連結)。

必須提供 idlink,但不得同時使用兩者。

範例

以下範例所顯示的多種不同物件(如 audiodocumentimagestickervideo)僅作說明用途。一個有效要求的正文僅會包含其中一個物件。

POST /v1/messages
{
  "recipient_type": "individual",
  "to": "whatsapp-id",
  "type": "audio" | "contact" | "document" | "image" | "location" | "sticker" | "text" | "video",
  
  "audio": {
    "id": "your-media-id"
  }
  
  "document": {
    "id": "your-media-id",
    "filename": "your-document-filename"
  }
  
  "document": {
    "link": "the-provider-name/protocol://the-url",
    "provider": {
        "name" : "provider-name"
    }
  }
  
  "document": {
    "link": "http(s)://the-url.pdf"
  }
  
  "video": {
    "id": "your-media-id"  
  }
  
  "image": {
    "link": "http(s)://the-url",
    "provider": {
        "name" : "provider-name"
    }
  }
  
  "image": {
    "id": "your-media-id"   
  }
  
  "sticker": {
    "id": "your-media-id"
  }
  
  "sticker": {
    "link": "http(s)://the-url",
    "provider": {
      "name" : "provider-name"
    }
  }
}

如需有關參數的更多資訊,請參閱:

第 2 步:檢查回應

成功回應包含帶有訊息編號的 messages 物件。

{
  "messages": [{
    "id": "gBEGkYiEB1VXAglK1ZEqA1YKPrU"
  }]
}  

如果回應不成功,即使回應產生類似訊息傳送成功的訊息編號,系統仍會向您的 Webhook 網址傳送回呼。因此,設定 Webhook 伺服器非常重要。

如需有關錯誤的更多資訊,請參閱錯誤和狀態代碼