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