hook0 - Webhook as a Service
現在很多應用(Application)都會提供 Webhook 的功能,讓其服務具有與其他服務整合的能力。
例如金流服務提供 Webhook 是相當常見的作法,畢竟付款等動作是使用者在他們那端進行處理,我們無法知道付款進度、狀態等等,因此它們多半會提供訂單成立、取消、盜刷等 events, 讓整合金流的開發者可以訂閱這些 events 以即時更新訂單狀態。
這種 Webhook 的作法,流程上都是開發者在管理介面勾選需要發送的 events 以及提供一個 API endpoint 接收由第三方服務所發來的 events, 而且要提供 Webhook 通常也需要做 2 項功能:
- retry, 使用者所提供的負責接收 event 的 API endpoint 出現問題時,我方需要排程重新送 events
- log retention, 送給負責接收 event 的 API endpoint 的內容需要保存一定的期限,供我方與使用者除錯之用
說來簡單,但做起來也其實頗為繁瑣。
所幸現在有開源的 Webhook server 可以使用,也就是 hook0 。
hook0 讓開發者不必再重複開發 Webhook server 的過程,你可以使用它所提供的框架,新增你支援的 events 供使用者訂閱,只要將 event 送至 hook0, 它就會幫你把 event 發送, retry, log retention 等等的工作做完,省時又方便!
如果你不想自己管理 hook0, 也可以付費使用 hook0 開發團隊的 SaaS, 幫你維護/管理 Webhook server, 等於是將整個 Webhook 的業務外包給 hook0, 如此你就可以更專注在產品的開發上!