內部部署 API 的 Webhooks

訂閱 Webhooks 可取得您企業接收之訊息和顧客個人檔案更新的相關通知。如需 WhatsApp Business 平台 Webhooks 的詳細資訊,請參閱總覽:Webhooks

Webhooks 設定不會影響 WhatsApp Business 應用程式上的電話號碼。只有在您將號碼移轉至 WhatsApp Business 平台後,才會無法在您的 WhatsApp Business 應用程式上繼續使用該號碼。

準備工作

必備項目:

  • 具有 HTTPS 支援和有效 SSL 憑證的程式碼
  • 設定為可接受來自核心應用程式的入站要求的回呼網址端點
  • 收到通知時可傳回 HTTPS 200 OK 回應的回呼網址端點

重試

若因故未能傳遞通知,或是 Webhook 要求傳回 200 之外的 HTTP 狀態碼,我們會重試傳遞。我們會繼續重試傳遞,並將延遲增加至特定逾時(通常為 24 小時,但可能有所不同),或直到傳遞成功為止。

設定回呼網址端點

PATCH 要求傳送到 /v1/settings/application 端點,並將 webhooks 參數設為回呼網址端點。其他常用的設定參數為 sent_statuscallback_persist

要求範例

PATCH /v1/settings/application
{
    "callback_persist": true,
    "sent_status": true,  // Either use this or webhooks.message.sent, but webhooks.message.sent property is preferred as sent_status will be deprecated soon
    "webhooks": { 
    	"url": "webhook.your-domain", 
        "message": {     // Available on v2.41.2 and above
        	"sent": false,
        	"delivered": true,
        	"read": false
       },
    }
}

傳送成功後,回應會包含 200 OK,其中具有 null 或 JSON 物件。

如需設定應用程式及其他 Webhooks 參數的詳細資訊,請瀏覽應用程式設定參考資料

Webhook 通知承載

每當發生觸發事件時,WhatsApp Business 平台會查看該事件,並傳送通知到您先前指定的 Webhook 網址。您會收到兩種類型的通知:

  • 收到訊息:此提醒會在您收到訊息時通知您。在整份文件中也會將這類通知稱為「入站通知」。
  • 訊息狀態和定價通知:此提醒會在訊息狀態變更時通知您(例如訊息已讀取或送達)。在整份文件中也會將這類通知稱為「出站通知」。

如需每個欄位的相關資訊,請參閱元件

錯誤通知

{
    "errors": [ {
       "code": <error-code>,
       "title": "<error-title>",
       "details": "<error-description>",
       "href": "location for error detail"
    },
    {
       ...
    }
    ]
 }

應用程式端點範例

若要測試 Webhooks,您可以建立應用程式樣本,內含用於接收通知的端點。