接口地址:(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"
}
返回码说明:
在调用模板消息接口后,会返回JSON数据包。
正常时的返回JSON数据包示例:
{
"errcode": 0,
"errmsg": "ok"
}
错误时会返回错误码信息,说明如下:
返回码 | 说明 |
---|---|
40037 | template_id不正确 |
41028 | form_id不正确,或者过期 |
41029 | form_id已被使用 |
41030 | page不正确 |
45009 | 接口调用超过限额(目前默认每个帐号日调用限额为100万) |
<
form
bindsubmit
=
“formSubmit”
report-submit
=
‘true’
>
<
view
class
=
“btn-area”>
<
button
formType
=
“submit”>
Submit
</
button
>
</
view
>
</
form
>
formSubmit:
function
(e) {
function
(e) {
console.log(
‘form发生了submit事件,formId为:’
, e.detail)
‘form发生了submit事件,formId为:’
, e.detail)
var
that =
this
;
console.log(
‘获取用户33openid===’
+ that.data.openid)
‘获取用户33openid===’
+ that.data.openid)
console.log(
“access_token:”
+ that.data.access_token)
“access_token:”
+ that.data.access_token)
wx.request({
url:
‘https://www.*******.com/SendTemplate’
,
‘https://www.*******.com/SendTemplate’
,
data: {
touser: that.data.openid,
access_token: that.data.access_token,
formId: e.detail.formId
},
method:
‘post’
,
‘post’
,
// header: { ‘content-type’: ‘application/json’ // 默认值 },
header: {
‘content-type’
:
‘application/x-www-form-urlencoded’
},
//使用这种方式后台才能实现获取到数据
‘content-type’
:
‘application/x-www-form-urlencoded’
},
//使用这种方式后台才能实现获取到数据
success:
function
(res) {
function
(res) {
console.log(
“发送模板:”
+ res.data)
“发送模板:”
+ res.data)
}
})
遇到一个坑在开发工具上获取
formId: “the formId is a mock one”。按常理应该是一串数字,原来是在模拟器下无法获取,需要在真机上才可以获取到
版权声明:本文为huningjun原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。