【笔记】云开发通过客服消息实现自动回复进群,同时兼容客服小助手
小程序不具备小程序内扫描二维码的能力,因此如果要实现关注公众号或加用户群功能大家一般都利用微信客服功能的自动回复来实现。此时如果自己去实现微信客服自动回复,客服小助手就不能用了,很令人纠结。经过我的研究,借助云开发找到了一个方案,可以实现当用户想获取微信群走自动回复的接口,真正咨询时,直接到客服小助手进行回复。 效果如下 [图片] 原理解析 云开发在做消息推送配置的时候可以配置消息类型,这个时候如果我们只配置一种类型(小程序卡片),那么就只有卡片才会被云函数接管做自动回复,其他消息类型(图片、文字)则正常走小程序客服的通道。 实现步骤 1.小程序端设置按钮属性open-type="contact",用于用户点击时带上定义的卡片跳到客服消息界面。 申请加入
2.新建云端的函数,设置config.json定义权限,如下config.json {
"permissions": {
"openapi": [
"customerServiceMessage.send",
"customerServiceMessage.uploadTempMedia",
"customerServiceMessage.setTyping"
]
}
}
3.写云函数端代码,如下 if (event.Title == "我要进用户群"||event.Title =="关注公众号"||event) {
//设置输入状态
cloud.openapi.customerServiceMessage.setTyping({
touser: OPENID,
command: 'Typing'
})
//从云储存中拉取图片数据
const qunimg = await cloud.downloadFile({
fileID: "cloud://pm-hsfip.706d-pm-hsfip-1259751853/img/qun.png",
})
//上传图片素材到媒体库,并获取到图片id
const qunmedia = await cloud.openapi.customerServiceMessage.uploadTempMedia({
type: 'image',
media: {
contentType: 'image/png',
value: qunimg.fileContent
}
})
//向用户发送群二维码
await cloud.openapi.customerServiceMessage.send({
touser: OPENID,
msgtype: 'image',
image: {
mediaId: qunmedia.mediaId,
}
})
//取消状态设置
cloud.openapi.customerServiceMessage.setTyping({
touser: OPENID,
command: 'CancelTyping'
})
}
4.设置消息推送,路径如下 云开发-设置-全局设置-云函数接收消息推送 中添加消息类型为miniprogrampage,绑定云函数为新建的云函数。 [图片] 5.微信公众平台绑定客服[图片] 注意事项 如果按照本教程 客服小助手无法收到消息 或 无法自动回复,可以先将以上消息推送配置删除,然后再微信后台绑定客服后,再重新进行消息推送配置。