微信公衆號一次性訂閱消息

說明

開發者可以通過一次性訂閱消息授權讓微信用戶授權第三方移動應用(接入說明)或公衆號,獲得發送一次訂閱消息給到授權微信用戶的機會。授權微信用戶可以不需要關注公衆號。微信用戶每授權一次,開發者可獲得一次下發消息的權限。(注意:同一用戶在同一scene場景值下的多次授權不累積下發權限,只能下發一條。若要訂閱多條,需要不同scene場景值)

消息下發位置說明:對於已關注公衆號的,消息將下發到公衆號會話裏;未關注公衆號的,將下發到服務通知。


公衆號或網頁使用一次性訂閱消息流程

第一步:需要用戶同意授權,獲取一次給用戶推送一條訂閱模板消息的機會

在確保微信公衆帳號擁有訂閱消息授權的權限的前提下(已認證的公衆號即有權限,可登陸公衆平臺在接口權限列表處查看),引導用戶在微信客戶端打開如下鏈接:
https://mp.weixin.qq.com/mp/subscribemsg?action=get_confirm&appid=wxaba38c7f163da69b&scene=1000&template_id=1uDxHNXwYQfBmXOfPJcjAS3FynHArD8aWMEFNRGSbCc&redirect_url=http%3a%2f%2fsupport.qq.com&reserved=test#wechat_redirect

參數 是否必須 說明
action 直接填get_confirm即可
appid 公衆號的唯一標識
scene 重定向後會帶上scene參數,開發者可以填0-10000的整形值,用來標識訂閱場景值
template_id 訂閱消息模板ID,登錄公衆平臺後臺,在接口權限列表處可查看訂閱模板ID
redirect_url 授權後重定向的回調地址,請使用UrlEncode對鏈接進行處理。 注:要求redirect_url的域名要跟登記的業務域名一致,且業務域名不能帶路徑。 業務域名需登錄公衆號,在設置-公衆號設置-功能設置裏面對業務域名設置。
reserved 用於保持請求和回調的狀態,授權請後原樣帶回給第三方。該參數可用於防止csrf攻擊(跨站請求僞造攻擊),建議第三方帶上該參數,可設置爲簡單的隨機數加session進行校驗,開發者可以填寫a-zA-Z0-9的參數值,最多128字節,要求做urlencode
wechat_redirect 無論直接打開還是做頁面302重定向時,必須帶此參數

用戶同意或取消授權後會返回相關信息。如果用戶點擊同意或取消授權,頁面將跳轉至:
redirect_url/?openid=OPENID&template_id=TEMPLATE_ID&action=ACTION&scene=SCENE

參數 說明
openid 用戶唯一標識,只在用戶確認授權時纔會帶上
template_id 訂閱消息模板ID
action 用戶點擊動作,”confirm”代表用戶確認授權,”cancel”代表用戶取消授權
scene 訂閱場景值
reserved 請求帶入原樣返回

第二步:通過API推送訂閱模板消息給到授權微信用戶

地址爲:
post-https://api.weixin.qq.com/cgi-bin/message/template/subscribe?access_token=ACCESS_TOKEN
數據示例:

{
    “touser”:”OPENID”,
    “template_id”:”TEMPLATE_ID”,
    “url”:”URL”,
    “miniprogram”:{
        “appid”:“xiaochengxuappid12345”,
        “pagepath”:“index?foo=bar”    
    },
    “scene”:”SCENE”,
    “title”:”TITLE”,
    “data”:{
        “content”:{
            “value”:”VALUE”,
            “color”:”COLOR”
        }
    }
}
參數 是否必須 說明
touser 填接收消息的用戶openid
template_id 訂閱消息模板ID
url 點擊消息跳轉的鏈接,需要有ICP備案
miniprogram 跳小程序所需數據,不需跳小程序可不用傳該數據
appid 所需跳轉到的小程序appid(該小程序appid必須與發模板消息的公衆號是綁定關聯關係,並且小程序要求是已發佈的)
pagepath 所需跳轉到小程序的具體頁面路徑,支持帶參數,(示例index?foo=bar)
scene 訂閱場景值
title 消息標題,15字以內
data 消息正文,value爲消息內容文本(200字以內),沒有固定格式,可用\n換行,color爲整段消息內容的字體顏色(目前僅支持整段消息爲一種顏色)

注:url和miniprogram都是非必填字段,若都不傳則模板無跳轉;若都傳,會優先跳轉至小程序。開發者可根據實際需要選擇其中一種跳轉方式即可。當用戶的微信客戶端版本不支持跳小程序時,將會跳轉至url。

發佈了22 篇原創文章 · 獲贊 9 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章