首页 > 建站资源 > 微信营销 > 微信公众平台消息接口使用教程

微信公众平台消息接口使用教程

时间:2013-08-10    来源:方倍工作室

一、简介

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

二、申请消息接口

点击申请,如实填写负责人姓名 、 手机号和邮箱,填写网址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[url]]></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> 

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来对消息进行星标,你可以在实时消息的星标消息分类中找到该消息

六、示例代码

PHP:下载

相关推荐
微信公众平台注册与认证图文教程分享
微信公众平台消息管理与群发图文教程
微信公众平台素材编辑与自动回复图文教程
微信公众平台开发模式详解图文教程
微信公众平台公众会议帐号使用详解
10条微信公众平台运营建议分享
微信公众平台消息接口开发教程 附PHP源码
微信公众平台运营十大要诀分享
微信公众平台编辑模式与开发模式详解
36条微信公众平台运营经验分享
商家微信公众号到底能做什么?
初识微信公众平台的在线支付功能
成功运营微信公众账号的四大要点
微信5.0上线 自定义菜单申请将重新开启
微信公众平台手游的开发与运营手记
七个微信5.0公众账号之服务号与订阅号运营经验分享
微信5.0的草根营销大号未来出路
如何有效挖掘微信活动的营销价值
微信公众平台教程:没有正确响应Token验证的解决方法
微信公众平台消息接口开发教程之语音触发应用
微信公众平台接口开发教程之人脸识别应用
新版微信公众平台服务号与订阅号区别官方说明
微信公众平台消息接口开发之小黄鸡机器人应用
微信公众平台开发教程之在线音乐/在线点歌
微信公众平台开发教程之快递查询应用
微信公众平台API接口开发教程
微信公众平台开发教程之通用接口API指南
微信公众平台开发模式自定义菜单开发指南
微信公众平台创建自定义菜单的PHP代码
微信公众平台教程之生成带参数二维码
探寻微信公众平台服务号与订阅号背后的创业机会
微信公众平台服务号运营三部曲
微信公众平台搭建在线客服的流程分析
十大创新微信公众账号推荐
微信公众平台初级入门教程
微信个人公众帐号与企业公众帐号的区别

精彩推荐

热门教程