微信小程序——给用户发送通知

参考文档:

模板消息

步骤一:获取模板 ID

有两个方法可以获取模板 ID:

  1. 通过模板消息管理接口获取模板 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 的合法值

值 说明 最低版本 0 成功

异常

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"
}
经验分享 程序员 微信小程序 职场和发展