在處理 Webhook 之前,需驗證 X-CYBERBIZ-HMAC-SHA256 與 X-CYBERBIZ-DOMAIN-HMAC-SHA256 的值,確保 webhook 是由 CYBERBIZ 送出的,沒有被竄改。

所有 webhook 都會發送以下 headers。

For example, 如果你的 App

key example 說明
USER-AGENT CyberbizAppWebhook/1.0
X-CYBERBIZ-EVENT domains/create 事件名稱
X-CYBERBIZ-DOMAIN example.cyberbiz.co cyberbiz domain
X-CYBERBIZ-SHOP-DOMAIN example.com.tw primary domain
X-CYBERBIZ-HMAC-SHA256 99bbe023f9cf3da9b9927097a4e63cac67adf7d85c98c97e2e161622f574782c (hex) 資料驗證用 hmac,pseudo code 為下
`sha256hmac(app_secret, data sent in the request)
(hex encode)`

Ruby 語法: OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new('sha256'), app_secret, data) | | X-CYBERBIZ-DOMAIN-HMAC-SHA256 | | 用來驗證 header 中 X-CYBERBIZ-DOMAIN 的資料 ,pseudo code 如下 sha256hmac(app_secret, base64encode(X-CYBERBIZ-DOMAIN))

Ruby 語法: OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new('sha256'), app_secret, Base64.strict_encode64(x_cyberbiz_domain)) |

webhook events & 回傳內容可參考:

CYBERBIZ webhook

App 專有的 Webhooks (商家後台設定的 webhook 沒有這些事件)