总结:

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

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

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

  1. axure小程序模板_公众号和小程序模板消息

    前言 今天和大家简单聊聊微信公众号和微信小程序的模板消息机制,大家在做微信小程序或者微信公众号消息通知的时候可以参考. 微信小程序 订阅消息 推送位置:服务通知 跳转能力:可以跳转到小程序页面 解释: ...

  2. php微信40037,微信公众号发送小程序模板消息提示40037?。

    {"code":0,"message":"success","data":"{\"errcode\& ...

  3. 微信公众号、小程序开发——1、客服消息+简易自开发回复平台

    一.客服消息"咨询-回复"方式 1.咨询方式 公众号:公众号主页发送各类型消息后,会在公众号后台收到用户消息. 小程序:在小程序网页中添加"客服按钮",进入客服 ...

  4. 公众号、小程序、短信消息推送的区别

    公众号分两种推送,一种是模板消息,一种是素材推送(文章.视频等) 模板消息推送 公众号利用模板消息推送,用户需要关注公众号才行,模板消息是固定好的格式,你可以改变里面的提示.模板消息推送一般用来做被动 ...

  5. 微信公众号发送小程序卡片_小程序、公众号客服消息可以发送小程序卡片啦

    下面的样式,相信不少人都见过,却极少有人知道它叫什么↓↓↓ 这就是小程序卡片,它是微信小程序分享特有的样式.在微信聊天中,经常可以看到这样的样式. 点击小程序卡片就可以跳转到对应的小程序,简单粗暴的跳 ...

  6. 微信公众号/微信小程序获取用户信息以及推送微信模版消息_MQ

    微信公众号/微信小程序获取用户信息以及推送微信模版消息_MQ 一.获取用户信息 1.首先我们需要了解什么是微信用户的OpenID 在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密 ...

  7. 白杨SEO:公众号、小程序微信服务搜索怎么做?搜一搜服务搜索排名规则解析

    新知达人, 白杨SEO:公众号.小程序怎么做微信服务搜索? 大纲如下: 1.搜一搜功能有哪些?品牌官方区怎么申请和条件? 2.微信搜一搜的服务搜索是什么? 3.微信公众号怎么做服务搜索? 4.微信小程 ...

  8. 小程序统一服务消息_微信团队发布小程序模板消息能力调整通知:小程序订阅消息接口正式上线...

    10月13日,微信团队发布了小程序模板消息能力调整通知.微信团队表示,此前的模板消息接口将停止使用,小程序订阅消息接口正式上线.据了解,新上线的小程序订阅消息,同时支持一次性和长期性订阅消息,用户可以 ...

  9. 微信公众号及小程序开发入门(二)

    开发过程中一些对微信公众号和小程序的认识. 一.服务号 在公众号开发入门一中提到,微信公众号分为订阅号和服务号,其中服务号功能最强,只准企业申请,并且要每年交300元认证费.如果企业想拥有自己的公众号 ...

  10. 微信公众号开发系统入门教程之公众号与小程序、APP的区别

    一.概述 APP.公众号.小程序,这是现在最流行且实用的三类系统.最近准备给我们公司开发一个微信公众号,我昨天对微信公众号做了一个细致的了解,现在我就来和大家说一说他们的区别联系. 先说一下公众号与A ...

最新文章

  1. Unix高级环境编程 学习小结(一)
  2. PyTorch随笔-2
  3. Windows 聚焦的锁屏壁纸设置为桌面壁纸
  4. js删除mysql记录_(DELETEUPDATE)修改、删除数据记录_MySQL
  5. 机器学习与Scikit Learn学习库
  6. linux性能架构,Linux性能及调优指南(翻译)之Linux内存架构
  7. 浅谈mtk平台手机通过gprs网络连接pc
  8. 3.5 tensorflow2实现样本分布K-S检验 ——python实战
  9. 查看jdk版本命令_JDK配置和Eclipse安装
  10. Sitadel:一款功能强大的Web应用扫描器
  11. mac上禁用复制粘贴
  12. 【旅行青蛙】你的蛙到底在干什么?
  13. 【Unity开发小技巧】Unity日志输出存储
  14. 30_ElasticSearch IK分词器配置文件 以及自定义词库
  15. 监控Kafka(kafka_exporter)
  16. css如何改变视频大小,调整视频的大小取决于屏幕尺寸少用CSS
  17. PAT乙级|C语言|1032 挖掘机技术哪家强 (20分)
  18. iOS客户端开发与Web前端开发
  19. 山东大学软件学院 - 面向对象开发技术 - 期末复习知识点总结
  20. 虚幻4蓝图快速入门(一)

热门文章

  1. 非线性回归-最小二乘法
  2. java rs 什么意思_rs是什么意思?
  3. 【NOI2015】小园丁与老司机
  4. 渗透测试思路 - 关于黑灰产的那些事(番外篇)
  5. Codeforces 918D MADMAX 图上dp 组合游戏
  6. Python+Django+MySQL资产管理系统
  7. RS232与TTL电平的区别
  8. 常见14种手机传感器
  9. 【docker】win10系统下docker容器安装及使用(二):docker通过commit及dockerfile进行创建
  10. matlab图像取样和量化,数字图像基础之图像取样和量化