.. _subscribeMessage.send: :wxbpi:`subscribeMessage.send` ============================================================ 服务器端调用 -------------- .. http:post:: message/subscribe/send?access_token=ACCESS_TOKEN :baseUrl: :term:`api` :synopsis: 发送订阅消息 .. note:: 本接口应在服务器端调用,详细说明参见服务端API。 :required: 本接口支持云调用。需开发者工具版本 >= 1.02.1904090(最新稳定版下载),wx-server-sdk >= 0.4.0 :query string access_token/cloudbase_access_token: *必选* 接口调用凭证 :json string errmsg: 错误信息 :>json number errcode: 错误码 - 40003 touser字段openid为空或者不正确 - 40037 订阅模板id为空不正确 - 43101 用户拒绝接受消息,如果用户之前曾经订阅过,则表示用户取消了订阅关系 - 47003 模板参数不准确,可能为空或者不满足规则,errmsg会提示具体是哪个字段出错 - 41030 page路径不正确,需要保证在现网版本小程序中存在,与app.json保持一致 :接口限制: 次数限制:开通支付能力的是3kw/日,没开通的是1kw/日。 :请求示例: .. code:: json { "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为 .. code:: 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 } }