您的位置:首页 > 移动开发 > 微信开发

微信公众平台消息接口使用指南

2013-12-22 11:22 344 查看

微信公众平台消息接口使用指南

一 、简介

公众平台消息接口为开发者提供了一种新的消息处理方式。

二 、 申请消息接口

点击申请,如实填写负责人姓名 、 手机号和邮箱,填写网址url和token,其中token可由开发者可以任意填写,用作生成签名。

三 、 网址接入

公众平台用户提交信息后,我们将以GET请求方式请求到填写的Url上,并且带上四个参数:
* signature — 微信加密签名
* timestamp — 时间戳
* nonce — 随机数
* echostr — 随机字符串
开发者通过检验signature对网址接入合法性进行校验。若此次GET请求原样返回echostr参数内容,则接入生效,否则接入失败。 验证signature将结合开发者填写的token参数、timestamp参数和nonce参数等,加密流程:
* 将token、timestamp、nonce三个参数进行字典序排序
* 将三个参数字符串拼接成一个字符串进行sha1加密
* 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。

四 、 消息推送

当普通微信用户向公众账号发消息时,公众平台将POST该消息到填写的Url上(现支持文本消息以及地理位置消息)。结构如下:

文本消息xml格式

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


ToUserName 消息接收方微信号,一般为公众平台账号微信号
FromUserName 消息发送方微信号
CreateTime 消息创建时间
MsgType 文本消息为text
Content 消息内容

地理位置消息xml格式

<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>
</xml>


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

图片消息结构

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


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

五 、 消息回复

对于每一个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>


FromUserName 消息发送方
ToUserName 消息接收方
CreateTime 消息创建时间
MsgType 消息类型,文本消息必须填写text
Content 消息内容,大小限制在2048字节,字段为空为不合法请求

回复图文消息格式

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[news]]></MsgType>
<Content><![CDATA[]]></Content>
<ArticleCount>2</ArticleCount>
<Articles>
<item>
<Title><![CDATA[title1]]></Title>
<Description><![CDATA[description1]]></Description>
<PicUrl><![CDATA[picurl]]></PicUrl>
<Url><![CDATA星标消息分类" target=_blank>]></Url>
</item>
<item>
<Title><![CDATA[title]]></Title>
<Description><![CDATA[description]]></Description>
<PicUrl><![CDATA[picurl]]></PicUrl>
<Url><![CDATA[url]]></Url>
</item>
</Articles>
<FuncFlag>1</FuncFlag>
</xml> [/code]

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


星标消息

在xml结构中,有一个FuncFlag字段,开发者可以通过填写FuncFlag字段为1来对消息进行星标,你可以在实时消息的[url=http://mp.weixin.qq.com/cgi-bin/getmessage?t=wxm-message&lang=zh_CN&count=50&star=1]星标消息分类
中找到该消息

六 、 示例代码

PHP:[url=http://mp.weixin.qq.com/mpres/htmledition/res/wx_sample.zip]下载
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: