登陸企業微信後臺,在「應用管理>自建」中點擊「建立應用」,填寫應用信息建立。web
一、corpid:企業ID。在企業微信後臺的「個人企業>企業信息」中獲取。
二、corpsecret:應用憑證密匙。在自建應用詳情中獲取。
若是要使用通信錄相關API則corpsecret在「管理工具>通信錄同步」中獲取。
三、AesKey及token:加密的AES KEY和消息token。
若是是接收外部聯繫人變動回調等事件信息,則在「自建應用詳情>接收消息>設置API接收」中獲取。
若是是接收通信錄相關回調事件信息,則在「管理工具>通信錄同步>設置接收事件服務器」中獲取。編程
一、根據企業微信API模板建立雲函數
二、參照上文填寫配置參數。
三、在編程中編寫API。可以使用$modules.wcworkApi
調用部分已封裝API,使用$output
輸出。
鼠標移入可查看API說明。
四、保存測試。
編寫完成後,點擊右上方的保存按鈕保存代碼,並將此雲函數開啓。
在編程下方展開在線調試工具,點擊測試,查看運行結果。
五、在功能中調用雲函數。
確保雲函數無誤開啓後,在功能中建立API步驟,選擇「自定義API」,在選擇對應雲函數加以調用。json
一、以與雲函數相似的方式建立webhook,並配置相關參數。
二、按照如下格式編寫代碼瀏覽器
async function hook($req, $resp, $modules = modules) { //get 請求用於驗證有效性 if ($req.method == "GET") { //處理已封裝,可直接調用 $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 處理添加部門事件 } } handle(); } }
三、保存代碼,複製webhook路徑。
四、在企業微信後臺的消息回調配置中(自建應用的API接收消息或通信錄同步中的接收消息服務器設置)將複製的webhook路徑粘貼到url中。保存時將驗證有效性。
五、在瀏覽器中直接打開webhook路徑應顯示「ok」。使用企業微信作相關操做觸發回調以檢測webhook處理結果。服務器