Node.JS呼叫企業微信API:自建應用的回撥事件
實現環境:
白碼低程式碼平臺(該平臺提供企業微信API,可直接呼叫,減少前期配置除錯工作)
平臺語言:
使用node.js開發
準備工作:
準備一個企業微信管理員賬號
-
企業微信官方API: https://work.weixin.qq.com/api/doc/90000/90135/90237
-
白碼使用的API庫:
實現步驟:
1、選擇企業微信回撥介面模板建立webhook,並將 webhook路徑複製。
2、開啟企業微信後臺,在自建應用詳情頁,點選“接收訊息”的“ 設定API接收”按鈕,進入配置頁面。將複製的webhook路徑復貼上到url中,按要求填寫 Token(可由企業任意填寫,用於生成簽名。)及 EncodingAESKey(用於訊息體的加密,是AES金鑰的Base64編碼。),加密說明: https://work.weixin.qq.com/api/doc/90000/90135/90238
3、在客戶聯絡的“客戶>api>接收事件伺服器”中設定相同內容(三個引數保持一致)。
4、在白碼平臺 配置webhook的引數:corpid(我的企業->企業id)、corpsecret(自建應用secret)、token、aesKey(即EncodingAESKey)
5、回撥程式碼
async function hook($req, $resp, $modules = modules) { //get 請求用於驗證有效性 if ($req.method == "GET") { /** * 企業收到訊息後,需要作如下處理: * 1、對msg_signature進行校驗 * 2、解密Encrypt,得到明文的訊息結構體(訊息結構體後面章節會詳說) * 3、如果需要被動回覆訊息,構造被動響應包 * 4、正確響應本次請求 * 以上1~2步驟可以直接使用解密函式一步到位。 * 3步驟其實包含加密被動回覆訊息、生成新簽名、構造被動響應包三個步驟,可以直接使用加密函式一步到位。 */ $resp.body = await modules.wxworkApi.getVerifyMsg($req);//處理已封裝,可直接呼叫 } else if ($req.method == "POST") { //無法保證在五秒內處理完成,先回復(企業微信伺服器在五秒內收不到響應會斷掉連線) $resp.body = "success"; //處理 let handle = async () => { //將資料轉換成json let data = await modules.wxworkApi.getMsgData($req); if (data.Event == "change_contact" && data.ChangeType == "create_party") { /**新增部門 */ //TODO 處理新增部門事件 } else if (data.Event == "change_contact" && data.ChangeType == "update_party") {/**修改部門 */ //TODO 處理修改部門事件 } else if (data.Event == "change_contact" && data.ChangeType == "delete_party") { /**刪除部門 */ //TODO 處理刪除部門事件 } else if (data.Event == "change_contact" && data.ChangeType == "create_user") { /**新增成員 */ //TODO 處理新增成員事件 } else if (data.Event == "change_contact" && data.ChangeType == "update_user") {/**修改成員 */ //TODO 處理修改成員事件 } else if (data.Event == "change_contact" && data.ChangeType == "delete_user") { /**刪除成員 */ //TODO 處理刪除成員事件 } else if (data.Event == "change_external_contact" && data.ChangeType == "add_external_contact") {/**新增客戶事件*/ //TODO 處理新增外部聯絡人事件 } else if (data.Event == "change_external_contact" && data.ChangeType == "edit_external_contact") {/**編輯客戶事件(標籤等資訊) */ //TODO 處理編輯外部聯絡人備註標籤資訊事件 } else if (data.Event == "change_external_contact" && data.ChangeType == "del_external_contact") { /**刪除客戶事件*/ //TODO 處理刪除外部聯絡人事件 } handle() } }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69981626/viewspace-2716889/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Node.JS呼叫企業微信API:生成渠道二維碼Node.jsAPI
- 企業微信API:按鈕互動型通知+資料回撥API
- Node.JS呼叫企業微信API:成員的增刪查改Node.jsAPI
- 企業微信自建應用開發-免密登入
- 【詳細、開箱即用】.NET企業微信回撥配置(資料回撥URL和指令回撥URL驗證)
- golang實現企業微信API,以第三方服務商角度整理的API,支援手動生成企業微信新API或新回撥程式碼GolangAPI
- 在企業微信自建應用整合及安裝第三方應用的超快速方法
- 微信支付回撥取不到body體中的資訊node.jsNode.js
- 企業微信-自建H5應用授權登入獲取使用者資訊H5
- 基於Guava API實現非同步通知和事件回撥GuavaAPI非同步事件
- 微信商戶 API 企業付款!API
- 企業微信API使用基本教程API
- Node.js軟肋之回撥大坑Node.js
- JavaScript回撥函式應用淺析JavaScript函式
- Swoole 回撥函式的註冊與呼叫函式
- 類中靜態回撥函式應用函式
- ionic4 開發企業微信應用0
- 請停止Node.js在企業應用中爭鬥Node.js
- OpenAI Assistants API 企業級應用實戰OpenAIAPI
- 前端自定義類事件回撥封裝前端事件封裝
- [譯] 如何優化企業級規模的 Node.js 應用程式優化Node.js
- 企業微信PC版hook原始碼api介面Hook原始碼API
- 友盟iOS微信登陸沒有回撥的原因iOS
- 觀察者模式在One Order回撥函式中的應用模式函式
- 回撥函式、訊息和事件例程 (轉)函式事件
- [iOS] [OC] 關於block回撥、高階函式“回撥再呼叫”及專案實踐iOSBloC函式
- Fastadmin fast.api.open回撥函式ASTAPI函式
- 企業工商大資料API在網際網路行業的應用大資料API行業
- react-native呼叫ios native方法-回撥ReactiOS
- 為什麼Node.js適合在企業應用而Rails不是?Node.jsAI
- 埃森哲:跳出微信企業應用三大誤區
- 微信小程式開發系列六:微信框架API的呼叫微信小程式框架API
- 使用IPostBackEventHandler讓JavaScript“呼叫”回傳事件JavaScript事件
- 《Node.js設計模式》基於回撥的非同步控制流Node.js設計模式非同步
- Dash應用瀏覽器端回撥常用方法總結瀏覽器
- Activity生命週期回撥是如何被回撥的?
- 微信小程式學習總結02:封裝api請求(處理非同步api回撥地獄的一種方案)微信小程式封裝API非同步
- Android 微信分享後留在微信,沒有回撥的問題解決方案Android