2024年小程序客服自动回复(微信小程序客服自动回复消息功能采坑)
2024-02-26
王柯团队

小程序接入客服,我们就需要调用微信客服功能。很简单,只需要在页面中使用
<button open-type="contact" />
可以显示进入客服会话按钮。
然后我们就能登录网页版的微信公众平台的客服页面进去回复各种千奇百怪的问题了。
但是有个问题,我们如何做到自动回复呢?
那么就需要通过自己的服务器去通过微信端请求服务,完成这项工作。
接入指引 ・ 小程序
developers.weixin.qq.com
附上官网接入指南,这可是相当的简洁。
First
填写服务器配置的图:
在这里填写的同时我们需要在后台写 get 请求验证。
官方提供了一个非常简洁的一个 php 代码。。那是相当的坑爹啊。
这里我是用 express 写得提供一个例子
function checkSignature(params) { var key = [params.token, params.timestamp, params.nonce].sort().join(''); var sha1 = crypto.createHash('sha1'); sha1.update(key); return sha1.digest('hex') === params.signature; } app.get('/wxlalalala', function(req, res, next) { let token = 'xxxxx'; // 填写服务器配置上所填的token let isCheck = checkSignature({ signature: req.query.signature, timestamp: req.query.timestamp, nonce: req.query.nonce, token: token, }); req.body = req.query.echostr; res.send(req.body); return req.body; });
然后我们就完成了最关键的一步。之后就可以去写,客户发了什么我们就自动回啥的逻辑。
Second
当我们去接受客户发的消息和事件,我们都需要去通过一个post去接受。
当然第一我们需要先去拿`access_token`。没有这个我们啥事情都做不了。
给上一个官方网站:
接口调用凭证 ・ 小程序
developers.weixin.qq.com
但是毫无代码示例,算了还在自己撸吧。
以下自己的code:
let access_token = ''; const getAccessToken = function() { if (access_token !== '') { return access_token; } let URL ='https://api.weixin.qq.com/cgi-bin/token?grant_type= client_credential&appid=xxxx&secret=sssss'; // grant_type一定要填client_credential. let options = { method: 'GET', url: URL, }; return new Promise((resolve, reject) => { request(options, function(err, res, body) { if (res) { access_token = JSON.parse(body).access_token; let expires_in = parseInt(JSON.parse(body).expires_in) - 10; setTimeout(() => { access_token = ''; }, expires_in * 1000); resolve(access_token); } else { reject(err); } }); }); };
因为token有7200s的过期时间,所以就存在内存里了。
Ok这个我们就有`access_token`能去做客服自动回复啦!
Third
再来一个官方客服发送消息的文档:

微信扫码上方二维码,可领取2025年最新互联网创业项目!
项目收款截图








推荐阅读: