Webhook 是一種 HTTP 回調,當另一個系統中發生特定事件時,即時將資料遞送到您的應用程式。與傳統 API 需要您輪詢更新不同,webhook 在觸發時立即將資料推送到您的端點,實現對郵件事件(如遞送、退信、開啟和點擊)的即時通知。
Webhook 透過消除持續輪詢的需要,改變了您與郵件資料互動的方式。與其重複查詢 API 檢查新事件(這會浪費資源並引入延遲),webhook 在資訊可用的瞬間就遞送給您。這種即時能力對於時間敏感的操作至關重要,例如在下一次活動之前移除退信地址,或根據收件人參與觸發後續序列。 對於郵件行銷人員和開發者,webhook 實現了以前不可能的複雜自動化。當有人點擊您郵件中的連結時,webhook 可以立即更新您的 CRM、觸發銷售通知或將聯繫人註冊到定向培養序列。這種對用戶行為的即時回應顯著提高了參與度和轉化率。 Webhook 還降低了基礎設施成本和複雜性。基於輪詢的方法需要專用資源來持續檢查更新,即使沒有任何變化。使用 webhook,您只在事件實際發生時處理資料,使您的系統更高效和可擴展。這種事件驅動架構現在是現代郵件基礎設施的標準做法。
Webhook 基於一個簡單但強大的機制運作:當預定義事件發生時,來源系統向您指定的 URL 發送 HTTP POST 請求。這個 URL 稱為 webhook 端點,接收包含事件詳細資訊的 JSON 負載。對於郵件系統,這意味著您的應用程式在郵件退信、被開啟或觸發任何其他追蹤事件的瞬間就會收到通知。 流程從您向郵件服務提供商註冊端點 URL 並選擇要接收的事件開始。例如,當訂閱者開啟您的郵件時,ESP 檢測到此操作並立即構建包含事件類型、時間戳、收件人郵箱和其他相關元資料的負載。然後透過 HTTPS POST 請求將此負載發送到您的端點。 您的伺服器必須透過返回 HTTP 200 狀態碼來確認收到。如果 webhook 遞送失敗(由於伺服器停機或網路問題),大多數提供商會實施指數退避的重試邏輯。這確保即使發生臨時故障,您最終也會收到所有事件資料。整個過程通常在毫秒內完成,讓您幾乎即時了解郵件效能。
API 需要您主動請求資料(拉取模式),而 webhook 在事件發生時自動將資料發送給您(推送模式)。使用 API,您定期輪詢伺服器詢問「有新事件嗎?」使用 webhook,伺服器在發生事情時立即告訴您。Webhook 對於即時通知更高效,而 API 更適合按需資料檢索。
實施多層安全:專門使用 HTTPS、使用 ESP 提供的密鑰驗證 webhook 簽名、如果您的提供商發布來源 IP 地址則驗證它們,並實施速率限制以防止濫用。大多數郵件服務包含您應該在處理任何負載之前根據密鑰驗證的簽名標頭(如 X-Webhook-Signature)。
大多數郵件服務提供商實施指數退避的自動重試邏輯。如果您的端點返回錯誤或超時,提供商將在幾小時或幾天內多次重試遞送。但是,在重試用盡後,事件可能會丟失。為防止資料丟失,確保端點的高可用性,並考慮使用託管 webhook 服務或訊息佇列作為緩衝。
您的端點應該在 5-10 秒內返回 HTTP 200 回應以防止超時錯誤。最佳做法是立即確認收到,然後使用後台作業佇列非同步處理負載。這防止緩慢處理導致 webhook 失敗,並允許您的系統處理大量並發事件而不會出現瓶頸。