• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

微信小程序开发--客服消息(接收和发送)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

接收消息和事件

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

当用户在客服会话发送消息(或进行某些特定的用户操作引发的事件推送时),微信服务器会将消息(或事件)的数据包(JSON或者XML格式)POST请求开发者填写的URL。开发者收到请求后可以使用发送客服消息接口进行异步回复。

微信服务器在将用户的消息发给小程序的开发者服务器地址(开发设置处配置)后,微信服务器在五秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次,如果在调试中,发现用户无法收到响应的消息,可以检查是否消息处理超时。关于重试的消息排重,有msgid的消息推荐使用msgid排重。事件类型消息推荐使用FromUserName + CreateTime 排重。

服务器收到请求必须做出下述回复,这样微信服务器才不会对此作任何处理,并且不会发起重试,否则,将出现严重的错误提示。详见下面说明:

1、直接回复success(推荐方式)
2、直接回复空串(指字节长度为0的空字符串,而不是结构体中content字段的内容为空)

一旦遇到以下情况,微信都会在小程序会话中,向用户下发系统提示“该小程序客服暂时无法提供服务,请稍后再试”:

1、开发者在5秒内未回复任何内容
2、开发者回复了异常数据

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

文本消息:

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

XML 格式

<xml>
   <ToUserName><![CDATA[toUser]]></ToUserName>
   <FromUserName><![CDATA[fromUser]]></FromUserName>
   <CreateTime>1482048670</CreateTime>
   <MsgType><![CDATA[text]]></MsgType>
   <Content><![CDATA[this is a test]]></Content>
   <MsgId>1234567890123456</MsgId>
</xml>

JSON 格式

{
    "ToUserName": "toUser",      //小程序的原始ID
    "FromUserName": "fromUser",   //发送者的openid 
    "CreateTime": 1482048670,    //消息创建时间(整型)
    "MsgType": "text",        //消息类型
    "Content": "this is a test",   //文本消息内容
    "MsgId": 1234567890123456    //消息id,64位整形
}

图片消息

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

XML 格式

<xml>
      <ToUserName><![CDATA[toUser]]></ToUserName>
      <FromUserName><![CDATA[fromUser]]></FromUserName>
      <CreateTime>1482048670</CreateTime>
      <MsgType><![CDATA[image]]></MsgType>
      <PicUrl><![CDATA[this is a url]]></PicUrl>
      <MediaId><![CDATA[media_id]]></MediaId>
      <MsgId>1234567890123456</MsgId>
</xml>

JSON 格式

{
    "ToUserName": "toUser",    //小程序的原始ID
    "FromUserName": "fromUser",  //发送者的openid
    "CreateTime": 1482048670,   //消息创建时间(整型)
    "MsgType": "image",      //消息类型
    "PicUrl": "this is a url",   //图片链接(由系统生成)
    "MediaId": "media_id",     //图片消息媒体id,可以调用获取临时素材接口拉取数据
    "MsgId": 1234567890123456   //消息id,64位整型
}

图片消息

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

XML 格式

<xml>
      <ToUserName><![CDATA[toUser]]></ToUserName>
      <FromUserName><![CDATA[fromUser]]></FromUserName>
      <CreateTime>1482048670</CreateTime>
      <MsgType><![CDATA[image]]></MsgType>
      <PicUrl><![CDATA[this is a url]]></PicUrl>
      <MediaId><![CDATA[media_id]]></MediaId>
      <MsgId>1234567890123456</MsgId>
</xml>

JSON 格式

{
    "ToUserName": "toUser",     //小程序的原始ID
    "FromUserName": "fromUser",    //发送者的openid
    "CreateTime": 1482048670,    //消息创建时间(整型)
    "MsgType": "image",       //消息类型
    "PicUrl": "this is a url",    //图片链接(由系统生成)
    "MediaId": "media_id",      //图片消息媒体id,可以调用获取临时素材接口拉取数据。
    "MsgId": 1234567890123456    //消息id,64位整型
}

小程序卡片消息

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

XML 格式

<xml>
    <ToUserName><![CDATA[toUser]]></ToUserName>
    <FromUserName><![CDATA[fromUser]]></FromUserName>
    <CreateTime>1482048670</CreateTime>
    <MsgType><![CDATA[miniprogrampage]]></MsgType>
    <MsgId>1234567890123456</MsgId>
    <Title><![CDATA[Title]]></Title>
    <AppId><![CDATA[AppId]]></AppId>
    <PagePath><![CDATA[PagePath]]></PagePath>
    <ThumbUrl><![CDATA[ThumbUrl]]></ThumbUrl>
    <ThumbMediaId><![CDATA[ThumbMediaId]]></ThumbMediaId>
</xml>

JSON 格式

{
    "ToUserName": "toUser",       //小程序的原始ID
    "FromUserName": "fromUser",     // 发送者的openid
    "CreateTime": 1482048670,      // 消息创建时间(整型)
    "MsgType": "miniprogrampage",    // 消息类型
    "MsgId": 1234567890123456,     // 消息id,64位整型
    "Title":"title",          // 标题
    "AppId":"appid",          // 小程序appid
    "PagePath":"path",         // 小程序页面路径
    "ThumbUrl":"",            // 封面图片的临时cdn链接
    "ThumbMediaId":""          // 封面图片的临时素材id
}

进入会话事件

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

XML 格式

<xml>
    <ToUserName><![CDATA[toUser]]></ToUserName>  
    <FromUserName><![CDATA[fromUser]]></FromUserName>  
    <CreateTime>1482048670</CreateTime>  
    <MsgType><![CDATA[event]]></MsgType>  
    <Event><![CDATA[user_enter_tempsession]]></Event>  
    <SessionFrom><![CDATA[sessionFrom]]></SessionFrom> 
</xml>

JSON 格式

{
    "ToUserName": "toUser",      //小程序的原始ID
    "FromUserName": "fromUser",    //发送者的openid
    "CreateTime": 1482048670,     //事件创建时间(整型)
    "MsgType": "event",        //消息类型
    "Event": "user_enter_tempsession", //事件类型,user_enter_tempsession
    "SessionFrom": "sessionFrom"    //开发者在客服会话按钮设置的session-from属性
}

发送客服消息

http请求方式:POST
https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=ACCESS_TOKEN
各种消息的数据包JSON如下:
发送文本消息:
{
  "access_token":"ACCESS_TIKEN", //接口调用凭证
  "tourse":"OPENID",        //发送者的openid,即接收到的
FromUserName
  "msgtype":"text",         //消息类型
  "text":{
    "content":"content"      //文本内容
  }
}
发送图片消息:
{
  "access_token":"ACCESS_TIKEN", //接口调用凭证
  "tourse":"OPENID",        //发送者的openid,即接收到的
FromUserName
  "msgtype":"image",         //消息类型
  "image":{
    "media_id":"media_id"      //文本内容
  }
}
发送图文连接:
{
  "access_token":"ACCESS_TIKEN", //接口调用凭证
  "tourse":"OPENID",        //发送者的openid,即接收到的
FromUserName
  "msgtype":"link",         //消息类型
  "link":{
    "title":"title",      //消息标题
    "description":"description",    //图文链接消息
    "url":"url",       //图文链接被点击后跳转的链接
    "thumb_url":"thumb_url" //封面图片的临时cdn链接
  }
}
发送小程序卡片:
{
  "access_token":"ACCESS_TIKEN", //接口调用凭证
  "tourse":"OPENID",        //发送者的openid,即接收到的
FromUserName
  "msgtype":"miniprogrampage",         //消息类型
  "link":{
    "title":"title",      //消息标题
    "pagepath":"pagepath",    //小程序的页面路径,要与app.json一致,比如:"pages/index/index"
    "thumb_media_id":"thumb_media_id" //小程序消息卡片的封面
  }
}



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
微信小程序客服消息使用指南发布时间:2022-07-18
下一篇:
微信小程序客服消息实时通知之最佳实践发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap