當普通微信用戶向公衆賬號發消息時,微信服務器將POST消息的XML數據包到開發者填寫的URL上。
請注意:
1、關於重試的消息排重,推薦使用msgid排重。
2、微信服務器在五秒內收不到響應會斷掉連接,並且重新發起請求,總共重試三次。假如服務器無法保證在五秒內處理並回復,可以直接回復空串,微信服務器不會對此作任何處理,並且不會發起重試。詳情請見“發送消息-被動回覆消息”。
3、爲了保證更高的安全保障,開發者可以在公衆平臺官網的開發者中心處設置消息加密。開啓加密後,用戶發來的消息會被加密,公衆號被動回覆用戶的消息也需要加密(但開發者通過客服接口等API調用形式向用戶發送消息,則不受影響)。關於消息加解密的詳細說明,請見“消息加解密說明”。
各消息類型的推送XML數據包結構如下:
文本消息
<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>
<MediaId><![CDATA[media_id]]></MediaId>
<MsgId>1234567890123456</MsgId>
</xml>
參數 |
描述 |
---|
ToUserName |
開發者微信號 |
FromUserName |
發送方帳號(一個OpenID) |
CreateTime |
消息創建時間 (整型) |
MsgType |
image |
PicUrl |
圖片鏈接 |
MediaId |
圖片消息媒體id,可以調用多媒體文件下載接口拉取數據。 |
MsgId |
消息id,64位整型 |
使用網頁調試工具調試該接口
語音消息
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1357290913</CreateTime>
<MsgType><![CDATA[voice]]></MsgType>
<MediaId><![CDATA[media_id]]></MediaId>
<Format><![CDATA[Format]]></Format>
<MsgId>1234567890123456</MsgId>
</xml>
參數 |
描述 |
---|
ToUserName |
開發者微信號 |
FromUserName |
發送方帳號(一個OpenID) |
CreateTime |
消息創建時間 (整型) |
MsgType |
語音爲voice |
MediaId |
語音消息媒體id,可以調用多媒體文件下載接口拉取數據。 |
Format |
語音格式,如amr,speex等 |
MsgID |
消息id,64位整型 |
使用網頁調試工具調試該接口
請注意,開通語音識別後,用戶每次發送語音給公衆號時,微信會在推送的語音消息XML數據包中,增加一個Recongnition字段(注:由於客戶端緩存,開發者開啓或者關閉語音識別功能,對新關注者立刻生效,對已關注用戶需要24小時生效。開發者可以重新關注此帳號進行測試)。開啓語音識別後的語音XML數據包如下:
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1357290913</CreateTime>
<MsgType><![CDATA[voice]]></MsgType>
<MediaId><![CDATA[media_id]]></MediaId>
<Format><![CDATA[Format]]></Format>
<Recognition><![CDATA[騰訊微信團隊]]></Recognition>
<MsgId>1234567890123456</MsgId>
</xml>
多出的字段中,Format爲語音格式,一般爲amr,Recognition爲語音識別結果,使用UTF8編碼。
視頻消息
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1357290913</CreateTime>
<MsgType><![CDATA[video]]></MsgType>
<MediaId><![CDATA[media_id]]></MediaId>
<ThumbMediaId><![CDATA[thumb_media_id]]></ThumbMediaId>
<MsgId>1234567890123456</MsgId>
</xml>
參數 |
描述 |
---|
ToUserName |
開發者微信號 |
FromUserName |
發送方帳號(一個OpenID) |
CreateTime |
消息創建時間 (整型) |
MsgType |
視頻爲video |
MediaId |
視頻消息媒體id,可以調用多媒體文件下載接口拉取數據。 |
ThumbMediaId |
視頻消息縮略圖的媒體id,可以調用多媒體文件下載接口拉取數據。 |
MsgId |
消息id,64位整型 |
使用網頁調試工具調試該接口
小視頻消息
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1357290913</CreateTime>
<MsgType><![CDATA[shortvideo]]></MsgType>
<MediaId><![CDATA[media_id]]></MediaId>
<ThumbMediaId><![CDATA[thumb_media_id]]></ThumbMediaId>
<MsgId>1234567890123456</MsgId>
</xml>
參數 |
描述 |
---|
ToUserName |
開發者微信號 |
FromUserName |
發送方帳號(一個OpenID) |
CreateTime |
消息創建時間 (整型) |
MsgType |
小視頻爲shortvideo |
MediaId |
視頻消息媒體id,可以調用多媒體文件下載接口拉取數據。 |
ThumbMediaId |
視頻消息縮略圖的媒體id,可以調用多媒體文件下載接口拉取數據。 |
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位整型 |
使用網頁調試工具調試該接口