微信小程序API 模板消息
基于微信的通知渠道,我們?yōu)殚_發(fā)者提供了可以高效觸達(dá)用戶的模板消息能力,以便實(shí)現(xiàn)服務(wù)的閉環(huán)并提供更佳的體驗(yàn)。
模板推送位置:服務(wù)通知
模板下發(fā)條件:用戶本人在微信體系內(nèi)與頁面有交互行為后觸發(fā),詳見下發(fā)條件說明
模板跳轉(zhuǎn)能力:點(diǎn)擊查看詳情僅能跳轉(zhuǎn)下發(fā)模板的該帳號(hào)的各個(gè)頁面
使用說明
- 獲取模板id
登錄https://mp.weixin.qq.com獲取模板,如果沒有合適的模板,可以申請(qǐng)?zhí)砑有履0?,審核通過后可使用,詳見模板審核說明
頁面的
<form/>
組件,屬性report-submit
為true
時(shí),可以聲明為需發(fā)模板消息,此時(shí)點(diǎn)擊按鈕提交表單可以獲取formId
,用于發(fā)送模板消息?;蛘弋?dāng)用戶完成支付行為,可以獲取prepay_id
用于發(fā)送模板消息。調(diào)用接口下發(fā)模板消息(詳見接口說明)
接口說明
1. 獲取access_token
access_token是全局唯一接口調(diào)用憑據(jù),開發(fā)者調(diào)用各接口時(shí)都需使用access_token,請(qǐng)妥善保存。access_token的存儲(chǔ)至少要保留512個(gè)字符空間。access_token的有效期目前為2個(gè)小時(shí),需定時(shí)刷新,重復(fù)獲取將導(dǎo)致上次獲取的access_token失效。
公眾平臺(tái)的API調(diào)用所需的access_token的使用及生成方式說明:
- 為了保密appsecrect,第三方需要一個(gè)access_token獲取和刷新的中控服務(wù)器。而其他業(yè)務(wù)邏輯服務(wù)器所使用的access_token均來自于該中控服務(wù)器,不應(yīng)該各自去刷新,否則會(huì)造成access_token覆蓋而影響業(yè)務(wù);
- 目前access_token的有效期通過返回的expire_in來傳達(dá),目前是7200秒之內(nèi)的值。中控服務(wù)器需要根據(jù)這個(gè)有效時(shí)間提前去刷新新access_token。在刷新過程中,中控服務(wù)器對(duì)外輸出的依然是老access_token,此時(shí)公眾平臺(tái)后臺(tái)會(huì)保證在刷新短時(shí)間內(nèi),新老access_token都可用,這保證了第三方業(yè)務(wù)的平滑過渡;
- access_token的有效時(shí)間可能會(huì)在未來有調(diào)整,所以中控服務(wù)器不僅需要內(nèi)部定時(shí)主動(dòng)刷新,還需要提供被動(dòng)刷新access_token的接口,這樣便于業(yè)務(wù)服務(wù)器在API調(diào)用獲知access_token已超時(shí)的情況下,可以觸發(fā)access_token的刷新流程。
開發(fā)者可以使用AppID和AppSecret調(diào)用本接口來獲取access_token。AppID和AppSecret可登錄微信公眾平臺(tái)官網(wǎng)-設(shè)置-開發(fā)設(shè)置中獲得(需要已經(jīng)綁定成為開發(fā)者,且?guī)ぬ?hào)沒有異常狀態(tài))。AppSecret生成后請(qǐng)自行保存,因?yàn)樵诠娖脚_(tái)每次生成查看都會(huì)導(dǎo)致AppSecret被重置。注意調(diào)用所有微信接口時(shí)均需使用https協(xié)議。如果第三方不使用中控服務(wù)器,而是選擇各個(gè)業(yè)務(wù)邏輯點(diǎn)各自去刷新access_token,那么就可能會(huì)產(chǎn)生沖突,導(dǎo)致服務(wù)不穩(wěn)定。
接口地址:
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
HTTP請(qǐng)求方式:
GET
參數(shù)說明 :
返回參數(shù)說明:
正常情況下,微信會(huì)返回下述JSON數(shù)據(jù)包給開發(fā)者:
{"access_token":"ACCESS_TOKEN","expires_in":7200}
錯(cuò)誤時(shí)微信會(huì)返回錯(cuò)誤碼等信息,JSON數(shù)據(jù)包示例如下(該示例為AppID無效錯(cuò)誤):
{"errcode":40013,"errmsg":"invalid appid"}
2. 發(fā)送模板消息
接口地址:(ACCESS_TOKEN需換成上文獲取到的access_token)
https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=ACCESS_TOKEN
HTTP請(qǐng)求方式:
POST
POST參數(shù)說明:
示例:
{ "touser": "OPENID", "template_id": "TEMPLATE_ID", "page": "index", "form_id": "FORMID", "data": { "keyword1": { "value": "339208499", "color": "#173177" }, "keyword2": { "value": "2015年01月05日 12:30", "color": "#173177" }, "keyword3": { "value": "粵海喜來登酒店", "color": "#173177" } , "keyword4": { "value": "廣州市天河區(qū)天河路208號(hào)", "color": "#173177" } }, "emphasis_keyword": "keyword1.DATA" }
返回碼說明:
在調(diào)用模板消息接口后,會(huì)返回JSON數(shù)據(jù)包。
正常時(shí)的返回JSON數(shù)據(jù)包示例:
{ "errcode":0, "errmsg":"ok", }
錯(cuò)誤時(shí)會(huì)返回錯(cuò)誤碼信息,說明如下:
返回碼 | 說明 |
---|---|
40037 | template_id不正確 |
41028 | form_id不正確,或者過期 |
41029 | form_id已被使用 |
41030 | page不正確 |
使用效果:
注意:內(nèi)部測(cè)試階段,模板消息下發(fā)后,在客戶端僅能看到由“公眾號(hào)安全助手”下發(fā)的簡(jiǎn)單通知。能收到該提示,即表明模板消息功能已經(jīng)調(diào)試成功。待該功能正式上線后,將可以展示成上圖效果。
下發(fā)條件說明
支付
當(dāng)用戶在小程序內(nèi)完成過支付行為,可允許開發(fā)者向用戶在7天內(nèi)推送有限條數(shù)的模板消息(1次支付可下發(fā)1條,多次支付下發(fā)條數(shù)獨(dú)立,互相不影響)
提交表單
當(dāng)用戶在小程序內(nèi)發(fā)生過提交表單行為且該表單聲明為要發(fā)模板消息的,開發(fā)者需要向用戶提供服務(wù)時(shí),可允許開發(fā)者向用戶在7天內(nèi)推送有限條數(shù)的模板消息(1次提交表單可下發(fā)1條,多次提交下發(fā)條數(shù)獨(dú)立,相互不影響)
審核說明
1.標(biāo)題
1.1標(biāo)題不能存在相同
1.2標(biāo)題意思不能存在過度相似
1.3標(biāo)題必須以“提醒”或“通知”結(jié)尾
1.4標(biāo)題不能帶特殊符號(hào)、個(gè)性化字詞等沒有行業(yè)通用性的內(nèi)容
1.5標(biāo)題必須能體現(xiàn)具體服務(wù)場(chǎng)景
1.6標(biāo)題不能涉及營(yíng)銷相關(guān)內(nèi)容,包括不限于:
消費(fèi)優(yōu)惠類、購(gòu)物返利類、商品更新類、優(yōu)惠券類、代金券類、紅包類、會(huì)員卡類、積分類、活動(dòng)類等營(yíng)銷傾向通知
2.關(guān)鍵詞
2.1同一標(biāo)題下,關(guān)鍵詞不能存在相同
2.2同一標(biāo)題下,關(guān)鍵詞不能存在過度相似
2.3關(guān)鍵詞不能帶特殊符號(hào)、個(gè)性化字詞等沒有行業(yè)通用性的內(nèi)容
2.4關(guān)鍵詞內(nèi)容示例必須與關(guān)鍵詞對(duì)應(yīng)匹配
2.5關(guān)鍵詞不能太過寬泛,需要具有限制性,例如:“內(nèi)容”這個(gè)就太寬泛,不能審核通過
違規(guī)說明
除不能違反運(yùn)營(yíng)規(guī)范外,還不能違反以下規(guī)則,包括但不限于:
- 不允許惡意誘導(dǎo)用戶進(jìn)行觸發(fā)操作,以達(dá)到可向用戶下發(fā)模板目的
- 不允許惡意騷擾,下發(fā)對(duì)用戶造成騷擾的模板
- 不允許惡意營(yíng)銷,下發(fā)營(yíng)銷目的模板
不允許通過服務(wù)號(hào)下發(fā)模板來告知用戶在小程序內(nèi)觸發(fā)的服務(wù)相關(guān)內(nèi)容
處罰說明
根據(jù)違規(guī)情況給予相應(yīng)梯度的處罰,一般處罰規(guī)則如下:
第一次違規(guī),刪除違規(guī)模板以示警告,
第二次違規(guī),封禁接口7天,
第三次違規(guī),封禁接口30天,
第四次違規(guī),永久封禁接口
處罰結(jié)果及原因以站內(nèi)信形式告知