一、添加模板
登錄https://mp.weixin.qq.com獲取模板,如果沒有合適的模板,可以申請添加新模板,審核通過后可使用,詳見模板審核說明
頁面的 <form/>
組件,屬性report-submit
為true
時,可以聲明為需發模板消息,此時點擊按鈕提交表單可以獲取formId
,用於發送模板消息。或者當用戶完成支付行為,可以獲取prepay_id
用於發送模板消息。
表單 <form bindsubmit="formSubmit" report-submit='true' > ... <view class="btn-area"> <button formType="submit">Submit</button> </view> </form> 腳本 Page({ formSubmit: function(e) { console.log('form發生了submit事件,formId為:', e.detail.value) } })
report-submit 是否返回 formId 用於發送模板消息
二、發送模板消息
接口地址:(ACCESS_TOKEN 需換成上文獲取到的 access_token)
https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=ACCESS_TOKEN
HTTP請求方式:
POST
POST參數說明:
參數 | 必填 | 說明 |
---|---|---|
touser | 是 | 接收者(用戶)的 openid |
template_id | 是 | 所需下發的模板消息的id |
page | 否 | 點擊模板卡片后的跳轉頁面,僅限本小程序內的頁面。支持帶參數,(示例index?foo=bar)。該字段不填則模板無跳轉。 |
form_id | 是 | 表單提交場景下,為 submit 事件帶上的 formId;支付場景下,為本次支付的 prepay_id |
data | 是 | 模板內容,不填則下發空模板 |
color | 否 | 模板內容字體的顏色,不填默認黑色 |
emphasis_keyword | 否 | 模板需要放大的關鍵詞,不填則默認無放大 |
示例:
{ "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": "廣州市天河區天河路208號", "color": "#173177" } }, "emphasis_keyword": "keyword1.DATA" }
特別說明:touser的OpenId 只能為當前用戶的OpenId ,即 模板消息只能發給當前提交表單的用戶
返回碼說明:
在調用模板消息接口后,會返回JSON數據包。
正常時的返回JSON數據包示例:
{ "errcode": 0, "errmsg": "ok", }
錯誤時會返回錯誤碼信息,說明如下:
返回碼 | 說明 |
---|---|
40037 | template_id不正確 |
41028 | form_id不正確,或者過期 |
41029 | form_id已被使用 |
41030 | page不正確 |
45009 | 接口調用超過限額(目前默認每個帳號日調用限額為100萬) |
官網地址:https://mp.weixin.qq.com/debug/wxadoc/dev/api/notice.html
歡迎閱讀本系列文章:微信小程序開發教程目錄