在企業(yè)微信創(chuàng)建自建應用
1、登錄企業(yè)微信后臺,在“應用管理>自建”中點擊“創(chuàng)建應用”,填寫應用信息創(chuàng)建。
API配置表參數(shù)值獲取
1、corpid:企業(yè)ID。在企業(yè)微信后臺的“我的企業(yè)>企業(yè)信息”中獲取。
2、corpsecret:應用憑證密匙。在自建應用詳情中獲取。
如果要使用通訊錄相關API則corpsecret在“管理工具>通訊錄同步”中獲取。
3、AesKey及token:加密的AES KEY和消息token。
如果是接收外部聯(lián)系人變更回調等事件信息,則在“自建應用詳情>接收消息>設置API接收”中獲取。
如果是接收通訊錄相關回調事件信息,則在“管理工具>通訊錄同步>設置接收事件服務器”中獲取。
云函數(shù)使用
1、根據(jù)企業(yè)微信API模板創(chuàng)建云函數(shù)
2、參照上文填寫配置參數(shù)。
3、在編程中編寫API??墒褂?modules.wcworkApi調用部分已封裝API,使用$output輸出。
鼠標移入可查看API說明。
4、保存測試。
編寫完成后,點擊右上方的保存按鈕保存代碼,并將此云函數(shù)開啟。
在編程下方展開在線調試工具,點擊測試,查看運行結果。
5、在功能中調用云函數(shù)。
確保云函數(shù)無誤開啟后,在功能中創(chuàng)建API步驟,選擇“自定義API”,在選擇對應云函數(shù)加以調用。
Webhook使用
1、以與云函數(shù)類似的方式創(chuàng)建webhook,并配置相關參數(shù)。
2、按照以下格式編寫代碼
async function hook($req, $resp, $modules = modules) {
//get 請求用于驗證有效性
if ($req.method == "GET") {
//處理已封裝,可直接調用
$resp.body = await modules.wxworkApi.getVerifyMsg($req);
} else if ($req.method == "POST") {
//無法保證在五秒內處理完成,先回復(企業(yè)微信服務器在五秒內收不到響應會斷掉連接)
$resp.body = "success";
//處理
let handle = async () => {
//將數(shù)據(jù)轉換成json
let data = await modules.wxworkApi.getMsgData($req);
if (data.Event == "change_contact" && data.ChangeType == "create_party") {
//TODO 處理添加部門事件
}
}
handle();
} }
3、保存代碼,復制webhook路徑。
4、在企業(yè)微信后臺的消息回調配置中(自建應用的API接收消息或通訊錄同步中的接收消息服務器設置)將復制的webhook路徑粘貼到url中。保存時將驗證有效性。
5、在瀏覽器中直接打開webhook路徑應顯示“ok”。使用企業(yè)微信做相關操作觸發(fā)回調以檢測webhook處理結果。