前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >微信小程序模板消息

微信小程序模板消息

作者头像
神葳
发布2021-01-22 16:21:57
发布2021-01-22 16:21:57
3.3K00
代码可运行
举报
文章被收录于专栏:神葳总局神葳总局
运行总次数:0
代码可运行

小程序业务需求要用到模板消息推送,在此记录。

# 功能介绍

  • 订阅消息推送位置:服务通知
  • 订阅消息下发条件:用户自主订阅
  • 订阅消息卡片跳转能力:点击查看详情可跳转至该小程序的页面

# 使用说明

# 步骤一:获取模板 ID

在微信公众平台手动配置获取模板 ID:

登录 https://mp.weixin.qq.com ,功能->订阅消息->获取模板,如果没有合适的模板,可以申请添加新模板,审核通过后可使用。

# 步骤二:获取下发权限

小程序端消息订阅接口 wx.requestSubscribeMessage

调起客户端小程序订阅消息界面,返回用户订阅消息的操作结果。当用户勾选了订阅面板中的“总是保持以上选择,不再询问”时,模板消息会被添加到用户的小程序设置页,通过 wx.getSetting 接口可获取用户对相关模板消息的订阅状态。

示例代码:

代码语言:javascript
代码运行次数:0
运行
复制
wx.requestSubscribeMessage({

	tmplIds: [''],// 需要订阅的消息模板的id的集合,一次调用最多可订阅3条消息

	success (res) {

		errMsg //String 接口调用成功时errMsg值为'requestSubscribeMessage:ok'

		TEMPLATE_ID 
		//String [TEMPLATE_ID]是动态的键,即模板id,值包括'accept'、'reject'、'ban'。
		//'accept'表示用户同意订阅该条id对应的模板消息,
		//'reject'表示用户拒绝订阅该条id对应的模板消息,
		//'ban'表示已被后台封禁。
		//例如{ errMsg: "requestSubscribeMessage:ok",
		//zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE: "accept"}
		//表示用户同意订阅zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE这条消息

	}

})

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

复制

只有在用户点击允许发送订阅消息后才能顺利将订阅消息发送给用户。

且如果用户未选择“总是保持以上选择,不再询问”,则只能发送一次订阅消息。

# 步骤三:调用接口下发订阅消息

服务端消息发送接口 subscribeMessage.send

请求地址(POST)

https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=ACCESS_TOKEN

获取接口调用凭据

GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

请求参数

属性

类型

必填

说明

access_token

string

接口调用凭证

touser

string

接收者(用户)的 openid

template_id

string

所需下发的订阅模板id

page

string

点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。该字段不填则模板 无跳转。

data

Object

模板内容,格式形如 { "key1": { "value": any }, "key2": { "value": any } }

miniprogram_state

string

跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版

返回值

属性

类型

说明

errcode

number

错误码

errmsg

string

错误信息

发送成功返回:{errcode: 0, errmsg: "ok"}

订阅消息参数值内容限制说明:

模板中每个字段都有其对应的参数值限制,详见小程序开发文档

符号表示除中文、英文、数字外的常见符号,不能带有换行等控制字符。 时间格式支持HH:MM:SS或者HH:MM。 日期包含年月日,为y年m月d日,y年m月、m月d日格式,或者用‘-’、‘/’、‘.’符号连接, 如2018-01-01,2018/01/01,2018.01.01,2018-01,01-01。 每个模板参数都会以类型为前缀,例如第一个数字模板参数为number01.DATA,第二个为number02.DATA

例如,模板的内容为

代码语言:javascript
代码运行次数:0
运行
复制
姓名: {{name01.DATA}}

金额: {{amount01.DATA}}

行程: {{thing01.DATA}}

日期: {{date01.DATA}}

1 2 3 4 5 6 7

复制

则对应的json为

代码语言:javascript
代码运行次数:0
运行
复制
{

	"touser": "OPENID", //接收者(用户)的 openid

	"template_id": "TEMPLATE_ID", //所需下发的订阅模板id

	"page": "index", //点击模板卡片后的跳转页面

	"data": { //模板内容

		"name01": {

			"value": "某某"

		},

		"amount01": {

			"value": "¥100"

		},

		"thing01": {

			"value": "广州至北京"

		} ,

		"date01": {

			"value": "2018-01-01"

		}

	}

}

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37

复制

# 流程图

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-8-3 17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • # 功能介绍
  • # 使用说明
    • # 步骤一:获取模板 ID
    • # 步骤二:获取下发权限
    • # 步骤三:调用接口下发订阅消息
  • # 流程图
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档