微信小程序怎么发送模板消息

1. 简介

微信小程序作为社交软件中的一种,其提供了方便快捷的通信方式,同时也提供了模板消息发送API,方便开发者在小程序中使用。本文重点介绍微信小程序中如何发送模板消息。

2. 发送模板消息流程

2.1 获取access_token

在向微信服务器发送模板消息之前,需要先获取access_token。access_token是微信服务器用于验证开发者请求合法性的标识,每日有请求次数和请求频次限制,有效期为2个小时,因此需要在每次发送模板消息之前重新获取。

const url = `https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=${appid}&secret=${appsecret}`

const response = await axios.get(url)

const access_token = response.data.access_token

2.2 获取模板ID

在发送模板消息前,需要首先选择一个模板,并且获取模板ID,然后根据模板ID拼接消息内容。

2.3 组装模板消息内容

组装模板消息内容最重要的一步,需要根据选择的模板ID和消息内容进行参数替换。

参数格式为:

```json

{

"touser": "OPENID",

"template_id": "TEMPLATE_ID",

"page": "index",

"form_id": "FORMID",

"data": {

"keyword1": {

"value": "339208499"

},

"keyword2": {

"value": "2015年01月05日 12:30"

},

"keyword3": {

"value": "腾讯微信总部"

},

"keyword4": {

"value": "广州市海珠区新港中路397号"

}

},

"emphasis_keyword": "keyword1.DATA"

}

```

其中,`touser` 表示接收者(用户)的openid,`template_id` 表示模板ID,`form_id` 表示formID,`data` 表示模板需要的数据,最多支持10个参数,`emphasis_keyword` 表示需要进行高亮的参数。

需要注意的是,在小程序中,`form_id` 必须在提交后7天内使用,且同一form_id只能使用一次。

2.4 发送模板消息

在获取access_token和组装模板消息内容后,最后一步是向微信服务器发送模板消息。

const url = `https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=${access_token}`

const response = await axios.post(url, data)

3. 完整代码

下面是完整的发送模板消息代码,其中,`openid` 为用户的openid,`template_id` 为选择的模板ID,`form_id` 为formID,`data` 为需要进行参数替换的模板消息内容。

async function sendTemplateMessage(openid, template_id, form_id, data) {

const appid = 'your_appid'

const appsecret = 'your_appsecret'

const url = `https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=${appid}&secret=${appsecret}`

const response = await axios.get(url)

const access_token = response.data.access_token

const message = {

touser: openid,

template_id: template_id,

page: 'index',

form_id: form_id,

data: data,

emphasis_keyword: 'keyword1.DATA'

}

const url = `https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=${access_token}`

const response = await axios.post(url, message)

}

4. 总结

发送模板消息是小程序中的一项常见功能,通过本文的介绍,我们了解了发送模板消息的整个流程和注意事项。在开发小程序时,如果需要使用发送模板消息的功能,可以参考本文提供的代码进行开发。