本接口应在服务器端调用,详细说明参见服务端API。
本接口支持云调用。需开发者工具版本 >= 1.02.1904090(最新稳定版下载)
wx-server-sdk >= 0.4.0
下发小程序和公众号统一的服务消息
调用方式:
POST https://api.weixin.qq.com/cgi-bin/message/wxopen/template/uniform_send?access_token=ACCESS_TOKEN
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
access_token | string | 是 | 接口调用凭证 | |
touser | string | 是 | 用户openid,可以是小程序的openid,也可以是mp_template_msg.appid对应的公众号的openid | |
weapp_template_msg | Object | 否 | 小程序模板消息相关的信息,可以参考小程序模板消息接口; 有此节点则优先发送小程序模板消息 | |
mp_template_msg | Object | 是 | 公众号模板消息相关的信息,可以参考公众号模板消息接口;有此节点并且没有weapp_template_msg节点时,发送公众号模板消息 |
weapp_template_msg 的结构
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
template_id | string | 是 | 小程序模板ID | |
page | string | 是 | 小程序页面路径 | |
form_id | string | 是 | 小程序模板消息formid | |
data | string | 是 | 小程序模板数据 | |
emphasis_keyword | string | 是 | 小程序模板放大关键词 |
mp_template_msg 的结构
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
appid | string | 是 | 公众号appid,要求与小程序有绑定且同主体 | |
template_id | string | 是 | 公众号模板id | |
url | string | 是 | 公众号模板消息所要跳转的url | |
miniprogram | string | 是 | 公众号模板消息所要跳转的小程序,小程序的必须与公众号具有绑定关系 | |
data | string | 是 | 公众号模板消息的数据 |
返回的 JSON 数据包
属性 | 类型 | 说明 |
---|---|---|
errcode | number | 错误码 |
errmsg | string | 错误信息 |
错误码 | 错误信息 | 说明 |
---|---|---|
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 的权限,详情
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
touser | string | 是 | 用户openid,可以是小程序的openid,也可以是mp_template_msg.appid对应的公众号的openid | |
weappTemplateMsg | Object | 否 | 小程序模板消息相关的信息,可以参考小程序模板消息接口; 有此节点则优先发送小程序模板消息 | |
mpTemplateMsg | Object | 是 | 公众号模板消息相关的信息,可以参考公众号模板消息接口;有此节点并且没有weapp_template_msg节点时,发送公众号模板消息 |
weappTemplateMsg 的结构
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
templateId | string | 是 | 小程序模板ID | |
page | string | 是 | 小程序页面路径 | |
formId | string | 是 | 小程序模板消息formid | |
data | string | 是 | 小程序模板数据 | |
emphasisKeyword | string | 是 | 小程序模板放大关键词 |
mpTemplateMsg 的结构
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
appid | string | 是 | 公众号appid,要求与小程序有绑定且同主体 | |
templateId | string | 是 | 公众号模板id | |
url | string | 是 | 公众号模板消息所要跳转的url | |
miniprogram | string | 是 | 公众号模板消息所要跳转的小程序,小程序的必须与公众号具有绑定关系 | |
data | string | 是 | 公众号模板消息的数据 |
返回的 JSON 数据包
属性 | 类型 | 说明 |
---|---|---|
errCode | number | 错误码 |
errMsg | string | 错误信息 |
抛出的异常
属性 | 类型 | 说明 |
---|---|---|
errCode | number | 错误码 |
errMsg | string | 错误信息 |
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()
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"
}
logistics.bindAccount本接口应在服务器端调用,详细说明参见服务端API。本接口支持云调用。需开发者工具版本 =1.02.1904090(最...
组件生命周期组件的生命周期,指的是组件自身的一些函数,这些函数在特殊的时间点或遇到一些特殊的框架事件时被自动触发。其中,...
数据预拉取预拉取能够在小程序冷启动的时候通过微信后台提前向第三方服务器拉取业务数据,当代码包加载完时可以更快地渲染页面,...
在了解Arduino UNO板的主要部分后,我们准备学习如何设置Arduino IDE。一旦我们学到这一点,我们将准备在Arduino板上上传我们的...
C语言允许你在另一个循环内使用一个循环。下面的例子说明了这个概念。嵌套循环语句语法for ( initialize ;control; increment or...