微信官方的多客服接口原理是通过用户发送的信息,开发者服务器返回一条指定类型的响应信息,使用户的对话状态切换到官方的多客服状态(持续一段时间),这段时间内用户发送的所有信息都不会到达开发者的服务器,而是转到多客服的软件上。
需要实现多客服,必须是通过验证的服务号,进入后台的【服务】>【服务中心】>【多客服】进行申请及设置,详细信息可以见官方公告:https://mp.weixin.qq.com/cgi-bin/readtemplate?t=news/vote_wkd_tmpl&lang=zh_CN
如果使用Senparc.Weixin.MP SDK,只需要在处理信息的时候返回类似的一条消息即可:
/// <summary> /// 处理文字请求 /// </summary> /// <returns></returns> public override IResponseMessageBase OnTextRequest(RequestMessageText requestMessage) { if (requestMessage.Content == "客服") { return this.CreateResponseMessage<ResponseMessageTransfer_Customer_Service>(); } }
注意:目前由于微信官方的限制(或者bug),无法使用菜单点击的响应切换到多客服状态。