微信公眾號 生成帶參數進入公眾號關注頁的二維碼 監聽用戶關注公眾號事件 自定義菜單欄 (服務端)


1.公眾號 生成帶參數的二維碼 掃碼帶參數進入關注公眾號頁面 

官方文檔:https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Receiving_event_pushes.html

臨時二維碼請求說明

http請求方式: POST URL: https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=TOKEN POST數據格式:json POST數據例子:{"expire_seconds": 604800, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": 123}}} 或者也可以使用以下POST數據創建字符串形式的二維碼參數:{"expire_seconds": 604800, "action_name": "QR_STR_SCENE", "action_info": {"scene": {"scene_str": "test"}}}

永久二維碼請求說明

http請求方式: POST URL: https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=TOKEN POST數據格式:json POST數據例子:{"action_name": "QR_LIMIT_SCENE", "action_info": {"scene": {"scene_id": 123}}} 或者也可以使用以下POST數據創建字符串形式的二維碼參數: {"action_name": "QR_LIMIT_STR_SCENE", "action_info": {"scene": {"scene_str": "test"}}}

參數說明

參數 說明
expire_seconds 該二維碼有效時間,以秒為單位。 最大不超過2592000(即30天),此字段如果不填,則默認有效期為30秒。
action_name 二維碼類型,QR_SCENE為臨時的整型參數值,QR_STR_SCENE為臨時的字符串參數值,QR_LIMIT_SCENE為永久的整型參數值,QR_LIMIT_STR_SCENE為永久的字符串參數值
action_info 二維碼詳細信息
scene_id 場景值ID,臨時二維碼時為32位非0整型,永久二維碼時最大值為100000(目前參數只支持1--100000)
scene_str 場景值ID(字符串形式的ID),字符串類型,長度限制為1到64
 

 

 

2. 掃碼帶參數進入公眾號后處理

官方文檔:https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Receiving_event_pushes.html

掃描帶參數二維碼事件

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

  1. 如果用戶還未關注公眾號,則用戶可以關注公眾號,關注后微信會將帶場景值關注事件推送給開發者。
  2. 如果用戶已經關注公眾號,則微信會將帶場景值掃描事件推送給開發者。

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,可用來換取二維碼圖片

 

3.公眾號 用戶點擊或取消關注 事件監聽

官方文檔:https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Receiving_event_pushes.html

關注/取消關注事件

用戶在關注與取消關注公眾號時,微信會把這個事件推送到開發者填寫的URL。方便開發者給用戶下發歡迎消息或者做帳號的解綁。為保護用戶數據隱私,開發者收到用戶取消關注事件時需要刪除該用戶的所有信息。

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

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

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

推送XML數據包示例:

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

參數說明:

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

 

4.公眾號 自定義菜單欄 

官方文檔:https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Receiving_event_pushes.html

 

自定義菜單事件

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

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

推送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 開發者微信號
FromUserName 發送方帳號(一個OpenID)
CreateTime 消息創建時間 (整型)
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 開發者微信號
FromUserName 發送方帳號(一個OpenID)
CreateTime 消息創建時間 (整型)
MsgType 消息類型,event
Event 事件類型,VIEW
EventKey 事件KEY值,設置的跳轉URL


免責聲明!

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



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