微信小程序 发送模板消息

  • Post author:
  • Post category:小程序



接口地址:(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) {
console.log(

‘form发生了submit事件,formId为:’

, e.detail)

var

that =

this

;
console.log(

‘获取用户33openid===’

+ that.data.openid)
console.log(

“access_token:”

+ that.data.access_token)
wx.request({
url:

‘https://www.*******.com/SendTemplate’

,
data: {
touser: that.data.openid,
access_token: that.data.access_token,
formId: e.detail.formId
},
method:

‘post’

,

// header: { ‘content-type’: ‘application/json’ // 默认值 },
header: {

‘content-type’

:

‘application/x-www-form-urlencoded’

},

//使用这种方式后台才能实现获取到数据
success:

function

(res) {
console.log(

“发送模板:”

+ res.data)
}
})

遇到一个坑在开发工具上获取

formId: “the formId is a mock one”。按常理应该是一串数字,原来是在模拟器下无法获取,需要在真机上才可以获取到



版权声明:本文为huningjun原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。