Salesforce Force.com Site 集成微信公众平台 (三) 接收与发送信息类型

我们在上一篇 Salesforce Force.com Site 集成微信公众平台 (二) 文本消息处理 给大家介绍了如何接受和回复文本消息,今天我们先了解一下微信发送和后台接收的所有XML类型。

发送信息类型

目前公众账号向普通用户推送三种格式的消息:文本、图文、音乐。其中图文消息包括单条图文消息和多条图文消息。关于文本消息我们已经在上一篇有所了解,没有了解的可以查看 Salesforce Force.com Site 集成微信公众平台 (二) 文本消息处理 ,这里我们将仅仅介绍图文消息和音乐消息。

图文消息格式

  • 单条发送格式
<xml>  
    <ToUserName><![CDATA[toUser]]></ToUserName>
    <FromUserName><![CDATA[fromUser]]></FromUserName>
    <CreateTime>1359011899</CreateTime>
    <MsgType><![CDATA[news]]></MsgType>
    <Content><![CDATA[]]></Content>
    <ArticleCount>1</ArticleCount>
    <Articles>
        <item>
            <Title><![CDATA[title]]></Title>
            <Description><![CDATA[description]]></Description>
            <PicUrl><![CDATA[this is a test url]]></PicUrl>
            <Url><![CDATA[]]></Url>
        </item>
    </Articles>
    <FuncFlag>0</FuncFlag>
</xml>  
  • 多条发送格式
<xml>  
    <ToUserName><![CDATA[toUser]]></ToUserName>
    <FromUserName><![CDATA[fromUser]]></FromUserName>
    <CreateTime>1359431899</CreateTime>
    <MsgType><![CDATA[news]]></MsgType>
    <Content><![CDATA[]]></Content>
    <ArticleCount>2</ArticleCount>
    <Articles>
        <item>
            <Title><![CDATA[title]]></Title>
            <Description><![CDATA[description]]></Description>
            <PicUrl><![CDATA[this is a test url]]></PicUrl>
            <Url><![CDATA[]]></Url>
        </item>
        <item>
            <Title><![CDATA[title]]></Title>
            <Description><![CDATA[description]]></Description>
            <PicUrl><![CDATA[this is a test url]]></PicUrl>
            <Url><![CDATA[]]></Url>
        </item>
    </Articles>
    <FuncFlag>0</FuncFlag>
</xml>  

XML解释如下

FromUserName 消息发送方  
ToUserName   消息接收方  
CreateTime   消息创建时间  
MsgType      消息类型,图文消息必须填写news  
Content      消息内容,图文消息可填空  
ArticleCount 图文消息个数,限制为10条以内  
Articles     多条图文消息信息,默认第一个item为大图  
  Title      图文消息标题
  Description 图文消息描述
  PicUrl     图片链接,支持JPG、PNG格式,较好的效果为大图640*320,小图80*80
  Url        点击图文消息跳转链接
FuncFlag     星标字段  

音乐消息格式

<xml>  
    <ToUserName><![CDATA[toUser]]></ToUserName>
    <FromUserName><![CDATA[fromUser]]></FromUserName>
    <CreateTime>1372314344</CreateTime>
    <MsgType><![CDATA[music]]></MsgType>
    <Music>
        <Title><![CDATA[title]]></Title>
        <Description><![CDATA[description]]></Description>
        <MusicUrl><![CDATA[this is test a test url]]></MusicUrl>
        <HQMusicUrl><![CDATA[this is test a test url]]></HQMusicUrl>
    </Music>
    <FuncFlag>0</FuncFlag>
</xml>  

XML解释如下

ToUserName       接收方帐号(收到的OpenID)  
FromUserName     开发者微信号  
CreateTime       消息创建时间  
MsgType          消息类型,此处为music  
    Title        音乐标题
    Description  音乐描述
    MusicUrl     音乐链接
    HQMusicUrl     高质量音乐链接,WIFI环境优先使用该链接播放音乐
FuncFlag         位0x0001被标志时,星标刚收到的消息。  
接受信息类型

目前普通用户能向公众账号推送五种格式的消息:文本(包括表情)、语音、图片、视频、位置、链接。这里文本我们不在讲解。

发送图片消息格式

<xml>  
    <ToUserName><![CDATA[toUser]]></ToUserName>
    <FromUserName><![CDATA[fromUser]]></FromUserName>
    <CreateTime>1359022479</CreateTime>
    <MsgType><![CDATA[image]]></MsgType>
    <PicUrl><![CDATA[this is a test url]]></PicUrl>
    <MsgId>58369828716380400</MsgId>
</xml>  

XML解释如下

ToUserName    消息接收方微信号,一般为公众平台账号微信号  
FromUserName  消息发送方微信号  
CreateTime    消息创建时间  
MsgType       消息类型;图片消息为image  
PicUrl        图片链接地址,可以用HTTP GET获取  
MsgId         消息ID号  

发送语音消息格式

<xml>  
    <ToUserName><![CDATA[toUser]]></ToUserName>
    <FromUserName><![CDATA[fromUser]]></FromUserName>
    <CreateTime>13590225</CreateTime>
    <MsgType><![CDATA[voice]]></MsgType>
    <MediaId><![CDATA[hGm9wmKth8RO_tuv5k9fJkSbovXZVYwG2jSsL7ukCqq6q1SiLzYnFEngFNUijs]]></MediaId>
    <Format><![CDATA[amr]]></Format>
    <MsgId>58369801722890003</MsgId>
</xml>  

XML解释如下

ToUserName   消息接收方微信号,一般为公众平台账号微信号  
FromUserName 消息发送方微信号  
CreateTime   消息创建时间  
MsgType      消息类型;语音消息为voice  
MediaId      媒体ID  
Format       语音格式,这里为amr  
MsgId        消息ID号  
附: AMR接口简介-->全称Adaptive Multi-Rate,主要用于移动设备的音频,压缩比比较大,但相对其他的压缩格式质量比较差,由于多用于人声,通话,效果还是很不错的。

发送视频消息格式

<xml>  
    <ToUserName><![CDATA[toUser]]></ToUserName>
    <FromUserName><![CDATA[fromUser]]></FromUserName>
    <CreateTime>1359022186</CreateTime>
    <MsgType><![CDATA[video]]></MsgType>
    <MediaId><![CDATA[DBVFRIj29LB2hxuYpc0R6VLyxwgyCHZPbRj_IYaGhutyXUKtFSDcSCPeoqUYr]]></MediaId>
    <ThumbMediaId><![CDATA[mxUJ5gcCeesJwx2T9qsk62YzICP_HnRdfTQcojlPeT2G9Q3d22UkSLyBFLZ01J]]></ThumbMediaId>
    <MsgId>58369816132624665</MsgId>
</xml>  

XML解释如下

ToUserName   消息接收方微信号,一般为公众平台账号微信号  
FromUserName 消息发送方微信号  
CreateTime   消息创建时间  
MsgType      消息类型;视频消息为video  
MediaId      媒体ID  
ThumbMediaId 视频消息缩略图的媒体id,可以调用多媒体文件下载接口拉取数据  
MsgId        消息ID号  

发送位置消息格式

<xml>  
    <ToUserName><![CDATA[toUser]]></ToUserName>
    <FromUserName><![CDATA[fromUser]]></FLACFromUserName>
    <CreateTime>1359036619</CreateTime>
    <MsgType><![CDATA[location]]></MsgType>
    <Location_X>22.9968</Location_X>
    <Location_Y>113.4980</Location_Y>
    <Scale>16</Scale>
    <Label><![CDATA[label]]></Label>
    <MsgId>58370178326718047</MsgId>
</xml>  

XML解释如下

ToUserName    消息接收方微信号,一般为公众平台账号微信号  
 FromUserName 消息发送方微信号
 CreateTime   消息创建时间
 MsgType      消息类型,地理位置为location
 Location_X   地理位置纬度
 Location_Y   地理位置经度
 Scale        地图缩放大小
 Label        地理位置信

发送链接消息格式

<xml>  
    <ToUserName><![CDATA[toUser]]></ToUserName> 
    <FromUserName><![CDATA[fromUser]]></FromUserName> 
    <CreateTime>1351209372</CreateTime> 
    <MsgType><![CDATA[link]]></MsgType> 
    <Title><![CDATA[title]]></Title> 
    <Description><![CDATA[description]]></Description> 
    <Url><![CDATA[this is a test url]]></Url> 
    <MsgId>5839907284805129907</MsgId> 
</xml>  

XML解释如下

ToUserName    消息接收方微信号,一般为公众平台账号微信号  
 FromUserName 消息发送方微信号
 CreateTime   消息创建时间
 MsgType      消息类型,链接为link
 Title        图文消息标题
 Description  图文消息描述
 Url          点击图文消息跳转链接
 MsgId        消息ID号
事件信息类型

用户在关注和取消关注的时候会自动向公众平台发送事件推送消息

关注事件

<xml>  
    <ToUserName><![CDATA[toUser]]></ToUserName>
    <FromUserName><![CDATA[fromUser]]></FromUserName>
    <CreateTime>1372302136</CreateTime>
    <MsgType><![CDATA[event]]></MsgType>
    <Event><![CDATA[subscribe]]></Event>
    <EventKey><![CDATA[]]></EventKey>
</xml>  

取消关注事件

<xml>  
    <ToUserName><![CDATA[toUser]]></ToUserName>
    <FromUserName><![CDATA[fromUser]]></FromUserName>
    <CreateTime>2372109890</CreateTime>
    <MsgType><![CDATA[event]]></MsgType>
    <Event><![CDATA[unsubscribe]]></Event>
    <EventKey><![CDATA[]]></EventKey>
</xml>  

XML解释如下

ToUserName     接收方微信号  
FromUserName   发送方微信号,若为普通用户,则是一个OpenID  
CreateTime     消息创建时间  
MsgType        消息类型,event  
Event          事件类型,subscribe(订阅)、unsubscribe(取消订阅)、CLICK(自定义菜单点击事件)  
EventKey       事件KEY值,与自定义菜单接口中KEY值对应  

下一篇我们将举一个例子来实践一下这些类型。在此,感谢大家的多多关注。更多精彩内容,敬请期待。

Samba

Read more posts by this author.