跳至主要內容
首頁/AI 術語表/Webhook(事件即時通知)
自動化技術

Webhook(事件即時通知) 是什麼?

Webhook 是由事件來源主動發送 HTTP 通知的機制,讓表單、付款或資料更新能觸發另一個系統,常用於建立即時且可追蹤的自動化流程。

定義

Webhook 是由事件發生端主動送出 HTTP 請求的通知機制。當表單送出、付款完成或資料更新時,來源系統把事件名稱與資料送到接收網址,接收端再觸發後續流程。它的核心是事件驅動,而不是由接收端一直詢問。

Webhook 通常使用 HTTPS 與 POST,Payload 可採 JSON。接收端應先做簽章、時間戳與欄位驗證,再快速回覆成功,把寄信、AI 分析或跨系統寫入交給背景工作。事件契約要寫明欄位、版本、唯一識別碼與重試行為,並可搭配 API 補取完整資料。

為什麼中小企業需要了解這個?

Webhook 能把「客戶完成動作」接成「公司開始處理」,適合表單進件、付款通知、預約更新與訊息分派。不過 Webhook 只是通知通道,不會自動解決權限、資料品質、重複事件或下游服務故障。

導入前先確認來源支援哪些事件、是否重試、重試多久,以及接收端要如何回應。若事件包含個資,限制可傳欄位並避免寫入公開日誌;若會修改訂單或 CRM,加入去重與人工待處理清單。可參考 自動化主題 與 AI 自動化服務。

Webhook 與輪詢(polling)的差異

輪詢由接收端依固定週期呼叫 API,優點是流程直觀、可主動補查;缺點是沒有新資料時仍會產生請求,且更新可能要等下一次查詢。Webhook 由來源端推送,延遲通常較低,但必須依賴來源端的可靠重試與事件契約。

面向Webhook輪詢
觸發者事件來源接收端
沒有事件時不需查詢仍可能發請求
主要設計驗證、重試、冪等週期、游標、補查
適合即時通知可補查或無推送能力的服務

常見做法是 Webhook 先通知「狀態已變更」,再用 API 取回可信資料;若事件漏接,則用輪詢或人工補查恢復。

安全性與驗證

接收端應使用 HTTPS,並驗證來源提供的簽章、密鑰、時間戳或請求來源。簽章驗證要使用原始請求內容,並設定時間窗避免重放;憑證放在安全的秘密管理機制,不要寫進前端、流程名稱或共用文件。

驗證通過後,只把必要資料送進下游。日誌至少保留事件 ID、類型、結果與錯誤原因,但遮蔽個資與密鑰。對會造成外部副作用的事件,先做格式檢查與狀態判斷,再執行動作;必要時加入人工核准。

常見應用與失敗原因

企業表單送出後,可由 Webhook 驗證資料、建立 CRM 名單、分派負責人與產生回覆草稿;付款、取消或退款則可作為不同事件,依狀態更新系統。流程工具如 n8n、Make 與 Zapier 能協助編排,但仍要先定義事件契約。

常見失敗原因包括接收端逾時、簽章驗證失敗、欄位缺漏、第三方改版、重試造成重複與下游暫停。接收端應快速回覆、設定背景處理、使用事件 ID 去重,並把無法處理的事件送進待處理佇列。更多流程可讀 工作流自動化 與 行政工作自動化。

事件契約應與流程一起版本化。寫清楚事件名稱、Payload 欄位、時間格式、唯一識別碼、簽章規則與版本相容方式,並在供應商改版前安排測試。接收端不要把所有欄位視為永遠存在;對未知欄位採容錯,對必要欄位缺漏則拒絕並留下可追查的錯誤。

維運時把 Webhook 當成可能延遲、重送或失敗的訊息,而不是一次性函式呼叫。建立事件收件紀錄與處理紀錄的關聯,讓人員能查看狀態、補送或標記已處理。若下游工作很慢,先回覆來源端,再由背景工作執行,避免來源端因等待而重試。

事件處理最好分成接收、驗證、排程與執行幾個階段。接收階段只做必要檢查並保存事件狀態;背景工作再依事件類型呼叫 API 或通知服務。這樣能讓接收端維持簡單,也能在下游暫停時保留待處理事件,不必要求來源端無限重送。

設計補償機制時,先確認來源是否提供事件查詢或重送功能;若沒有,就要自行保留必要的事件索引與人工補登方式。測試不只看成功回應,也要模擬網路中斷、簽章錯誤、同一事件多次抵達與欄位增加,確認系統不會重複造成外部副作用。

Webhook 的事件契約怎麼維護?

事件契約要讓來源與接收端對同一個事件有相同理解,至少說明事件名稱、唯一識別、必要欄位、資料型別、簽章方式、版本與重試行為;契約清楚,故障才容易定位。

建立新事件前先用測試 Payload 驗證正常與例外資料,並記錄接收端回應與處理結果。欄位增加時盡量保持向後相容;必要欄位改變或語意改變時,應升級版本並通知所有使用者。維運人員要能查到事件是否收到、是否驗證通過、是否排入背景工作,以及最後是否成功完成,避免只看來源端顯示「已送出」。

Webhook 如何處理事件順序與重複送達?

Webhook 不一定按照事件發生的順序抵達,也可能因來源重試而收到同一事件多次。接收端不能只依抵達時間覆寫資料,應讀取事件 ID、事件時間與資源版本,按照業務規則判斷哪一筆狀態較新。若來源提供序號或游標,應保存最後處理位置;若沒有,則要用資源查詢 API 或人工核對補足判斷依據。

去重紀錄至少要能辨認同一事件,並保留處理中、成功、失敗與已忽略等狀態。收到較舊事件時,不要直接把新狀態改回舊狀態;收到同一事件時,應回傳可接受的結果,但不再次執行寄信、退款或其他外部副作用。對順序敏感的流程,可先把事件放入佇列,依資源鍵分組處理,並為卡住的事件保留人工介入出口。

測試時要刻意交錯送出建立、更新與取消事件,模擬延遲、重複、部分成功和服務重啟。驗收不只看最後畫面正確,也要確認每一筆事件都有可追查的處理紀錄,並能在不重複造成副作用的前提下安全補送。

關於Webhook(事件即時通知)的常見問題

Webhook 跟 API 到底有什麼差別?
API 通常由呼叫方主動查詢或更新資料;Webhook 則由事件來源在事件發生時主動通知。兩者常一起使用:Webhook 告知流程開始,API 再取回完整資料或更新狀態。
Webhook 與輪詢有什麼差異?
輪詢是接收端按固定時間反覆詢問有沒有新資料,沒有事件也會產生請求;Webhook 是事件發生才推送通知。Webhook 可降低無效查詢,但必須設計驗證、重試、去重與故障補償。
Webhook 安全性要怎麼做?
不要只依靠難猜的網址。應使用 HTTPS、簽章或密鑰驗證、時間戳防重放、最小權限與來源檢查,並避免在日誌保存不必要的個資。重要事件還要保留可稽核的處理結果。
使用 Webhook 需要自建伺服器嗎?
不一定。n8n、Make、Zapier 或雲端函式都能提供接收入口,但企業仍要負責流程驗證、錯誤通知、憑證管理與資料保存。若事件重要,應確認平台是否支援重試與執行紀錄。
Webhook 為什麼會重複或遺失?
來源端可能因逾時而重試,接收端也可能短暫不可用,造成重複或漏接。應使用事件唯一識別碼做冪等處理,快速回覆並把工作排入背景佇列,同時保留失敗事件供補送。
Webhook 適合所有自動化流程嗎?
不適合。若來源不能保證重試、事件不重要或流程需要完整歷史查詢,輪詢或 API 查詢可能更合適。選擇方式要看即時性、資料完整性、服務能力與故障回復要求。

準備好讓 AI 幫你工作了嗎?

現在開始你的數位轉型,預約 30 分鐘諮詢,我們協助你找到最合適的 AI 切入點。

30 分鐘深度了解你的業務,給你具體建議

Content Standards

內容維護與資料來源

內容維護與更正

內容維護窗口:優創智能 YOTRON 內容團隊。個別文章的作者、發布與內容更新日期以該頁標示為準。

網站版本更新:

資料來源與方法

術語定義依公開技術文件、產品官方資料與通用業界用法整理;頁面範例用於協助理解,不代表所有企業都會得到相同結果。

聯絡與內容更正(Contact)

需要查核、補充或更正內容,可透過聯絡頁,或寄信至info@yotron-ai.com。公司與團隊資訊可見關於我們。

聯絡方式:電話02-2720-8130、Email info@yotron-ai.com。