用c#开发微信 (18) 多客服

本文详细介绍了如何使用C#开发微信多客服功能,包括开通多客服、添加客服工号、多客服开发和测试等步骤。实现微信用户通过发送特定信息或菜单触发与客服的互动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

微信官方的多客服接口原理是通过用户发送的信息,开发者服务器返回一条指定类型的响应信息,使用户的对话状态切换到官方的多客服状态(持续一段时间),这段时间内用户发送的所有信息都不会到达开发者的服务器,而是转到多客服的软件上。

 

本文原文地址:用c#开发微信 (18) 多客服

1 开通多客服

先开通微信认证;再从“功能”-》“添加功能插件“里选择“多客服”以开通多客服功能

 

2 添加客服工号

在“功能”-》“多客服”里添加客服工号:

image

 

 

 

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 菜单触发客服

每次要微信用户输入这几个字有点麻烦,我们可以创建一个菜单,让用户点一下菜单就行了:

image

然后在CustomMessageHandler里的OnEvent_ClickRequest事件里也添加上面同样的代码。

关于自定义菜单可参考《用c#开发微信(5)自定义菜单设置工具 (在线创建)

 

 

5 测试

用户点公众号里“人工客服”菜单,在多客服客户端就会出现“1人等待接入”,点击它后,出现未接入客户列表,勾选要接入的客户,然后点击“接入”

image

 

接入之后,就可以开始客服聊天了:

image

Screenshot_2015-06-18-08-03-52 

 

测试了文字和图片完全没问题,但用户不能发语音和视频给客服,客服却可以发语音给用户:

image

 

另外,多客服客户端还可以实现下面的功能,大家可以试下:

  • 自动接入
  • 转接会话
  • 会话自动关闭(如5分钟用户没回复)
  • 接入提示语设置
  • 工号自动回复
  • 主号自动回复

 

 

 

用c#开发微信 系列汇总

功能说明 1、可以对微信好友分类分组,比如分成客户组,员工组,可针对好友分组群发微信。 2、可以设置聊天机器人,让你的个人微信拥有自动根据预设关键字回复客户,跟据这功能可制成菜单型式的回复,使你的个人微信也具有微信公众号的功能,还不受众号那样的发信息限制。 3、集成了微信接口,具有获取好友列表及接收和发送微信功能,让你非常方便的集成到企业的OA办公系统、订单状态监控、服务器运行状态监控等。 使用说明: 1、请用手机微信扫描右边二维码登录系统(如不显示二维码,请“刷新页面”)。 2、本系统所有操作都是通过模拟控制网页实现,请不要直接操作右边的“微信网页版”,以免影响本软件的正常操作。 3、建议一个注册账号只对应一个微信账号,否则历史信息会混乱。 4、本软件免费用户信息带尾巴,批量发送每次限制10条,超过部分被忽略(用户可分多批发),使用时间不限制。 5、本软件付费会员不受以上第4条限制,会员时间到期后自动转成免费用户。 ***微信接口命令说明*** ****************************************** islogin 确定服务或微信是否登录 返内容如下几种: 1)"已登录" 表示都已经登录 2)"客服微信都未登录" 3)"客服未登录' 4)"微信未登录" Url示例:http://127.0.0.1:8081/islogin ****************************************** logincode 取得登录二维码图片,以便远程手机扫描登录 如果返回非图片,表示出错或返回"微信已登录"这几字 网页中显示图示例: ****************************************** list 获取客户列表 以Xml文本格式返回列表 开发者可以直接转为DataTable,C#代码示例如下: WebClient webc = new WebClient(); string xmltxt=webc.DownloadString("http://127.0.0.1:8081/list"); DataTable dt=XmlTxtToDataTable(xmltxt); private DataTable XmlTxtToDataTable(string XmlTxt) {//Xml文本转DataTable XmlDocument doc = new XmlDocument(); doc.LoadXml(XmlTxt); XmlNodeReader xnr = new XmlNodeReader(doc); DataSet ds = new DataSet(); ds.ReadXml(xnr); DataTable dt = ds.Tables[0]; return dt; } ****************************************** getimg 取得客户图标 参数 uname=客户名(必选) (用list获取到的客户名) 如果返回非图片,表示出错或返回"客户名为空或找不到。"等字符 网页中显示图示例: ****************************************** send 发送信息 参数 uname=目标客户名(必选) (用list获取到的客户名) msg=信息内容(必选) time=定时发送时间(可选),格式:"yyyy-MM-dd HH:mm:ss" msid=调用者定的信息ID(可选,是大于0数字才有效),用于在sendend判断发送结果 返回以下情况 1)"ok"表示成功加入到发送队列(不是已发成功),是否成功要用sendend命令根据"信息ID"查 2)返回其它信息表示出错信息 GET提交示例:http://127.0.0.1:8081/send?uname=客户名&msg=信息内容&time=2016-03-15 15:20:00&msid=3 ****************************************** sendend 判断发送结果 参数 msid=调用者在发送时定的信息ID 返回以下情况 "ok"=发送成功 "err"=发送出错
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值