OmniBPM 系統中可以設定 webhook 與外部的系統串接,利訊 webhook 的功能外部系統可以即時接收由 OmniBPM 系統主動推送的流程進度更新與文件內容。
請參考Blog post: 如何用 Restful API 從外部開始執行 OmniBPM 流程取得金鑰。金鑰會用來做為 webhook 內容簽章的私鑰來使用。
先到外部連結與資料庫設定
從這邊可以選擇要建立 webhook 的流程, webhook 要觸發的流程節點, 觸發的時機
觸發的流程節點可以選擇"不指定", 那就表是觸發的時機是以整個流程執行的狀況為單位
觸發的時機則有"進入", "完成", "退回"三種時機
選擇好了 webhook 觸發條件以後,新增webhook就可以開始編輯webhook了。
Webhook的內容需要設定的是webhook的名稱 ( 方便自已記憶 ),POST的URL ( 這邊用 http://requestb.in 做測試用 ),再來可以設定POST body的內容
Post body會是以JSON的型式POST到指定的URL。JSON中出現的欄位可以自行增加和客製。
另外POST body中會有一個 _event_info 的資訊,基本上就包含了整個流程和文件的內容。但是還是在這邊提供POST body設計的模式,方便存取文件內的欄位資訊。
設定好了以後試跑相關的流程,就會收到webhook的POST。
為了保證webhook的內容正確性和不可變造性,我們會使用金鑰做簽章,放在HTTP header中的
Omnibpm-Webhook-Signature
欄位。簽章的方法是
hmac(sha256, post_data).hexdigest()
也就是post內容以sha256做hmac的結果。
Share on Twitter Share on Facebook
Comments
There are currently no comments
New Comment