参考文档:
模板消息
步骤一:获取模板 ID
有两个方法可以获取模板 ID:
- 通过模板消息管理接口获取模板 ID
步骤二:页面的 组件,属性 report-submit 为 true 时,可以声明为需要发送模板消息,此时点击按钮提交表单可以获取 formId,用于发送模板消息。或者当用户完成 ,可以获取 prepay_id 用于发送模板消息。
步骤三:调用接口下发模板消息
使用效果
下发条件说明
1. 支付
当用户在小程序内完成过支付行为,可允许开发者向用户在7天内推送有限条数的模板消息(1次支付可下发3条,多次支付下发条数独立,互相不影响)
2. 提交表单
当用户在小程序内发生过提交表单行为且该表单声明为要发模板消息的,开发者需要向用户提供服务时,可允许开发者向用户在7天内推送有限条数的模板消息(1次提交表单可下发1条,多次提交下发条数独立,相互不影响)
templateMessage.send
本接口应在服务器端调用,详细说明参见。
本接口支持。需开发者工具版本 >= 1.02.1904090(最新),wx-server-sdk >= 0.4.0
发送模板消息
调用方式:
HTTPS 调用
请求地址
请求参数
属性 类型 默认值 必填 说明
access_token string 是
touser string 是 接收者(用户)的 openid
template_id string 是 所需下发的模板消息的id
page string 否 点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。该字段不填则模板无跳转。
form_id string 是 表单提交场景下,为 submit 事件带上的 ;支付场景下,为本次支付的
data Object 否 模板内容,不填则下发空模板。具体格式请参考示例。
emphasis_keyword string 否 模板需要放大的关键词,不填则默认无放大
返回值
Object
返回的 JSON 数据包
属性 类型 说明
errcode number 错误码
errmsg string 错误信息
errcode 的合法值
值 说明 最低版本
40037 template_id不正确
41028 form_id不正确,或者过期
41029 form_id已被使用
41030 page不正确
45009 接口调用超过限额(目前默认每个帐号日调用限额为100万)
请求示例
返回示例
{
"errcode": 0,
"errmsg": "ok"
}
云调用
接口方法
openapi.templateMessage.send
需在 config.json 中配置 templateMessage.send API 的权限,
请求参数
属性 类型 默认值 必填 说明
touser string 是 接收者(用户)的 openid
templateId string 是 所需下发的模板消息的id
page string 否 点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。该字段不填则模板无跳转。
formId string 是 表单提交场景下,为 submit 事件带上的 ;支付场景下,为本次支付的
data Object 否 模板内容,不填则下发空模板。具体格式请参考示例。
emphasisKeyword string 否 模板需要放大的关键词,不填则默认无放大
返回值
Object
返回的 JSON 数据包
属性 类型 说明
errCode number 错误码
errMsg string 错误信息
errCode 的合法值
异常
Object
抛出的异常
属性 类型 说明
errCode number 错误码
errMsg string 错误信息
errCode 的合法值
值 说明 最低版本
40037 template_id不正确
41028 form_id不正确,或者过期
41029 form_id已被使用
41030 page不正确
45009 接口调用超过限额(目前默认每个帐号日调用限额为100万)
请求示例
返回示例
{
"errCode": 0,
"errMsg": "openapi.templateMessage.send:ok"
}