第三方客服系统接入 - 接收用户和机器人消息

配置信息

例如:

  • APPID: xxxxxxxxxxxxxxx
  • TOKEN: xxxxxxxxxxxxxxx
  • EncodingAESKey: xxxxxxxxxxxxxxx

批量设置用户标签接口:

请按照下面路径配置好人工客服回调接口

机器人设置 -> 绑定应用 -> 开放接口 -> 人工客服回调

authentication

人工客服回调接口:

注意:当客服接入状态为1已接入时,第三方客服系统将不会接收到机器人回答的数据上报

接口类型:

POST请求

Content-type: application/json 的json请求

参数说明:

字段 类型 是否必填 描述
encrypted string 对话内容加密后字符串

请参考 消息加解密接入指引 进行消息的解密

注意在使用消息解密的过程中,MsgSignature,TimeStamp,Nonce 3个字段直接填入空字符串, 仅进行解密既可,不需要进行签名校验, 另外再使用官方提供的解密demo时注意不能直接使用,因为返回的数据结果不是包在xml中的

<xml>
    <Encrypt>
    <![CDATA[LDFAmKFr7U/RMmwRbsR676wjym90byw7+hhh226e8bu6KVYy00HheIsVER4eMgz/VBtofSaeXXQBz6fVdkN2CzBUaTtjJeTCXEIDfTBNxpw/QRLGLq
    qMZHA3I+JiBxrrSzd2yXuXst7TdkVgY4lZEHQcWk85x1niT79XLaWQog+OnBV31eZbXGPPv8dZciKqGo0meTYi+fkMEJdyS8OE7NjO79vpIyIw7hMBtEXPBK/tJGN5m5SoAS
    6I4rRZ8Zl8umKxXqgr7N8ZOs6DB9tokpvSl9wT9T3E62rufaKP5EL1imJUd1pngxy09EP24O8Th4bCrdUcZpJio2l11vE6bWK2s5WrLuO0cKY2GP2unQ4fDxh0L4ePmNOVFJ
    wp9Hyvd0BAsleXA4jWeOMw5nH3Vn49/Q/ZAQ2HN3dB0bMA+6KJYLvIzTz/Iz6vEjk8ZkK+AbhW5eldnyRDXP/OWfZH2P3WQZUwc/G/LGmS3ekqMwQThhS2Eg5t4yHv0mAIei
    07Lknip8nnwgEeF4R9hOGutE9ETsGG4CP1LHTQ4fgYchOMfB3wANOjIt9xendbhHbu51Z4OKnA0F+MlgZomiqweT1v/+LUxcsFAZ1J+Vtt0FQXElDKg+YyQnRCiLl3I+GJ/c
    xSj86XwClZC3NNhAkVU11SvxcXEYh9smckV/qRP2Acsvdls0UqZVWnPtzgx8hc8QBZaeH+JeiaPQD88frNvA==]]> </Encrypt>
    <MsgSignature></MsgSignature>
    <TimeStamp>1411034505</TimeStamp>
    <Nonce></Nonce>
</xml>

而是直接将Encrypt 返回在JSON中,直接调用官方Demo示例中的decrypt方法就可以了 而不是 decryptMsg

解密后的数据格式如下:


<xml>
  <userid>用户的唯一ID,(通常为用户在微信的openid)</userid>
  <appid>应用的appid</appid>
  <content>
    <msg>机器人或用户的的内容</msg>
  </content>
  <event>userEnter</event>
  <from>对话来源ID 0/1/2/3</from>
  <status>客服接入状态 0/1</status>
  <channel>渠道id 0</channel>
  <assessment>用户评价0/1/2/3/4/5</assessment>
  <createtime>unix时间戳</createtime>
</xml>

content 字段为复合型数据结构 , 当 from === 1 为顾客发送的问题, 可能为纯文本或富文本, 当 from === 2 是为机器人自动回复的内容

返回值说明:

字段 类型 是否必填 描述
userid string 用户的微信openid
appid string 公众号或小程序的appid
content object 机器人回复或顾客问题
channel number 渠道ID,详见渠道对映表
from number 对话来源
event string 用户触发事件
status number 客服接入状态
assessment number 客户评价

客服接入状态(status):

状态ID 描述
0 未接入
1 已接入

对话来源(from):

来源ID 描述
0 用户发出的内容
1 机器人回复的内容
2 客服在微信对话开放平台上进行回复时的内容

渠道说明(channel):

渠道ID 渠道描述
0 接入方式为,扫码绑定的公众号、小程序接入智能对话的渠道
2 接入方式为,通过开放接口方式接入智能对话的渠道
6 接入方式为,小程序插件接入智能对话的渠道
7 接入方式为,网页H5机器人智能对话的渠道

客服触发事件(event):

事件Key 描述
userEnter 用户进入
userQuit 用户离开

目前仅支持H5

客户评价(assessment):

assessment 描述
0 非客户评价消息
1 很不满
2 不满
3 一般
4 满意
5 很满意

错误码说明:

{
    errcode: 1001,
    errmsg: "TOKEN is not valid"
}
错误码 描述
1001 token无效
1002 机器人审核没有通过
1003 签名缺少userid字段
1004 签名字段为空
1005 签名过期或无效
1006 签名校验失败,缺少userid字段