微信接口开发及公众平台消息接口为开发者提供了一种新的消息处理方式。
公众平台用户提交信息后,微信服务器将发送GET请求到填写的URL上,并且带上四个参数:
参数 | 描述 |
signature | 微信加密签名 |
timestamp | |
nonce | 随机数 |
echostr | 随机字符串 |
开发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,否则接入失败。
signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。
加密/校验流程:
1. 将token、timestamp、nonce三个参数进行字典序排序
2. 将三个参数字符串拼接成一个字符串进行sha1加密
3. 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信
当普通微信用户向公众账号发消息时,微信服务器将POST该消息到填写的URL上。结构如下:
u003cxmlu003e
u003cToUrNameu003eu003c![CDATA[toUr]]u003eu003c/ToUrNameu003e
u003cFromUrNameu003eu003c![CDATA[fromUr]]u003eu003c/FromUrNameu003e
u003cCreateTimeu003e***********u003c/CreateTimeu003e
u003cMsgTypeu003eu003c![CDATA[text]]u003eu003c/MsgTypeu003e
u003cContentu003eu003c![CDATA[this is a test]]u003eu003c/Contentu003e
u003cMsgIdu003e1234567890123456u003c/MsgIdu003e
u003c/xmlu003e
参数 | 描述 |
ToUrName | 接收方帐号(一个 |
FromUrName | 开发者 |
CreateTime | 消息创建时间(整型) |
MsgType | text |
Content | 文本消息内容 |
MsgId | 消息id,64位整型 |
u003cxmlu003e
u003cToUrNameu003eu003c![CDATA[toUr]]u003eu003c/ToUrNameu003e
u003cFromUrNameu003eu003c![CDATA[fromUr]]u003eu003c/FromUrNameu003e
u003cCreateTimeu003e********u003c/CreateTimeu003e
u003cMsgTypeu003eu003c![CDATA[image]]u003eu003c/MsgTypeu003e
u003cPicUrlu003eu003c![CDATA[this is a url]u003eu003c/PicUrlu003e
u003cMsgIdu003e1234567890123456u003c/MsgIdu003e
u003c/xmlu003e
参数 | 描述 |
ToUrName | 开发者 |
FromUrName | 发送方帐号(一个OpenID) |
CreateTime | 消息创建时间(整型) |
MsgType | image |
PicUrl | 图片链接 |
MsgId | 消息id,64位整型 |
u003cxmlu003e
u003cToUrNameu003eu003c![CDATA[toUr]]u003eu003c/ToUrNameu003e
u003cFromUrNameu003eu003c![CDATA[fromUr]]u003eu003c/FromUrNameu003e
u003cCreateTimeu003e************u003c/CreateTimeu003e
u003cMsgTypeu003eu003c![CDATA[location]]u003eu003c/MsgTypeu003e
u003cLocation_Xu003e23.134521u003c/Location_Xu003e
u003cLocation_Yu003e113.358803u003c/Location_Yu003e
u003cScaleu003e20u003c/Scaleu003e
u003cLabelu003eu003c![CDATA[位置信息]]u003eu003c/Labelu003e
u003cMsgIdu003e1234567890123456u003c/MsgIdu003e
u003c/xmlu003e
参数 | 描述 |
ToUrName | 开发者 |
FromUrName | 发送方帐号(一个OpenID) |
CreateTime | 消息创建时间(整型) |
MsgType | location |
Location_X | 地理位置纬度 |
Location_Y | 地理位置经度 |
Scale | 地图缩放大小 |
Label | 地理位置信息 |
MsgId | 消息id,64位整型 |
u003cxmlu003e
u003cToUrNameu003eu003c![CDATA[toUr]]u003eu003c/ToUrNameu003e
u003cFromUrNameu003eu003c![CDATA[fromUr]]u003eu003c/FromUrNameu003e
u003cCreateTimeu003e***********u003c/CreateTimeu003e
u003cMsgTypeu003eu003c![CDATA[link]]u003eu003c/MsgTypeu003e
u003cTitleu003eu003c![CDATA[公众平台官网链接]]u003eu003c/Titleu003e
u003cDescriptionu003eu003c![CDATA[公众平台官网链接]]u003eu003c/Descriptionu003e
u003cUrlu003eu003c![CDATA[url]]u003eu003c/Urlu003e
u003cMsgIdu003e1234567890123456u003c/MsgIdu003e
u003c/xmlu003e
参数 | 描述 |
ToUrName | 接收方微信号 |
FromUrName | 发送方微信号,若为普通用户,则是一个OpenID |
CreateTime | 消息创建时间 |
MsgType | 消息类型,link |
Title | 消息标题 |
Description | 消息描述 |
Url | 消息链接 |
MsgId | 消息id,64位整型 |
事件推送只支持微信4.5版本,即将开放,敬请期待。
u003cxmlu003e
u003cToUrNameu003eu003c![CDATA[toUr]]u003eu003c/ToUrNameu003e
u003cFromUrNameu003eu003c![CDATA[fromUr]]u003eu003c/FromUrNameu003e
u003cCreateTimeu003e123456789u003c/CreateTimeu003e
u003cMsgTypeu003eu003c![CDATA[event]]u003eu003c/MsgTypeu003e
u003cEventu003eu003c![CDATA[LOCATION]]u003eu003c/Eventu003e
u003cLatitudeu003e23.137466u003c/Latitudeu003e
u003cLongitudeu003e113.352425u003c/Longitudeu003e
u003cPrecisionu003e119.385040u003c/Precisionu003e
u003c/xmlu003e
参数 | 描述 |
ToUrName | 接收方微信号 |
FromUrName | 发送方微信号,若为普通用户,则是一个OpenID |
CreateTime | 消息创建时间 |
MsgType | 消息类型,event |
Event | 事件类型,有ENTER(进入会话)和LOCATION(地理位置) |
Latitude | 地理位置维度,事件类型为LOCATION的时存在 |
Longitude | 地理位置经度,事件类型为LOCATION的时存在 |
Precision | 地理位置精度,事件类型为LOCATION的时存在 |
对于每一个POST请求,开发者在响应包中返回特定xml结构,对该消息进行响应(现支持回复文本、图文、语音、视频、音乐和对收到的消息进行星标操作)。
微信服务器在 五秒内收不到响应会断掉连接。
回复xml结构如下:
u003cxmlu003e
u003cToUrNameu003eu003c![CDATA[toUr]]u003eu003c/ToUrNameu003e
u003cFromUrNameu003eu003c![CDATA[fromUr]]u003eu003c/FromUrNameu003e
u003cCreateTimeu003e12345678u003c/CreateTimeu003e
u003cMsgTypeu003eu003c![CDATA[text]]u003eu003c/MsgTypeu003e
u003cContentu003eu003c![CDATA[content]]u003eu003c/Contentu003e
u003cFuncFlagu003e0u003c/FuncFlagu003e
u003c/xmlu003e
参数 | 描述 |
ToUrName | 接收方帐号(收到的OpenID) |
FromUrName | 开发者微信号 |
CreateTime | 消息创建时间 |
MsgType | text |
Content | 回复的消息内容 |
FuncFlag | 位0x0001被标志时,星标刚收到的消息。 |
u003cxmlu003e
u003cToUrNameu003eu003c![CDATA[toUr]]u003eu003c/ToUrNameu003e
u003cFromUrNameu003eu003c![CDATA[fromUr]]u003eu003c/FromUrNameu003e
u003cCreateTimeu003e12345678u003c/CreateTimeu003e
u003cMsgTypeu003eu003c![CDATA[music]]u003eu003c/MsgTypeu003e
u003cMusicu003e
u003cTitleu003eu003c![CDATA[TITLE]]u003eu003c/Titleu003e
u003cDescriptionu003eu003c![CDATA[DESCRIPTION]]u003eu003c/Descriptionu003e
u003cMusicUrlu003eu003c![CDATA[MUSIC_Url]]u003eu003c/MusicUrlu003e
u003cHQMusicUrlu003eu003c![CDATA[HQ_MUSIC_Url]]u003eu003c/HQMusicUrlu003e
u003c/Musicu003e
u003cFuncFlagu003e0u003c/FuncFlagu003e
u003c/xmlu003e
参数 | 描述 |
ToUrName | 接收方帐号(收到的OpenID) |
FromUrName | 开发者微信号 |
CreateTime | 消息创建时间 |
MsgType | music |
MusicUrl | 音乐链接 |
HQMusicUrl | 高质量音乐链接,WIFI环境优先使用该链接播放音乐 |
FuncFlag | 位0x0001被标志时,星标刚收到的消息。 |
u003cxmlu003e
u003cToUrNameu003eu003c![CDATA[toUr]]u003eu003c/ToUrNameu003e
u003cFromUrNameu003eu003c![CDATA[fromUr]]u003eu003c/FromUrNameu003e
u003cCreateTimeu003e12345678u003c/CreateTimeu003e
u003cMsgTypeu003eu003c![CDATA[news]]u003eu003c/MsgTypeu003e
u003cArticleCountu003e2u003c/ArticleCountu003e
u003cArticlesu003e
u003citemu003e
u003cTitleu003eu003c![CDATA[title1]]u003eu003c/Titleu003e
u003cDescriptionu003eu003c![CDATA[description1]]u003eu003c/Descriptionu003e
u003cPicUrlu003eu003c![CDATA[picurl]]u003eu003c/PicUrlu003e
u003cUrlu003eu003c![CDATA[url]]u003eu003c/Urlu003e
u003c/itemu003e
u003citemu003e
u003cTitleu003eu003c![CDATA[title]]u003eu003c/Titleu003e
u003cDescriptionu003eu003c![CDATA[description]]u003eu003c/Descriptionu003e
u003cPicUrlu003eu003c![CDATA[picurl]]u003eu003c/PicUrlu003e
u003cUrlu003eu003c![CDATA[url]]u003eu003c/Urlu003e
u003c/itemu003e
u003c/Articlesu003e
u003cFuncFlagu003e1u003c/FuncFlagu003e
u003c/xmlu003e
参数 | 描述 |
ToUrName | 接收方帐号(收到的OpenID) |
FromUrName | 开发者微信号 |
CreateTime | 消息创建时间 |
MsgType | news |
ArticleCount | 图文消息个数,限制为10条以内 |
Articles | 多条图文消息信息,默认第一个item为大图 |
Title | 图文消息标题 |
Description | 图文消息描述 |
PicUrl | 图片链接,支持JPG、PNG格式,较好的效果为大图640*320,小图80*80,限制图片链接的域名需要与开发者填写的基本资料中的Url一致 |
Url | 点击图文消息跳转链接 |
1.用户OpenID对一个公众号是固定唯一的串
2.请使用80端口
3.用户关注公众号,微信公众平台服务器推送一条内容为Hello2BizUr的文本消息到第三方服务器
本文发布于:2022-11-14 20:52:29,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/83/484335.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |