subscribeMessage.send¶
服务器端调用¶
- POST message/subscribe/send?access_token=ACCESS_TOKEN¶
- BaseUrl
- Synopsis
发送订阅消息
注解
本接口应在服务器端调用,详细说明参见服务端API。
- Required
本接口支持云调用。需开发者工具版本 >= 1.02.1904090(最新稳定版下载),wx-server-sdk >= 0.4.0
- Query Parameters
access_token/cloudbase_access_token (string) – 必选 接口调用凭证
- Request JSON Object
touser (string) – 必选 接收者(用户)的 openid
template_id (string) – 必选 所需下发的订阅模板id
page (string) – 点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。该字段不填则模板无跳转。
Object (data) – 必选 模板内容,格式形如 { “key1”: { “value”: any }, “key2”: { “value”: any } }
miniprogram_state (string) – 跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版
lang (string) – 进入小程序查看”的语言类型,支持zh_CN(简体中文)、en_US(英文)、zh_HK(繁体中文)、zh_TW(繁体中文),默认为zh_CN
- Response JSON Object
errmsg (string) – 错误信息
errcode (number) –
错误码
40003 touser字段openid为空或者不正确
40037 订阅模板id为空不正确
43101 用户拒绝接受消息,如果用户之前曾经订阅过,则表示用户取消了订阅关系
47003 模板参数不准确,可能为空或者不满足规则,errmsg会提示具体是哪个字段出错
41030 page路径不正确,需要保证在现网版本小程序中存在,与app.json保持一致
- 接口限制
次数限制:开通支付能力的是3kw/日,没开通的是1kw/日。
- 请求示例
{ "touser": "OPENID", "template_id": "TEMPLATE_ID", "page": "index", "miniprogram_state":"developer", "lang":"zh_CN", "data": { "number01": { "value": "339208499" }, "date01": { "value": "2015年01月05日" }, "site01": { "value": "TIT创意园" } , "site02": { "value": "广州市新港中路397号" } } }
订阅消息参数值内容限制说明
类别 |
说明 |
值限制 |
说明 |
---|---|---|---|
thing.DATA |
事物 |
20个以内字符 |
可汉字、数字、字母或符号组合 |
number.DATA |
数字 |
32位以内数字 |
只能数字,可带小数 |
letter.DATA |
字母 |
32位以内字母 |
只能字母 |
symbol.DATA |
符号 |
5位以内符号 |
只能符号 |
character_string.DATA |
字符串 |
32位以内数字、字母或符号 |
可数字、字母或符号组合 |
time.DATA |
时间 |
24小时制时间格式(支持+年月日),支持填时间段,两个时间点之间用“~”符号连接 |
例如:15:01,或:2019年10月1日 15:01 |
date.DATA |
日期 |
年月日格式(支持+24小时制时间),支持填时间段,两个时间点之间用“~”符号连接 |
例如:2019年10月1日,或:2019年10月1日 15:01 |
amount.DATA |
金额 |
1个币种符号+10位以内纯数字,可带小数,结尾可带“元” |
可带小数 |
phone_number.DATA |
电话 |
17位以内,数字、符号 |
电话号码,例:+86-0766-66888866 |
car_number.DATA |
车牌 |
8位以内,第一位与最后一位可为汉字,其余为字母或数字 |
车牌号码:粤A8Z888挂 |
name.DATA |
姓名 |
10个以内纯汉字或20个以内纯字母或符号 |
中文名10个汉字内;纯英文名20个字母内;中文和字母混合按中文名算,10个字内 |
phrase.DATA |
汉字 |
5个以内汉字 |
5个以内纯汉字,例如:配送中 |
符号表示除中文、英文、数字外的常见符号,不能带有换行等控制字符。 时间格式支持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
例如,模板的内容为
姓名: {{name01.DATA}}
金额: {{amount01.DATA}}
行程: {{thing01.DATA}}
日期: {{date01.DATA}}
则对应的json为
{
"touser": "OPENID",
"template_id": "TEMPLATE_ID",
"page": "index",
"data": {
"name01": {
"value": "某某"
},
"amount01": {
"value": "¥100"
},
"thing01": {
"value": "广州至北京"
} ,
"date01": {
"value": "2018-01-01"
}
}
}
云调用¶
云调用是微信云开发提供的在云函数中调用微信开放接口的能力,需要在云函数中通过 wx-server-sdk 使用。
接口方法
openapi.subscribeMessage.send
需在 config.json 中配置 subscribeMessage.send API 的权限,详情
请求参数 属性 类型 默认值 必填 说明 touser string 是 接收者(用户)的 openid templateId string 是 所需下发的订阅模板id page string 否 点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。该字段不填则模板无跳转。 data Object 是 模板内容,格式形如 { “key1”: { “value”: any }, “key2”: { “value”: any } } miniprogramState string 否 跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版 lang string 否 进入小程序查看”的语言类型,支持zh_CN(简体中文)、en_US(英文)、zh_HK(繁体中文)、zh_TW(繁体中文),默认为zh_CN 返回值 Object 返回的 JSON 数据包
属性 类型 说明 errCode number 错误码 errMsg string 错误信息 errCode 的合法值
值 说明 最低版本 0 成功 异常 Object 抛出的异常
属性 类型 说明 errCode number 错误码 errMsg string 错误信息 errCode 的合法值
值 说明 最低版本 40003 touser字段openid为空或者不正确 40037 订阅模板id为空不正确 43101 用户拒绝接受消息,如果用户之前曾经订阅过,则表示用户取消了订阅关系 47003 模板参数不准确,可能为空或者不满足规则,errmsg会提示具体是哪个字段出错 41030 page路径不正确,需要保证在现网版本小程序中存在,与app.json保持一致 请求示例 const cloud = require(‘wx-server-sdk’) cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV,
}) exports.main = async (event, context) => {
- try {
- const result = await cloud.openapi.subscribeMessage.send({
“touser”: ‘OPENID’, “page”: ‘index’, “lang”: ‘zh_CN’, “data”: {
- “number01”: {
“value”: ‘339208499’
}, “date01”: {
“value”: ‘2015年01月05日’
}, “site01”: {
“value”: ‘TIT创意园’
}, “site02”: {
“value”: ‘广州市新港中路397号’
}
}, “templateId”: ‘TEMPLATE_ID’, “miniprogramState”: ‘developer’
})
return result
- } catch (err) {
return err
}
}