接收消息和事件

在页面中使用 <button open-type="contact" /> 可以显示进入客服会话按钮。

当用户在客服会话发送消息、或由某些特定的用户操作引发事件推送时,微信服务器会将消息或事件的数据包发送到开发者填写的 URL,如果使用的是云开发,则可以推送到指定的云函数(详情请参考消息推送)。开发者收到请求后可以使用 发送客服消息 接口进行异步回复。

各消息类型的推送JSON、XML数据包结构如下。

文本消息

用户在客服会话中发送文本消息时将产生如下数据包:

XML 格式

  1. <xml>
  2. <ToUserName><![CDATA[toUser]]></ToUserName>
  3. <FromUserName><![CDATA[fromUser]]></FromUserName>
  4. <CreateTime>1482048670</CreateTime>
  5. <MsgType><![CDATA[text]]></MsgType>
  6. <Content><![CDATA[this is a test]]></Content>
  7. <MsgId>1234567890123456</MsgId>
  8. </xml>

JSON 格式

  1. {
  2. "ToUserName": "toUser",
  3. "FromUserName": "fromUser",
  4. "CreateTime": 1482048670,
  5. "MsgType": "text",
  6. "Content": "this is a test",
  7. "MsgId": 1234567890123456
  8. }

参数说明

参数说明
ToUserName小程序的原始ID
FromUserName发送者的openid
CreateTime消息创建时间(整型)
MsgTypetext
Content文本消息内容
MsgId消息id,64位整型

图片消息

用户在客服会话中发送图片消息时将产生如下数据包:

XML 格式

  1. <xml>
  2. <ToUserName><![CDATA[toUser]]></ToUserName>
  3. <FromUserName><![CDATA[fromUser]]></FromUserName>
  4. <CreateTime>1482048670</CreateTime>
  5. <MsgType><![CDATA[image]]></MsgType>
  6. <PicUrl><![CDATA[this is a url]]></PicUrl>
  7. <MediaId><![CDATA[media_id]]></MediaId>
  8. <MsgId>1234567890123456</MsgId>
  9. </xml>

JSON 格式

  1. {
  2. "ToUserName": "toUser",
  3. "FromUserName": "fromUser",
  4. "CreateTime": 1482048670,
  5. "MsgType": "image",
  6. "PicUrl": "this is a url",
  7. "MediaId": "media_id",
  8. "MsgId": 1234567890123456
  9. }

参数说明

参数说明
ToUserName小程序的原始ID
FromUserName发送者的openid
CreateTime消息创建时间(整型)
MsgTypeimage
PicUrl图片链接(由系统生成)
MediaId图片消息媒体id,可以调用获取临时素材接口拉取数据。
MsgId消息id,64位整型

小程序卡片消息

用户在客服会话中发送小程序卡片消息时将产生如下数据包:

XML 格式

  1. <xml>
  2. <ToUserName><![CDATA[toUser]]></ToUserName>
  3. <FromUserName><![CDATA[fromUser]]></FromUserName>
  4. <CreateTime>1482048670</CreateTime>
  5. <MsgType><![CDATA[miniprogrampage]]></MsgType>
  6. <MsgId>1234567890123456</MsgId>
  7. <Title><![CDATA[Title]]></Title>
  8. <AppId><![CDATA[AppId]]></AppId>
  9. <PagePath><![CDATA[PagePath]]></PagePath>
  10. <ThumbUrl><![CDATA[ThumbUrl]]></ThumbUrl>
  11. <ThumbMediaId><![CDATA[ThumbMediaId]]></ThumbMediaId>
  12. </xml>

JSON 格式

  1. {
  2. "ToUserName": "toUser",
  3. "FromUserName": "fromUser",
  4. "CreateTime": 1482048670,
  5. "MsgType": "miniprogrampage",
  6. "MsgId": 1234567890123456,
  7. "Title":"title",
  8. "AppId":"appid",
  9. "PagePath":"path",
  10. "ThumbUrl":"",
  11. "ThumbMediaId":""
  12. }

参数说明

参数说明
ToUserName小程序的原始ID
FromUserName发送者的openid
CreateTime消息创建时间(整型)
MsgTypeminiprogrampage
MsgId消息id,64位整型
Title标题
AppId小程序appid
PagePath小程序页面路径
ThumbUrl封面图片的临时cdn链接
ThumbMediaId封面图片的临时素材id

进入会话事件

用户在小程序“客服会话按钮”进入客服会话时将产生如下数据包:

XML 格式

  1. <xml>
  2. <ToUserName><![CDATA[toUser]]></ToUserName>
  3. <FromUserName><![CDATA[fromUser]]></FromUserName>
  4. <CreateTime>1482048670</CreateTime>
  5. <MsgType><![CDATA[event]]></MsgType>
  6. <Event><![CDATA[user_enter_tempsession]]></Event>
  7. <SessionFrom><![CDATA[sessionFrom]]></SessionFrom>
  8. </xml>

JSON 格式

  1. {
  2. "ToUserName": "toUser",
  3. "FromUserName": "fromUser",
  4. "CreateTime": 1482048670,
  5. "MsgType": "event",
  6. "Event": "user_enter_tempsession",
  7. "SessionFrom": "sessionFrom"
  8. }

参数说明

参数说明
ToUserName小程序的原始ID
FromUserName发送者的openid
CreateTime事件创建时间(整型)
MsgTypeevent
Event事件类型,user_enter_tempsession
SessionFrom开发者在客服会话按钮设置的 session-from 属性