微信官方的多客服接口原理是通过用户发送的信息,开发者服务器返回一条指定类型的响应信息,使用户的对话状态切换到官方的多客服状态(持续一段时间),这段时间内用户发送的所有信息都不会到达开发者的服务器,而是转到多客服的软件上。
本文原文地址:用c#开发微信 (18) 多客服
1 开通多客服
先开通微信认证;再从“功能”-》“添加功能插件“里选择“多客服”以开通多客服功能
2 添加客服工号
在“功能”-》“多客服”里添加客服工号:
3 启动多客服
3.1 在电脑上使用多客服接待
从上图中指示的位置下载多客服客户端,安装完后,用上面创建的客服工号登录多客服客户端
3.2 在微信上使用多客服接待
关注公众号”多客服助手“(duokefu)
关注后,再绑定客服工号
4 多客服开发
4.1 用户发消息触发客服
开发很简单,只用在CustomMessageHandler里的OnTextRequest方法里加上下面的代码即可:
if (requestMessage.Content == "人工客服")
{
return this.CreateResponseMessage<ResponseMessageTransfer_Customer_Service>();
}
注意,不用改变此方法里原有的代码,只是添加上面的代码。不清楚这个方法的用法可参考《用c#开发微信(3)基于Senparc.Weixin框架的接收普通消息处理 (源码下载)》。
这段代码添加完成后,就基本实现了多客服功能了,只要微信用户给公众号发送“人工客服”后就可进入多客服状态,跟客服人员聊天了。
4.2 菜单触发客服
每次要微信用户输入这几个字有点麻烦,我们可以创建一个菜单,让用户点一下菜单就行了:
然后在CustomMessageHandler里的OnEvent_ClickRequest事件里也添加上面同样的代码。
关于自定义菜单可参考《用c#开发微信(5)自定义菜单设置工具 (在线创建)》
5 测试
用户点公众号里“人工客服”菜单,在多客服客户端就会出现“1人等待接入”,点击它后,出现未接入客户列表,勾选要接入的客户,然后点击“接入”
接入之后,就可以开始客服聊天了:
测试了文字和图片完全没问题,但用户不能发语音和视频给客服,客服却可以发语音给用户:
另外,多客服客户端还可以实现下面的功能,大家可以试下:
- 自动接入
- 转接会话
- 会话自动关闭(如5分钟用户没回复)
- 接入提示语设置
- 工号自动回复
- 主号自动回复