统一服务消息 【公众号和小程序 模板消息下发统一openId解惑】

总结:

统一主体下的公众号和小程序,并且公众号已经经关联小程序,此时小程序的OpenId可以使用公众号的消息模板进行下发。

 

uniformMessage.send

本接口应在服务器端调用,详细说明参见服务端API

本接口支持云调用。需开发者工具版本 >= 1.02.1904090(最新稳定版下载),wx-server-sdk >= 0.4.0

下发小程序和公众号统一的服务消息

调用方式:

HTTPS 调用

请求地址

POST https://api.weixin.qq.com/cgi-bin/message/wxopen/template/uniform_send?access_token=ACCESS_TOKEN

请求参数

属性类型默认值必填说明
access_tokenstring 接口调用凭证
touserstring 用户openid,可以是小程序的openid,也可以是mp_template_msg.appid对应的公众号的openid
weapp_template_msgObject 小程序模板消息相关的信息,可以参考小程序模板消息接口; 有此节点则优先发送小程序模板消息
mp_template_msgObject 公众号模板消息相关的信息,可以参考公众号模板消息接口;有此节点并且没有weapp_template_msg节点时,发送公众号模板消息

weapp_template_msg 的结构

属性类型默认值必填说明
template_idstring 小程序模板ID
pagestring 小程序页面路径
form_idstring 小程序模板消息formid
datastring 小程序模板数据
emphasis_keywordstring 小程序模板放大关键词

mp_template_msg 的结构

属性类型默认值必填说明
appidstring 公众号appid,要求与小程序有绑定且同主体
template_idstring 公众号模板id
urlstring 公众号模板消息所要跳转的url
miniprogramstring 公众号模板消息所要跳转的小程序,小程序的必须与公众号具有绑定关系
datastring 公众号模板消息的数据

返回值

Object

返回的 JSON 数据包

属性类型说明
errcodenumber错误码
errmsgstring错误信息

错误

错误码错误信息说明
40037 模板id不正确,weapp_template_msg.template_id或者mp_template_msg.template_id
41028 weapp_template_msg.form_id过期或者不正确
41029 weapp_template_msg.form_id已被使用
41030 weapp_template_msg.page不正确
45009 接口调用超过限额
40003 touser不是正确的openid
40013 appid不正确,或者不符合绑定关系要求

请求数据示例

{
    "touser":"OPENID",
    "weapp_template_msg":{
        "template_id":"TEMPLATE_ID",
        "page":"page/page/index",
        "form_id":"FORMID",
        "data":{
            "keyword1":{
                "value":"339208499"
            },
            "keyword2":{
                "value":"2015年01月05日 12:30"
            },
            "keyword3":{
                "value":"腾讯微信总部"
            },
            "keyword4":{
                "value":"广州市海珠区新港中路397号"
            }
        },
        "emphasis_keyword":"keyword1.DATA"
    },
    "mp_template_msg":{
        "appid":"APPID ",
        "template_id":"TEMPLATE_ID",
        "url":"http://weixin.qq.com/download",
        "miniprogram":{
            "appid":"xiaochengxuappid12345",
            "pagepath":"index?foo=bar"
        },
        "data":{
            "first":{
                "value":"恭喜你购买成功!",
                "color":"#173177"
            },
            "keyword1":{
                "value":"巧克力",
                "color":"#173177"
            },
            "keyword2":{
                "value":"39.8元",
                "color":"#173177"
            },
            "keyword3":{
                "value":"2014年9月22日",
                "color":"#173177"
            },
            "remark":{
                "value":"欢迎再次购买!",
                "color":"#173177"
            }
        }
    }
}

返回数据示例

{
 "errcode": 0,
 "errmsg": "ok"
}

云调用

云调用是小程序·云开发提供的在云函数中调用微信开放接口的能力,需要在云函数中通过 wx-server-sdk 使用。

接口方法

openapi.uniformMessage.send

需在 config.json 中配置 uniformMessage.send API 的权限,详情

请求参数

属性类型默认值必填说明
touserstring 用户openid,可以是小程序的openid,也可以是mp_template_msg.appid对应的公众号的openid
weappTemplateMsgObject 小程序模板消息相关的信息,可以参考小程序模板消息接口; 有此节点则优先发送小程序模板消息
mpTemplateMsgObject 公众号模板消息相关的信息,可以参考公众号模板消息接口;有此节点并且没有weapp_template_msg节点时,发送公众号模板消息

weappTemplateMsg 的结构

属性类型默认值必填说明
templateIdstring 小程序模板ID
pagestring 小程序页面路径
formIdstring 小程序模板消息formid
datastring 小程序模板数据
emphasisKeywordstring 小程序模板放大关键词

mpTemplateMsg 的结构

属性类型默认值必填说明
appidstring 公众号appid,要求与小程序有绑定且同主体
templateIdstring 公众号模板id
urlstring 公众号模板消息所要跳转的url
miniprogramstring 公众号模板消息所要跳转的小程序,小程序的必须与公众号具有绑定关系
datastring 公众号模板消息的数据

返回值

Object

返回的 JSON 数据包

属性类型说明
errCodenumber错误码
errMsgstring错误信息

异常

Object

抛出的异常

属性类型说明
errCodenumber错误码
errMsgstring错误信息

errCode 的合法值

错误

错误码错误信息说明
40037 模板id不正确,weapp_template_msg.template_id或者mp_template_msg.template_id
41028 weapp_template_msg.form_id过期或者不正确
41029 weapp_template_msg.form_id已被使用
41030 weapp_template_msg.page不正确
45009 接口调用超过限额
40003 touser不是正确的openid
40013 appid不正确,或者不符合绑定关系要求

请求数据示例

const cloud = require('wx-server-sdk')
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV,
})
exports.main = async (event, context) => {
  try {
    const result = await cloud.openapi.uniformMessage.send({
        "touser": 'OPENID',
        "weappTemplateMsg": {
          "page": 'page/page/index',
          "data": {
            "keyword1": {
              "value": '339208499'
            },
            "keyword2": {
              "value": '2015年01月05日 12:30'
            },
            "keyword3": {
              "value": '腾讯微信总部'
            },
            "keyword4": {
              "value": '广州市海珠区新港中路397号'
            }
          },
          "templateId": 'TEMPLATE_ID',
          "formId": 'FORMID',
          "emphasisKeyword": 'keyword1.DATA'
        },
        "mpTemplateMsg": {
          "appid": 'APPID ',
          "url": 'http://weixin.qq.com/download',
          "miniprogram": {
            "appid": 'xiaochengxuappid12345',
            "pagepath": 'index?foo=bar'
          },
          "data": {
            "first": {
              "value": '恭喜你购买成功!',
              "color": '#173177'
            },
            "keyword1": {
              "value": '巧克力',
              "color": '#173177'
            },
            "keyword2": {
              "value": '39.8元',
              "color": '#173177'
            },
            "keyword3": {
              "value": '2014年9月22日',
              "color": '#173177'
            },
            "remark": {
              "value": '欢迎再次购买!',
              "color": '#173177'
            }
          },
          "templateId": 'TEMPLATE_ID'
        }
      })
    return result
  } catch (err) {
    return err
  }
}

返回数据示例

{
  "errCode": 0,
  "errMsg": "openapi.uniformMessage.send:ok"
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值