通过NodeJS对接微信客服实现第三方API管理消息

最近项目有个需求,要对接微信客服,之前也没做过,一脸懵逼~~,我属于那种不知其然,就心里很没底的人,感觉不知道怎么去开发了,所以就趁着后端还没开发完接口,先自己对接一下试试
接下来就是整个流程

首先我们先注册一个企业微信

这一步是必须的,因为我们需要企业微信管理员是自己,只有管理员才能开通客服账号,以及后续我们进行第三方配置的时候都需要用到管理员账号
个人可以注册企业微信,所以我是一个人的身份注册了一个企业微信
刚开始企业微信的样子是这样的,你会发现并没有工作台之类的,这是因为我们暂时还不是企业管理员,没有设置应用,接下来我们要切换到企业管理员界面

在这里插入图片描述

  1. 我们打开企业微信,并点击左上角的小图标

在这里插入图片描述

  1. 然后点击第一个用户,这样就把你自己设置成了管理员

在这里插入图片描述

  1. 然后你就会发现,你的企业微信变成了下面的样子,这时候我们就可以看到工作台了,而我们微信客服也就在这里边能找到
    在这里插入图片描述

在这里插入图片描述

  1. 然后我们点击开始使用就可以了,默认第一个客服就是你自己,然后我们可以添加多个客服,我们测试的话就不需要太多了,自己酌情添加即可

在这里插入图片描述

登录微信客服体验客服功能

  1. 登录微信客服

官网地址:https://kf.weixin.qq.com/kf/loginpage

  1. 登入之后我们可以扫码进行体验,通过右上角的客户咨询消息,进行收发消息

在这里插入图片描述

  1. 这样我们就实现了微信内置的客服功能

进行第三方配置

这里我使用nodejs做服务端进行测试,在测试之前我们还要做一下配置

  1. 首先我们需要做一个内网穿透,将线上的地址映射到本地,这是为了后续的微信客服回调配置准备的

这里我使用的是natapp做的内网穿透工具,使用方式很简单,不明白的可以网上搜一下
需要注意的是,免费隧道是不能进行微信的测试的,所以我们需要购买一个隧道
这里我们买最便宜的VIP_1型即可

在这里插入图片描述


然后我们还需要买一个二级域名,绑定到购买的隧道,这样就可以了,二级域名随便,我买了一个3元/年~~
然后在隧道配置里修改二级域名绑定即可

在这里插入图片描述

  1. 绑定好二级域名之后,我们就可以在本地启动一个node服务器

这里我用的是express快速搭建的node服务器,你也可以使用其他的

  1. 然后我们设置好监听端口之后,别忘了在natapp中修改本地端口绑定,然后我们就可以在本地启动natapp
    在这里插入图片描述
    在这里插入图片描述

  2. 然后我们在微信客服后台->开发配置,点击开始接入,我这边现在是启用,是因为我已经接入了第三方URL

在这里插入图片描述

  1. 然后我们进入回调配置页面,将在natapp中申请的二级域名填到下面的回调URL中,然后下面的Token/EncodingAESKey我们直接点击随机获取即可,这时候我们点击完成,应该是会提示openapi回调地址请求不通过,所以我们还需要进行Node服务器配置

在这里插入图片描述

编写服务端代码

这里编写的服务端代码非常简单,我们只是需要正确响应微信客服的请求即可

这里我参考了一下这篇博客:https://blog.csdn.net/qq_35577655/article/details/123388612
这篇博客写的非常详细,但是他可能是对接的企业微信客服,而我这边是微信客服,所以还是有出入的
我的服务端代码如下:

const express = require('express')
const app = express()
app.use(express.json())
app.use(express.urlencoded({ extended: false }))
const { decrypt  } = require('@wecom/crypto');
const encodingAESKey = '你的encodingAESKey'
app.get('/', function(req, res) {
  const params = req.query
  const { message } = decrypt(encodingAESKey, params.echostr)
  res.send(message)
})

app.listen(3001, () => {
  console.log('server is running')
})

这里用到了@wecom/crypto这个库,这是微信专门给微信客服用于加密解密签名校验用的库
我们只需要通过decrypt这个方法将message解密出来,然后作为响应返回即可
这个时候我们在点击回调配置中的完成按钮,应该就可以通过了

在这里插入图片描述

通过postman等工具进行接口测试

接下来的事情就好办了,我们可以直接通过postman等工具进行微信客服的接口测试

  1. 首先我们需要获取access_token

参考:获取调用凭证access-token
这里需要注意的是,我们的corpsecret这里使用的应该是企业的secret

在这里插入图片描述

在这里插入图片描述

  1. 我们获取到access_token之后就可以使用postman进行各个接口测试了

比如获取消息事件接口:https://qyapi.weixin.qq.com/cgi-bin/kf/sync_msg?access_token=ACCESS_TOKEN

在这里插入图片描述

  1. 这样我们就已经将微信客服对接到了我们自己的服务器,可以自己进行管理消息的收发了
  2. 最后需要注意的是,我们在发送消息的时候msgid非必填,但是不要将msgid设置为空,直接去掉这个字段就好了,不然的话会报参数错误
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值