1、简介微信公众平台消息接口为开发者提供了一种新的消息处理方式。微信公众平台消息接口为开发者提供与用户进行消息交互的能力。对于成功接入消息接口的微 信公众账号,当用户发消息给公众号,微信公众平台服务器会使用 http 请求对接入的网址进行消息推送,第三方服务器可通过响应包回复特定结构,从而达到回 复消息的目的。申请消息接口点击申请,填写网址 url 和 token,其中 token 可由开发者可以任意填写,用作生成签名。网址接入公众平台用户提交信息后,微信服务器将发送 GET 请求到填写的 URL 上,并且带上四个参数:参数 描述signature 微信加密签名timestamp 时间戳nonce
2、 随机数echostr 随机字符串开发者通过检验 signature 对请求进行校验(下面有校验方式)。若确认此次GET 请求来自微信服务器,请原样返回 echostr 参数内容,则接入生效,否则接入失败。signature 结合了开发者填写的 token 参数和请求中的 timestamp 参数、nonce参数。加密/校验流程:1. 将 token、timestamp、nonce 三个参数进行字典序排序2. 将三个参数字符串拼接成一个字符串进行 sha1 加密3. 开发者获得加密后的字符串可与 signature 对比,标识该请求来源于微信消息推送当普通微信用户向公众账号发消息时,微信服务器
3、将 POST 该消息到填写的 URL上。结构如下:文本消息13488318601234567890123456参数 描述ToUserName 开发者微信号FromUserName 发送方帐号(一个 OpenID)CreateTime 消息创建时间 (整型)MsgType textContent 文本消息内容MsgId 消息 id,64 位整型图片消息13488318601234567890123456参数 描述ToUserName 开发者微信号FromUserName 发送方帐号(一个 OpenID)CreateTime 消息创建时间 (整型)MsgType imagePicUrl 图片链接M
4、sgId 消息 id,64 位整型地理位置消息135177636023.134521113.358803201234567890123456参数 描述ToUserName 开发者微信号FromUserName 发送方帐号(一个 OpenID)CreateTime 消息创建时间 (整型)MsgType locationLocation_X 地理位置维度Location_Y 地理位置经度Scale 地图缩放大小Label 地理位置信息MsgId 消息 id,64 位整型链接消息13517763601234567890123456参数 描述ToUserName 接收方微信号FromUserName
5、发送方微信号,若为普通用户,则是一个 OpenIDCreateTime 消息创建时间MsgType 消息类型,linkTitle 消息标题Description 消息描述Url 消息链接MsgId 消息 id,64 位整型事件推送事件推送只支持微信 4.5 版本,即将开放,敬请期待。12345678923.137466113.352425119.385040参数 描述ToUserName 接收方微信号FromUserName 发送方微信号,若为普通用户,则是一个 OpenIDCreateTime 消息创建时间MsgType 消息类型,eventEvent 事件类型,有 ENTER(进入会话)和
6、 LOCATION(地理位置)Latitude 地理位置维度,事件类型为 LOCATION 的时存在Longitude 地理位置经度,事件类型为 LOCATION 的时存在Precision 地理位置精度,事件类型为 LOCATION 的时存在消息回复对于每一个 POST 请求,开发者在响应包中返回特定 xml 结构,对该消息进行响应(现支持回复文本、图文、语音、视频、音乐和对收到的消息进行星标操作)。微信服务器在五秒内收不到响应会断掉连接。回复 xml 结构如下:回复文本消息123456780参数 描述ToUserName 接收方帐号(收到的 OpenID)FromUserName 开发者微
7、信号CreateTime 消息创建时间MsgType textContent 回复的消息内容FuncFlag 位 0x0001 被标志时,星标刚收到的消息。回复音乐消息123456780参数 描述ToUserName 接收方帐号(收到的 OpenID)FromUserName 开发者微信号CreateTime 消息创建时间MsgType musicMusicUrl 音乐链接HQMusicUrl 高质量音乐链接,WIFI 环境优先使用该链接播放音乐FuncFlag 位 0x0001 被标志时,星标刚收到的消息。回复图文消息1234567821参数 描述ToUserName 接收方帐号(收到的 O
8、penID)FromUserName 开发者微信号CreateTime 消息创建时间MsgType newsArticleCount 图文消息个数,限制为 10 条以内Articles 多条图文消息信息,默认第一个 item 为大图Title 图文消息标题Description 图文消息描述PicUrl图片链接,支持 JPG、PNG 格式,较好的效果为大图 640*320,小图 80*80,限制图片链接的域名需要与开发者填写的基本资料中的 Url 一致Url 点击图文消息跳转链接注意事项1.用户 OpenID 对一个公众号是固定唯一的串2.请使用 80 端口3.用户关注公众号,微信公众平台服务器推送一条内容为 Hello2BizUser 的文本消息到第三方服务器