用戶掃描帶場景值二維碼時,可能推送如下兩種事件:
若是用戶還未關注公衆號,則用戶能夠關注公衆號,關注後微信會將帶場景值關注事件推送給開發者。
若是用戶已經關注公衆號,則微信會將帶場景值掃描事件推送給開發者。
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 開發者微信號
FromUserName 發送方賬號(一個OpenID)
CreateTime 消息建立時間 (整型)
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 開發者微信號
FromUserName 發送方賬號(一個OpenID)
CreateTime 消息建立時間 (整型)
MsgType 消息類型,event
Event 事件類型,SCAN
EventKey 事件KEY值,是一個32位無符號整數,即建立二維碼時的二維碼scene_id
Ticket 二維碼的ticket,可用來換取二維碼圖片
案例:
//一、掃碼獲取微信post過來的xml數據
$postArr = $GLOBALS['HTTP_RAW_POST_DATA'];
$postObj = simplexml_load_string( $postArr );
//未訂閱時 ,EventKey爲qrscene_1984;訂閱後,EventKey爲1984
if( strtolower($postObj->Event) == 'subscribe'){
$account_id = substr(trim($postObj->EventKey), 8);//輸出1984
} else {
$account_id = trim($postObj->EventKey);
}微信