消息接口指南
出自开放平台
跳转到: 导航, 搜索
目录
[隐藏]
1 简介
2 申请消息接口
3 网址接入
4 消息推送
o 4.1 文本消息
o 4.2 图片消息
o 4.3 地理位置消息
o 4.4 链接消息
o 4.5 事件推送
5 消息回复
o 5.1 回复文本消息
o 5.2 回复音乐消息
o 5.3 回复图文消息
6 注意事项
7 示例代码
简介
公众平台消息接口为开发者提供了一种新的消息处理方式。
申请消息接口
点击申请,填写网址urltoken,其中token可由开发者可以任意填写,用作生成签名。

网址接入
公众平台用户提交信息后,服务器将发送GET请求到填写的URL上,并且带上四个参数:
武装特警之反黑风暴
参数
描述
signature
加密签名
timestamp
时间戳
朱天天
nonce
随机数
echostr
随机字符串
开发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自服务器,请原样返回echostr参数内容,则接入生效,否则接入失败。
signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。
加密/校验流程:
1. tokentimestampnonce三个参数进行字典序排序
2. 将三个参数字符串拼接成一个字符串进行sha1加密
3. 开发者获得加密后的字符串可与signature对比,标识该请求来源于
消息推送
当普通用户向公众账号发消息时,服务器将POST该消息到填写的URL上。结构如下:
文本消息
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1348831860</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[this is a test]]></Content>
<MsgId>1234567890123456</MsgId>
</xml>
参数
描述
ToUserName
开发者
FromUserName
发送方帐号(一个OpenID
CreateTime
消息创建时间 (整型)
MsgType
text
Content
文本消息内容
MsgId
消息id64位整型
图片消息
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1348831860</CreateTime>
<MsgType><![CDATA[image]]></MsgType>
<PicUrl><![CDATA[this is a url]></PicUrl>
<MsgId>1234567890123456</MsgId>
</xml>
参数
描述
ToUserName
开发者
FromUserName
发送方帐号(一个OpenID
CreateTime
消息创建时间 (整型)
MsgType
image
PicUrl
图片链接
MsgId
消息id64文章演过的电视剧位整型
地理位置消息
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1351776360</CreateTime>
<MsgType><![CDATA[location]]></MsgType>
<Location_X>23.134521</Location_X>
<Location_Y>113.358803</Location_Y>
<Scale>20</Scale>
<Label><![CDATA[位置信息]]></Label>
<MsgId>1234567890123456</MsgId>
</xml>
参数
描述
ToUserName
开发者
FromUserName
发送方帐号(一个OpenID
CreateTime
消息创建时间 (整型)
MsgType
location
Location_X
地理位置维度
Location_Y
地理位置精度
Scale
地图缩放大小
Label
地理位置信息
MsgId
消息id64位整型
链接消息
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1351776360</CreateTime>
<MsgType><![CDATA[link]]></MsgType>
<Title><![CDATA[公众平台链接]]></Title>
<Description><![CDATA[公众平台链接]]></Description>
<Url><![CDATA[url]]></Url>
<MsgId>1234567890123456</MsgId>
</xml>
苹果id申请
参数
描述
ToUserName
接收方号
FromUserName
发送方号,若为普通用户,则是一个OpenID
CreateTime
消息创建时间
MsgType
消息类型,link
Title
消息标题
Description
消息描述
Url
消息链接
MsgId
表达相聚开心的话
消息id64位整型
事件推送
事件推送只支持4.5版本,即将开放,敬请期待。
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[LOCATION]]></Event>
<Latitude>23.137466</Latitude>
<Longitude>113.352425</Longitude>
<Precision>119.385040</Precision>
</xml>
参数
描述
ToUserName
接收方号
十衣素FromUserName
发送方号,若为普通用户,则是一个OpenID
CreateTime
消息创建时间
MsgType
消息类型,event
Event
事件类型,有ENTER(进入会话)LOCATION(地理位置)
Latitude
地理位置维度,事件类型为LOCATION的时存在
Longitude
地理位置经度,事件类型为LOCATION的时存在
Precision
地理位置精度,事件类型为LOCATION的时存在
消息回复
对于每一个POST请求,开发者在响应包中返回特定xml结构,对该消息进行响应(现支持回复文本、图文、语音、视频、音乐和对收到的消息进行星标操作)。
服务器在五秒内收不到响应会断掉连接。
回复xml结构如下:
回复文本消息
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[content]]></Content>
<FuncFlag>0</FuncFlag>
</xml>
参数
描述
ToUserName
接收方帐号(收到的OpenID
FromUserName
开发者号
CreateTime
消息创建时间
MsgType
text
Content
回复的消息内容
FuncFlag
0x0001被标志时,星标刚收到的消息。
回复音乐消息
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[music]]></MsgType>
<Music>
<Title><![CDATA[TITLE]]></Title>
<Description><![CDATA[DESCRIPTION]]></Description>
<MusicUrl><![CDATA[MUSIC_Url]]></MusicUrl>
<HQMusicUrl><![CDATA[HQ_MUSIC_Url]]></HQMusicUrl>
</Music>
<FuncFlag>0</FuncFlag>
</xml>
参数
描述
ToUserName
接收方帐号(收到的OpenID
FromUserName
开发者号
CreateTime
消息创建时间
MsgType
music
MusicUrl
音乐链接
HQMusicUrl
高质量音乐链接,WIFI环境优先使用该链接播放音乐
FuncFlag
0x0001被标志时,星标刚收到的消息。
回复图文消息
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>