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


 

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

 

一 、簡介

公眾平台消息接口為開發者提供了一種新的消息處理方式。

二 、 申請消息接口

點擊申請,如實填寫負責人姓名 、 手機號和郵箱,填寫網址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:下載

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM