返回所有文章
Chae-won Chae-won · 2026年3月12日

Webhook 與輪詢——哪種方式適合你?

大家好,我是 Chae-won。

系統之間交換資料有兩種主要方式:Webhook輪詢(polling)。名稱聽起來很技術,但概念其實很簡單。

在之前的文章中,我介紹了 Webhook。今天來跟輪詢做個比較,幫你判斷哪種方式適合你的情況。

再用一次配送的比喻

輪詢就像每小時打電話給物流司機問:「我的包裹到了嗎?」即使還沒到,你也一直打。直到終於聽到「到了」才停下來。

Webhook就像家裡裝了門鈴。包裹到了,司機按門鈴。你不用主動問——系統自動通知你。

用技術術語來說:

  • 輪詢:定期詢問「有新資料嗎?」(拉取)
  • Webhook:有新資料時自動通知(推送)

比較表

輪詢 Webhook
運作方式 定期請求 事件驅動通知
即時性 低(取決於間隔時間) 高(幾乎即時)
效率 低(很多空回應) 高(有需要才觸發)
實作難度 相對容易 需要接收伺服器
資料遺漏 間隔之間可能遺漏 失敗可重試
伺服器負載 高(持續請求) 低(僅在事件發生時)
成本 與請求次數成正比 與事件次數成正比
注意事項 留意 API 速率限制 可能有重複、不保證順序

使用 Webhook 需要知道的事

Webhook 很高效,但有幾個特性值得了解:

  • 接收端速率限制 — 你的伺服器可能有每秒請求上限。如果資料大量湧入,部分可能被拒絕。上線前請確認雙方的處理限制
  • 重複傳送 — 如果網路問題讓傳送方以為傳送失敗,它可能會重試,導致同一筆資料傳送兩次。對於重要資料,使用唯一識別碼如 order_id 來過濾重複
  • 不保證順序 — Webhook 不保證事件按順序到達。「訂單已更新」的通知可能比「訂單已建立」先到。使用時間戳記來判斷先後順序
  • 回應時間 — Webhook 傳送方通常預期在 5-10 秒內收到回應。如果需要大量處理,先快速回覆確認,再非同步處理

這些特性正是為什麼,如同下面要討論的,許多實際部署會將 Webhook 與輪詢搭配使用。

什麼時候輪詢比較適合

輪詢不是壞方法。在以下情況其實更好用:

  • 對方不支援 Webhook — 有些系統還是不提供 Webhook 功能。這種情況下輪詢是唯一選擇
  • 批次拉取歷史資料 — 「取得過去一個月的所有訂單」就是輪詢(API 查詢)的使用場景
  • 即時性不重要 — 如果每天同步一次就夠了,輪詢完全可以

什麼時候 Webhook 比較適合

對大多數商業場景來說,Webhook 是更好的選擇:

  • 你需要即時通知 — 訂單、付款、預約等需要立即處理的事
  • 你想降低成本 — 不會浪費在「有新東西嗎?」的空請求上
  • 你在建立自動化流程 — 「訂單進來 → LINE 通知 → 自動記錄」的工作流
  • 你在整合多個資料來源 — 每個來源推送資料給你;你在一個地方管理

Webhook 的一個門檻:接收伺服器

使用 Webhook 最大的障礙是你需要一台伺服器來接收

輪詢是你主動發出請求——一個簡單的腳本就行。但 Webhook 是對方傳送給你,所以你需要一個可以接收的網址。通常這意味著要架設或開發一台伺服器。

3Min API 正是解決這個問題的。它為你建立 Webhook 接收網址——不需要伺服器。幾個點擊,你的 Webhook 端點就準備好了。

實務上的組合:Webhook + 輪詢

在實務中,許多系統兩者一起使用

  • 即時資料透過 Webhook
  • 歷史同步和補漏透過輪詢(API 查詢)

例如,透過 Webhook 即時接收電商訂單,同時每天跑一次 API 查詢確認「有沒有遺漏的?」

3Min API 也支援這種組合。你透過 Webhook 接收資料,需要時隨時透過儀表板或 API 查詢已儲存的資料。

總結

  • 需要快速、自動化的資料接收?→ Webhook
  • 需要歷史資料或對方不支援 Webhook?→ 輪詢
  • 最可靠的方式?→ Webhook + 輪詢搭配使用

如果你不確定哪種適合,先從 Webhook 開始。它在大多數商業場景中更高效,也是自動化的基礎。