uniformMessage.send
本接口应在服务器端调用,详细说明参见服务端API。
本接口支持云调用。需开发者工具版本 >= 1.02.1904090(最新稳定版下载)
wx-server-sdk >= 0.4.0
下发小程序和公众号统一的服务消息
调用方式:
- HTTPS 调用
- 云调用
HTTPS 调用
请求地址
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 | 是 | 公众号模板消息的数据 |
返回值
Object
返回的 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 | 是 | 公众号模板消息的数据 |
返回值
Object
返回的 JSON 数据包
属性 | 类型 | 说明 |
---|---|---|
errCode | number | 错误码 |
errMsg | string | 错误信息 |
异常
Object
抛出的异常
属性 | 类型 | 说明 |
---|---|---|
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"
}