1、登录企业微信后台,在“应用管理>自建”中点击“创建应用”,填写应用信息创建。
创建应用
1、corpid:企业ID。在企业微信后台的“我的企业>企业信息”中获取。
获取企业ID
2、corpsecret:应用凭证密匙。在自建应用详情中获取。
获取应用凭证密匙
如果要使用通讯录相关API则corpsecret在“管理工具>通讯录同步”中获取。
获取通讯录相关API
3、AesKey及token:加密的AES KEY和消息token。
如果是接收外部联系人变更回调等事件信息,则在“自建应用详情>接收消息>设置API接收”中获取。
找到“设置API接收”
获取
如果是接收通讯录相关回调事件信息,则在“管理工具>通讯录同步>设置接收事件服务器”中获取。
通讯录同步
设置接收事件服务器
获取
1、根据企业微信API模板创建云函数
创建云函数
2、参照上文填写配置参数。
填写参数
3、在编程中编写API。可使用$modules.wcworkApi调用部分已封装API,使用$output输出。
编写API
鼠标移入可查看API说明。
查看API说明
4、保存测试。
编写完成后,点击右上方的保存按钮保存代码,并将此云函数开启。
先1再2啊看清楚
在编程下方展开在线调试工具,点击测试,查看运行结果。
测试
5、在功能中调用云函数。
确保云函数无误开启后,在功能中创建API步骤,选择“自定义API”,再选择对应云函数加以调用。
调用
1、以与云函数类似的方式创建webhook,并配置相关参数。
配置参数
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") {
//无法保证在五秒内处理完成,先回复(企业微信服务器在五秒内收不到响应会断掉连接)
$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(); }}
3、保存代码,复制webhook路径。
保存后复制
4、在企业微信后台的消息回调配置中(自建应用的API接收消息或通讯录同步中的接收消息服务器设置)将复制的webhook路径粘贴到url中。保存时将验证有效性。
粘贴
5、在浏览器中直接打开webhook路径应显示“ok”。使用企业微信做相关操作触发回调以检测webhook处理结果。
测试