微信公众平台开发技术-客服接口
原创客服接口的功能是将普通微信用户向公众号发出的消息转发到客服系统。通过客服系统,客服人员可以查看并回复用户,也可以灵活地管控客服人员的登录账号和任务。
公众号处于开发模式时,普通微信用户向公众号发消息时,微信服务器会先将消息传递到开发者填写的 URL 上,如果希望将消息转发到客服系统,则需要开发者在响应包中返回 MsgType 为 transfer_customer_service 的消息,微信服务器收到响应后会把当次发送的消息转发至客服系统。出于用户特定的需要,也可以为用户指定客服,那么就可以在返回 transfer_customer_service 消息时,在 XML 中附上 TransInfo 信息指定分配给某个客服账号。
客服接口客服接口的功能是将普通微信用户向公众号发出的消息转发到客服系统。通过客服系统,客服人员可以查看并回复用户,也可以灵活地管控客服人员的登录账号和任务。
公众号处于开发模式时,普通微信用户向公众号发消息时,微信服务器会先将消息传递到开发者填写的 URL 上,如果希望将消息转发到客服系统,则需要开发者在响应包中返回 MsgType 为 transfer_customer_service 的消息,微信服务器收到响应后会把当次发送的消息转发至客服系统。出于用户特定的需要,也可以为用户指定客服,那么就可以在返回 transfer_customer_service 消息时,在 XML 中附上 TransInfo 信息指定分配给某个客服账号。
消息转发到客服接入客服接口后,当用户与客服处于会话过程中时,用户发送的消息会直接转发至客服系统,直到客服关闭会话。如果超过 30 min 客服一直没有关闭会话,那么微信服务器将停止转发至客服系统,而继续发送到开发者填写的 URL 上。用户在等待队列中时,用户发送的消息仍然会被推送至开发者填写的 URL 上。
需要特别注意的是,微信服务器只针对微信用户发来的消息进行转发,而对于其他任何事件(包括菜单点击、地理位置上报等)都不应该转接,否则客服在客服系统上就会看到一些无意义的消息。
响应包数据如下:
1. <xml> 2. <ToUserName><![CDATA[touser]]></ToUserName> 3. <FromUserName><![CDATA[fromuser]]></FromUserName> 4. <CreateTime>1399197672</CreateTime> 5. <MsgType><![CDATA[transfer_customer_service]]></MsgType> 6. </xml>
以上响应数据包中包含 MsgType 为 transfer_customer_service 的消息,故微信服务器会将该消息直接转发至客服系统。
在多客服人员同时登录客服并开启了自动接入且在进行接待的条件下,客户消息转发至客服时,多客服系统会将客户随机分配给其中一个客服人员。若有将某个客户的消息转给指定客服接待的需求,可以在返回 transfer_customer_service 消息时附上 TransInfo 信息以指定一个客服账号 KfAccount。但如果指定的客服处于没有接入能力的状态下(不在线、没有开启自动接入或者自动接入已满),该用户也会被直接接入到指定客服,不再通知其他客服,更不会被其他客服接待。所以建议开发者在指定客服时,要确保该客服具有接入能力,这样才能保证客户能及时地得到服务。
1. <xml> 2. <ToUserName><![CDATA[touser]]></ToUserName> 3. <FromUserName><![CDATA[fromuser]]></FromUserName> 4. <CreateTime>1399197672</CreateTime> 5. <MsgType><![CDATA[transfer_customer_service]]></MsgType> 6. <TransInfo> 7. <KfAccount><![CDATA[test1@test]]></KfAccount> 8. </TransInfo> 9. </xml>
1. 获取客服基本信息
• 接口调用请求说明。
HTTP 请求方式:GET。
https://www.wechatadd.com
• 返回说明。
返回数据示例(正确时的 JSON 返回结果):
1. { 2. "kf_list" : [ 3. { 4. "kf_account" : "test1@test", 5. "kf_headimgurl" : "https://www.wechatadd.com HvnphkyGtnvjfUS8Ym0GSaLic0FD3vN0V8PILcibEGb2fPfEOmw/0", 6. "kf_id" : "1001", 7. "kf_nick" : "ntest1", 8. "kf_wx" : "kfwx1" 9. }, 10. { 11. "kf_account" : "test2@test", 12. "kf_headimgurl" : "https://www.wechatadd.com HvnphkyGtnvjfUS8Ym0GSaLic0FD3vN0V8PILcibEGb2fPfEOmw/0", 13. "kf_id" : "1002", 14. "kf_nick" : "ntest2", 15. "kf_wx" : "kfwx2" 16. }, 17. { 18. "kf_account" : "test3@test", 19. "kf_headimgurl" : "https://www.wechatadd.com HvnphkyGtnvjfUS8Ym0GSaLic0FD3vN0V8PILcibEGb2fPfEOmw/0", 20. "kf_id" : "1003", 21. "kf_nick" : "ntest3", 22. "invite_wx" : "kfwx3", 23. "invite_expire_time" : 123456789, 24. "invite_status" : "waiting" 25. } 26. ] 27. }
表 8-1 对所用参数进行了说明,具体如下。
表 8-1 获取客服基本信息参数说明

2. 添加客服账号
• 调用请求说明。
HTTP 请求方式:POST。
https://www.wechatadd.com
POST 数据示例如下:
1. { 2. 「kf_account」 : 「test1@test」, 3. 「nickname」 : 「客服 1」 4. }
表 8-2 对所用参数进行了说明,具体如下。
表 8-2 添加客服账号参数说明
参数名称 | 描述 |
kf_account | 完整客服账号,格式为账号前缀@微信公众号,账号前缀最多 10 个字符,必须是英文、数字字符或者下画线,后缀为微信公众号,长度不超过 30 个字符 |
nickname | 客服昵称,最长 16 个字 |
• 返回说明。
返回数据示例(正确时的 JSON 返回结果):
1. { 2. "errcode" : 0, 3. "errmsg" : "ok" 4. }
表 8-3 对返回码进行了说明,具体如下。
表 8-3 添加客服账号返回码说明

3. 邀请绑定客服账号
新添加的客服账号是不能直接使用的,只有客服人员用微信号绑定了客服账号后,方可登录以进行操作。此接口发起一个绑定邀请到客服人员微信号,客服人员需要在微信客户端上用该微信号确认,然后账号才可用。尚未绑定微信号的账号可以进行绑定邀请操作,邀请未失效时不能对该账号再次进行绑定邀请。
• 调用请求说明。
HTTP 请求方式:POST。
https://www.wechatadd.com
POST 数据示例如下:
1. { 2. "kf_account" : "test1@test", 3. "invite_wx" : "test_kfwx" 4. }
表 8-4 对邀请绑定客服账号所用参数进行说明,具体如下。
表 8-4 邀请绑定客服账号参数说明
参数名称 | 描述 |
kf_account | 完整客服账号,格式为账号前缀@微信公众号 |
invite_wx | 接收绑定邀请的客服微信号 |
• 返回说明。
返回数据示例(正确时的 JSON 返回结果):
1. { 2. "errcode" : 0, 3. "errmsg" : "ok" 4. }
表 8-5 对返回码进行了说明,具体如下。
表 8-5 邀请绑定客服账号返回码说明

4. 设置客服信息
• 调用请求说明。
HTTP 请求方式:POST。
https://www.wechatadd.com
POST 数据示例如下:
1. { 2. 「kf_account」 : 「test1@test」, 3. 「nickname」 : 「客服 1」 4. }
表 8-6 对设置客服信息所用参数进行了说明,具体如下。
表 8-6 设置客服信息参数说明
参数名称 | 描述 |
kf_account | 完整客服账号,格式为账号前缀@微信公众号 |
nickname | 客服昵称,最长 16 个字 |
• 返回说明。
返回数据示例(正确时的 JSON 返回结果):
1. { 2. "errcode" : 0, 3. "errmsg" : "ok" 4. }
表 8-7 对返回码进行了说明,具体如下。
表 8-7 设置客服信息返回码说明

5. 上传客服头像
• 调用请求说明。
HTTP 请求方式:POST/FORM。
https://www.wechatadd.com;kf_account=KFACCOUNT
调用示例(使用 curl 命令,用 FORM 表单方式上传一个多媒体文件):
curl -F media=@test.jpg "https://www.wechatadd.com;kf_account=KFACCOUNT"
表 8-8 对上传客服头像所用参数进行了说明,具体如下。
表 8-8 上传客服头像参数说明
参数名称 | 描述 |
kf_account | 完整客服账号,格式为账号前缀@微信公众号 |
media | form-data 中媒体文件标识,有 filename、filelength、content-type 等信息,文件大小为 5 MB 以内 |
• 返回说明。
返回数据示例(正确时的 JSON 返回结果):
1. { 2. "errcode" : 0, 3. "errmsg" : "ok" 4. }
表 8-9 对返回码进行了说明,具体如下。
表 8-9 上传客服头像返回码说明

6. 删除客服账号
• 调用请求说明。
HTTP 请求方式:POST/FORM。
https://www.wechatadd.com;kf_account=KFACCOUNT
表 8-10 对删除客服账号所用参数进行了说明,具体如下。
表 8-10 删除客服账号参数说明
参数名称 | 描述 |
kf_account | 完整客服账号,格式为账号前缀@微信公众号 |
• 返回说明。
返回数据示例(正确时的 JSON 返回结果):
1. { 2. "errcode" : 0, 3. "errmsg" : "ok" 4. }
表 8-11 对返回码进行了说明,具体如下。
表 8-11 删除客服账号返回码说明
返回码 | 说明 |
0 | 成功 |
65400 | API 不可用,即没有开通或没有升级到新版客服功能 |
65401 | 无效客服账号 |
1. 创建会话
此接口在客服和用户之间创建一个会话,如果该客服和用户会话已存在,则直接返回 0。指定的客服账号必须已经绑定微信号且在线。
• 调用请求说明。
HTTP 请求方式:POST。
https://www.wechatadd.com
POST 数据示例如下:
1. { 2. "kf_account" : "test1@test", 3. "openid" : "OPENID" 4. }
表 8-12 对创建会话所用参数进行了说明,具体如下。
表 8-12 创建会话参数说明
参数名称 | 描述 |
kf_account | 完整客服账号,格式为账号前缀@微信公众号 |
openid | 粉丝的 OpenID |
• 返回说明。
返回数据示例(正确时的 JSON 返回结果):
1. { 2. "errcode" : 0, 3. "errmsg" : "ok" 4. }
2. 关闭会话
• 调用请求说明。
HTTP 请求方式:POST。
https://www.wechatadd.com
POST 数据示例如下:
1. { 2. "kf_account" : "test1@test", 3. "openid" : "OPENID" 4. }
表 8-13 对关闭会话所用参数进行了说明,具体如下。
表 8-13 关闭会话参数说明
参数名称 | 描述 |
kf_account | 完整客服账号,格式为账号前缀@微信公众号 |
openid | 粉丝的 OpenID |
• 返回说明。
返回数据示例(正确时的 JSON 返回结果):
1. { 2. "errcode" : 0, 3. "errmsg" : "ok" 4. }
表 8-14 对返回码进行了说明,具体如下。
表 8-14 关闭会话返回码说明

3. 获取客户会话状态
此接口获取一个客户的会话,如果不存在,则 kf_account 为空。
• 调用请求说明。
HTTP 请求方式:GET。
https://www.wechatadd.com KEN&openid=OPENID
表 8-15 对获取客户会话状态所用参数进行了说明,具体如下。
表 8-15 获取客户会话状态参数说明
参数名称 | 描述 |
openid | 粉丝的 OpenID |
• 返回说明。
返回数据示例(正确时的 JSON 返回结果):
1. { 2. "createtime" : 123456789, 3. "kf_account" : "test1@test" 4. }
表 8-16 对返回码进行了说明,具体如下。
表 8-16 获取客户会话状态返回码说明
返回码 | 说明 |
0 | 成功 |
65400 | API 不可用,即没有开通或没有升级到新版客服功能 |
40003 | 非法的 OpenID |
4. 获取客服会话列表
• 调用请求说明。
HTTP 请求方式:GET。
https://www.wechatadd.com;kf_account=KFACCOUNT
表 8-17 对获取客服会话列表所用参数进行说明,具体如下。
表 8-17 获取客服会话列表参数说明
参数名称 | 描述 |
kf_account | 完整客服账号,格式为账号前缀@微信公众号 |
• 返回说明。
返回数据示例(正确时的 JSON 返回结果):
1. { 2. "sessionlist" : [ 3. { 4. "createtime" : 123456789, 5. "openid" : "OPENID" 6. }, 7. { 8. "createtime" : 123456789, 9. "openid" : "OPENID" 10. } 11. ] 12. }
5. 获取未接入会话列表
• 调用请求说明。
HTTP 请求方式:GET。
https://www.wechatadd.com?access_token=ACCESS_TOKEN 表 8-18 对获取未接入会话列表所用参数进行了说明,具体如下。
表 8-18 获取未接入会话列表参数说明

• 返回说明。
返回数据示例(正确时的 JSON 返回结果):
1. { 2. "count" : 150, 3. "waitcaselist" : [ 4. { 5. "latest_time" : 123456789, 6. "openid" : "OPENID" 7. }, 8. { 9. "latest_time" : 123456789, 10. "openid" : "OPENID" 11. } 12. ] 13. }
表 8-19 对返回码进行说明,具体如下。
表 8-19 获取未接入会话列表返回码说明

版权保护: 本文由 李斯特 原创,转载请保留链接: https://www.wechatadd.com/artdet/9559
- 上一篇:微信公众平台开发技术-业务流程
- 下一篇:微信公众平台开发技术-获取聊天记录
阅读推荐
更多...- 打造属于自己的销售神话包容心——海纳百川的胸怀 2023-04-01
- 销售成功的第二步:如何讲解产品卖点? 2023-05-22
- 反脆弱系统:高收益和低风险两手都要抓 2022-07-23
- [微信创业]不能卖货也不能卖课咋办? 2023-07-11
- 地点交友,即时通信 2023-07-14
- 什么是营销事件?怎样策划营销事件,操作步骤有哪些? 2022-06-30
- 基金定投的优势 2024-07-06
- 告诉客户「你本来就很好」,提高销售技巧 2023-04-14
- 「下一步」策略「销售技巧」 2023-03-02
- 我适合做销售吗?实现您的梦想和目标,获得成功和财富 2023-05-21
- 风险投资的钱是从哪里来的? 2023-10-08
- 微商经营模式定位是什么意思? 2022-07-21
- 8大要求,打造微商爆款软文标题 2022-07-06
- 销售命脉,客户业绩增长了100% 2023-04-14
- 面对一个客户,你心里怎么想「销售管理」 2023-03-02
- (互联网+思维)归属感:用户为什么会参与 2022-07-27
- 知识产权创造、保护及运用 2023-09-06
- 订阅号取名改名的7个技巧 2023-07-02