跳至主要內容

Webhooks 指南:Wati webhooks 或 WhatsApp API 網關?

2 週前已更新

摘要

Webhooks是一種應用程式在特定事件發生時向其他系統傳送即時資料的方式。與傳統的API需要不斷輪詢不同,Webhooks可以自動推送更新,非常適合通知和事件驅動的動作。本指南解釋了Webhooks的工作原理、其優點以及如何設置它們。

Webhooks:完整指南

什麼是Webhooks?

Webhooks是由系統中特定事件觸發的HTTP回呼。當事件發生時(例如,新用戶註冊,付款處理),系統會向設定的URL發送HTTP请求(通常是POST请求)。

Webhooks的關鍵組件

  1. 事件觸發器 – 觸發Webhooks的動作(例如,新訂單,付款完成)。

  2. Webhooks URL – 資料將被送到的端點。

  3. Payload – HTTP請求中發送的資料,通常以JSON格式呈現。

  4. HTTP方法 – 通常是POST,用於交付資料。

  5. 響應處理 – 接收伺服器處理請求,並可能返回成功或錯誤訊息。

當觸發事件發生時,WhatsApp Business API客戶端會偵測到它,收集相關資料,並立即向設置在應用程式設定中的Webhook URL發送HTTP請求。這個請求會更新已送出訊息的狀態或在收到新訊息時通知您。

使用Webhooks的優點

  • 即時更新 – 資料會被立即推送,而不是周期性地拉取。

  • 高效 – 減少了不必要的API呼叫,節省了資源。

  • 易於實現 – 只需要一個端點來接收資料。

  • 可擴展 – 適合高容量的事件驅動應用程式。

如何設置Webhooks

請按照以下步驟建立并配置Webhooks:

1. 識別事件觸發器

確定哪個動作會觸發Webhooks,例如:

  • 新用戶註冊

  • 付款完成

  • 支援票據更新

2. 配置Webhooks URL

設置一個伺服器端點來接收Webhooks請求。這個URL必須是公開可訪問的,并能夠處理傳入的HTTP POST請求。

範例URL:https://yourapp.com/webhooks/payment-success

3. 處理Webhooks payload

您的伺服器應該能夠解析和驗證傳入的資料。

JSON payload範例:

{   
"event": "payment_success",
"user_id": 12345,
"amount": 100.00,
"currency": "USD"
}

4. 安全Webhooks

為了防止未經授權的存取,請考慮:

  • 驗證payload簽名,使用HMAC密鑰。

  • 限制IP地址到可信來源。

  • 使用HTTPS进行安全傳輸。

5. 正確處理響應

您的伺服器應該返回HTTP 2xx狀態代碼(例如,200 OK)來確認成功接收。如果發生失敗,發送者可能会重試請求。

範例響應:

{   
"status": "success",
"message": "Webhook received successfully."
}

Webhooks的常見用例

  • 電子商務: 訂單狀態更新

  • 付款: 交易通知

  • CRM: 潛在客戶更新和客戶互動

  • DevOps: CI/CD管道觸發器

  • 訊息:聊天機器人通知

Webhooks故障排除

1. Webhooks未觸發

  • 確保事件觸發器正確設置。

  • 驗證Webhooks URL是否可以訪問。

2. payload資料無效

  • 檢查payload格式是否與預期相符。

  • 記錄傳入請求以進行調試。

3. 驗證問題

  • 確認API金鑰或簽名與預期值相符。

  • 啟用日誌記錄以跟踪驗證失敗。

額外詳細資訊

  • WhatsApp API Gateway支持Webhooks,您可以在此處找到文件。

  • 關於WATI Webhooks的更多資訊,請訪問Webhooks(wati.io)文件。

常見問題(FAQs)

一般問題

1. 什麼是Webhooks?

Webhooks是由系統中特定事件觸發的自動通知,使用HTTP請求在系統之間傳送,即時更新資料,而無需不斷輪詢。

2. Webhooks如何工作?

當事件被觸發時,系統會收集相關資料,然後向預先設定的Webhooks URL發送HTTP POST請求。接收系統然後處理資料,並可能返回成功或錯誤訊息。

3. Webhooks的關鍵組件是什麼?

Webhooks由以下幾個部分組成:

  • 事件觸發器 – 觸發Webhooks的動作(例如,新訂單,付款完成)。

  • Webhooks URL – 資料將被送到的端點。

  • payload – HTTP請求中發送的資料,通常以JSON格式呈現。

  • HTTP方法 – 通常是POST請求,用于交付資料。

  • 響應處理 – 接收伺服器處理請求,並可能返回成功或錯誤訊息。

設置Webhooks

4. 如何設置Webhooks?

要設置Webhooks:

  • 識別觸發Webhooks的事件。

  • 設置一個公開可訪問的Webhooks URL。

  • 確保您的伺服器能夠處理傳入的資料。

  • 使用HMAC簽名等方法來安全Webhooks。

  • 返回HTTP 2xx狀態代碼以確認成功接收。

5. 如何安全Webhooks?

為了安全Webhooks:

  • 使用HMAC簽名驗證來驗證payload的完整性。

  • 限制請求來自可信的IP地址

  • 使用HTTPS進行安全傳輸。

6. 收到Webhooks後伺服器應該返回什麼?

您的伺服器應該返回HTTP 2xx狀態代碼(例如,200 OK)來確認成功接收。

Webhooks故障排除

7. 為什麼我的Webhooks未觸發?

  • 確保事件觸發器正確設置。

  • 驗證Webhooks URL是否可以訪問。

  • 檢查伺服器日誌以查看是否有錯誤。

8. 為什麼我的Webhooks返回payload資料無效?

  • 確認payload格式與預期相符。

  • 驗證傳入的JSON資料在處理之前。

  • 記錄收到的請求以進行調試。

9. 如果我的Webhooks驗證失敗,我該怎麼做?

  • 驗證API金鑰或簽名是否與預期值相符。

  • 檢查請求頭是否包含正確的驗證詳細資訊。

  • 啟用日誌記錄以跟踪驗證失敗。

WhatsApp API和WATI Webhooks

10. WhatsApp Business API是否支持Webhooks?

是的,WhatsApp API Gateway支持Webhooks。你可以在此處找到相關文檔。

11. 我在哪裡可以了解更多關於WATI Webhooks的資訊?

關於WATI Webhooks的更多資訊,請訪問Webhooks(wati.io)文件。

12. 我的Wati Webhooks為什麼失敗了?

Webhooks失敗通常是因為Wati没有收到您Webhooks端點的200回應。確保您的Webhooks URL已經優化以處理和響應請求,以及在5秒內返回認可,以避免失敗。

是否回答了您的問題?