微号推

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: 活动 交友 discuz
查看: 12392|回复: 0
打印 上一主题 下一主题

微信消息接口大全(官方版)

[复制链接]

76

主题

79

帖子

316

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
316
跳转到指定楼层
楼主
发表于 2014-11-20 22:08:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
公众平台消息接口为开发者提供了一种新的消息处理方式。
点击申请,填写网址url和token,其中token可由开发者可以任意填写,用作生成签名。


公众平台用户提交信息后,微信服务器将发送GET请求到填写的URL上,并且带上四个参数:

参数        描述
signature         微信加密签名
timestamp         时间戳
nonce         随机数
echostr         随机字符串
开发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,否则接入失败。

signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。

加密/校验流程:
1. 将token、timestamp、nonce三个参数进行字典序排序
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         消息id,64位整型
图片消息

<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         消息id,64位整型
地理位置消息

<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         消息id,64位整型
链接消息

<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>
参数        描述
ToUserName         接收方微信号
FromUserName         发送方微信号,若为普通用户,则是一个OpenID
CreateTime         消息创建时间
MsgType         消息类型,link
Title         消息标题
Description         消息描述
Url         消息链接
MsgId         消息id,64位整型
事件推送

事件推送只支持微信4.5版本,目前仅开启自定义菜单接口事件推送。其余功能即将开放,敬请期待。

<xml><ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[FromUser]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[EVENT]]></Event>
<EventKey><![CDATA[EVENTKEY]]></EventKey>
</xml>
参数        描述
ToUserName         接收方微信号
FromUserName         发送方微信号,若为普通用户,则是一个OpenID
CreateTime         消息创建时间
MsgType         消息类型,event
Event         事件类型,subscribe(订阅)、unsubscribe(取消订阅)、CLICK(自定义菜单点击事件)
EventKey         事件KEY值,与自定义菜单接口中KEY值对应
扫描带场景值二维码事件

触发条件:用户已关注该公众帐号,扫描了带场景值的二维码。

数据格式说明:

<xml><ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[FromUser]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[scan]]></Event>
<EventKey><![CDATA[SCENE_VALUE]]></EventKey>
</xml>
参数        描述
ToUserName         接收方微信号
FromUserName         发送方微信号,若为普通用户,则是一个OpenID
CreateTime         消息创建时间
MsgType         消息类型,event
Event         事件类型,scan
EventKey         事件KEY值,是一个32位无符号整数。
通过带场景值二维码订阅事件

触发条件:用户通过带场景值二维码订阅公众号。

数据格式说明:

<xml><ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[FromUser]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[subscribe]]></Event>
<EventKey><![CDATA[qrscene_123123]]></EventKey>
</xml>
参数        描述
ToUserName         接收方微信号
FromUserName         发送方微信号,若为普通用户,则是一个OpenID
CreateTime         消息创建时间
MsgType         消息类型,event
Event         事件类型,subscribe
EventKey         事件KEY值,qrscene_为前缀,后面为二维码的场景值。
消息回复

对于每一个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         回复的消息内容,长度不超过2048字节
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>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[news]]></MsgType>
<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>
参数        描述
ToUserName         接收方帐号(收到的OpenID)
FromUserName         开发者微信号
CreateTime         消息创建时间
MsgType         news
ArticleCount         图文消息个数,限制为10条以内
Articles         多条图文消息信息,默认第一个item为大图
Title         图文消息标题
Description         图文消息描述
PicUrl         图片链接,支持JPG、PNG格式,较好的效果为大图640*320,小图80*80,限制图片链接的域名需要与开发者填写的基本资料中的Url一致
Url         点击图文消息跳转链接

注意事项

1.用户OpenID对一个公众号是固定唯一的串

2.请使用80端口

示例代码

PHP:下载
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持支持 反对反对
回复

使用道具 举报

本版积分规则

Archiver|手机版|小黑屋|微号推  

GMT+8, 2024-4-24 00:24 , Processed in 0.106150 second(s), 29 queries , Gzip On.

Powered by 微号推

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表