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. 用戶未關注時,進行關注后的事件推送
推送XML數據包示例:
參數說明:
參數 描述 ToUserName 開發者微信號 FromUserName 發送方帳號(一個OpenID) CreateTime 消息創建時間 (整型) MsgType 消息類型,event Event 事件類型,subscribe EventKey 事件KEY值,qrscene_為前綴,后面為二維碼的參數值 Ticket 二維碼的ticket,可用來換取二維碼圖片 2. 用戶已關注時的事件推送
推送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數據包示例:
參數說明:
參數 描述 ToUserName 開發者微信號 FromUserName 發送方帳號(一個OpenID) CreateTime 消息創建時間 (整型) MsgType 消息類型,event Event 事件類型,subscribe(訂閱)、unsubscribe(取消訂閱)
4.公眾號 自定義菜單欄
官方文檔:https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Receiving_event_pushes.html
自定義菜單事件
用戶點擊自定義菜單后,微信會把點擊事件推送給開發者,請注意,點擊菜單彈出子菜單,不會產生上報。
點擊菜單拉取消息時的事件推送
推送XML數據包示例:
參數說明:
參數 描述 ToUserName 開發者微信號 FromUserName 發送方帳號(一個OpenID) CreateTime 消息創建時間 (整型) MsgType 消息類型,event Event 事件類型,CLICK EventKey 事件KEY值,與自定義菜單接口中KEY值對應 點擊菜單跳轉鏈接時的事件推送
推送XML數據包示例:
參數說明:
參數 描述 ToUserName 開發者微信號 FromUserName 發送方帳號(一個OpenID) CreateTime 消息創建時間 (整型) MsgType 消息類型,event Event 事件類型,VIEW EventKey 事件KEY值,設置的跳轉URL