微信平臺開發(fā) 接收事件推送

2019-03-14 11:40 更新

接收事件推送

在微信用戶和公眾號產生交互的過程中,用戶的某些操作會使得微信服務器通過事件推送的形式通知到開發(fā)者在開發(fā)者中心處設置的服務器地址,從而開發(fā)者可以獲取到該信息。其中,某些事件推送在發(fā)生后,是允許開發(fā)者回復用戶的,某些則不允許,詳細說明請見本頁末尾的微信推送消息與事件說明。

關注/取消關注事件

用戶在關注與取消關注公眾號時,微信會把這個事件推送到開發(fā)者填寫的URL。方便開發(fā)者給用戶下發(fā)歡迎消息或者做帳號的解綁。

微信服務器在五秒內收不到響應會斷掉連接,并且重新發(fā)起請求,總共重試三次。

關于重試的消息排重,推薦使用FromUserName + CreateTime 排重。

假如服務器無法保證在五秒內處理并回復,可以直接回復空串,微信服務器不會對此作任何處理,并且不會發(fā)起重試。


推送XML數據包示例:

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[FromUser]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[subscribe]]></Event>
</xml>

參數說明:

參數描述
ToUserName開發(fā)者微信號
FromUserName發(fā)送方帳號(一個OpenID)
CreateTime消息創(chuàng)建時間 (整型)
MsgType消息類型,event
Event事件類型,subscribe(訂閱)、unsubscribe(取消訂閱)

使用網頁調試工具調試該接口

掃描帶參數二維碼事件

用戶掃描帶場景值二維碼時,可能推送以下兩種事件:

  1. 如果用戶還未關注公眾號,則用戶可以關注公眾號,關注后微信會將帶場景值關注事件推送給開發(fā)者。

  2. 如果用戶已經關注公眾號,則微信會將帶場景值掃描事件推送給開發(fā)者。

1. 用戶未關注時,進行關注后的事件推送

推送XML數據包示例:

<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>
<Ticket><![CDATA[TICKET]]></Ticket>
</xml>

參數說明:

參數描述
ToUserName開發(fā)者微信號
FromUserName發(fā)送方帳號(一個OpenID)
CreateTime消息創(chuàng)建時間 (整型)
MsgType消息類型,event
Event事件類型,subscribe
EventKey事件KEY值,qrscene_為前綴,后面為二維碼的參數值
Ticket二維碼的ticket,可用來換取二維碼圖片

2. 用戶已關注時的事件推送

推送XML數據包示例:

<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>
<Ticket><![CDATA[TICKET]]></Ticket>
</xml>

參數說明:

參數描述
ToUserName開發(fā)者微信號
FromUserName發(fā)送方帳號(一個OpenID)
CreateTime消息創(chuàng)建時間 (整型)
MsgType消息類型,event
Event事件類型,SCAN
EventKey事件KEY值,是一個32位無符號整數,即創(chuàng)建二維碼時的二維碼scene_id
Ticket二維碼的ticket,可用來換取二維碼圖片

使用網頁調試工具調試該接口

上報地理位置事件

用戶同意上報地理位置后,每次進入公眾號會話時,都會在進入時上報地理位置,或在進入會話后每5秒上報一次地理位置,公眾號可以在公眾平臺網站中修改以上設置。上報地理位置時,微信會將上報地理位置事件推送到開發(fā)者填寫的URL。

推送XML數據包示例:

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[LOCATION]]></Event>
<Latitude>23.137466</Latitude>
<Longitude>113.352425</Longitude>
<Precision>119.385040</Precision>
</xml>

參數說明:

參數描述
ToUserName開發(fā)者微信號
FromUserName發(fā)送方帳號(一個OpenID)
CreateTime消息創(chuàng)建時間 (整型)
MsgType消息類型,event
Event事件類型,LOCATION
Latitude地理位置緯度
Longitude地理位置經度
Precision地理位置精度

使用網頁調試工具調試該接口

自定義菜單事件

用戶點擊自定義菜單后,微信會把點擊事件推送給開發(fā)者,請注意,點擊菜單彈出子菜單,不會產生上報。

點擊菜單拉取消息時的事件推送

推送XML數據包示例:

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[FromUser]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[CLICK]]></Event>
<EventKey><![CDATA[EVENTKEY]]></EventKey>
</xml>

參數說明:

參數描述
ToUserName開發(fā)者微信號
FromUserName發(fā)送方帳號(一個OpenID)
CreateTime消息創(chuàng)建時間 (整型)
MsgType消息類型,event
Event事件類型,CLICK
EventKey事件KEY值,與自定義菜單接口中KEY值對應


點擊菜單跳轉鏈接時的事件推送

推送XML數據包示例:

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[FromUser]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[VIEW]]></Event>
<EventKey><![CDATA[www.qq.com]]></EventKey>
</xml>

參數說明:

參數描述
ToUserName開發(fā)者微信號
FromUserName發(fā)送方帳號(一個OpenID)
CreateTime消息創(chuàng)建時間 (整型)
MsgType消息類型,event
Event事件類型,VIEW
EventKey事件KEY值,設置的跳轉URL

使用網頁調試工具調試該接口

消息調試接口

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號