微信小程序开发文档 微信小程序 send

2024-02-25 开发教程 微信小程序开发文档 匿名 3

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_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
41028weapp_template_msg.form_id过期或者不正确
41029weapp_template_msg.form_id已被使用
41030weapp_template_msg.page不正确
45009接口调用超过限额
40003touser不是正确的openid
40013appid不正确,或者不符合绑定关系要求

请求数据示例

{
"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
41028weapp_template_msg.form_id过期或者不正确
41029weapp_template_msg.form_id已被使用
41030weapp_template_msg.page不正确
45009接口调用超过限额
40003touser不是正确的openid
40013appid不正确,或者不符合绑定关系要求

请求数据示例

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"
}