模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等。不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息。

1、主动发送消息

  • 1、在微信公众号中我们多数都是被动回复用户消息,在文章:【微信开发】4、SpringBoot整合WxJava处理微信消息、事件推送 中我们可以收到用户的消息、事件推送,从而被动回复用户信息。
  • 2、微信公众号中能主动给用户发送消息的方式有以下几种:

1、模板消息,每个账号的模板消息的日调用上限为10万次
2、群发信息,服务号提供每月(自然月)4条的群发权限。而对于某些具备开发能力的公众号运营者,可以通过高级群发接口,实现更灵活的群发能力
3、客服信息,在用户点击自定义菜单、关注公众号、扫描二维码等三个场景中,开发者在收到事件通知后1分钟内可调用客服消息接口向用户下发3条客服消息

各有各的好处和限制,本次我们使用模板消息主动给用户发送消息

2、创建消息模板

  • 1、正式号

在网页最下端找到:

点击进入到功能,添加【模板消息】功能,如图:

我已经添加了,点击进入:

可以到模板库中添加你需要的模板,没找到合适的需要提交新增申请

  • 2、测试号


在模板消息接口处,可以直接新增消息模板,这里的消息模板只能用于测试号,正式号是无法使用的:

消息模板格式参考:

参数需以{{开头,以.DATA}}结尾,实际使用中,我们替换对应的参数即可

配置成功后,我们需要拿到模板ID,我们发送模板消息就需要模板ID

3、整合WxJava发送模板消息

import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** 微信公众号模板消息*/
@RestController
@RequestMapping("wx/mp/template")
public class WxMpTemplateController {@Autowiredprivate WxMpService wxMpService;/*** 发送模板消息** @return* @throws WxErrorException*/@GetMapping("sendMsg")public String sendMsg() throws WxErrorException {WxMpTemplateMessage wxMpTemplateMessage = new WxMpTemplateMessage();// 模板IDwxMpTemplateMessage.setTemplateId("qnV7iJ0Lr4lnhkPI0loUfSh0LoBOr9la0BST12XSG74");// 接收用户openIdwxMpTemplateMessage.setToUser("o_Zxu6Zh8UigOVTZ3pqx9C3PUWXo");// 可配置跳转指链接或小程序,不配置默认不跳转wxMpTemplateMessage.setUrl("http://www.jd.com");// 消息内容WxMpTemplateData wxMpTemplateData = new WxMpTemplateData("first", "下单成功提醒");wxMpTemplateMessage.addData(wxMpTemplateData);wxMpTemplateData = new WxMpTemplateData("keyword1", "iphone 13pro max 远峰蓝 256GB X 1");wxMpTemplateMessage.addData(wxMpTemplateData);// 可以设置字体颜色wxMpTemplateData = new WxMpTemplateData("keyword2", "¥8799.00", "#ff0000");wxMpTemplateMessage.addData(wxMpTemplateData);wxMpTemplateData = new WxMpTemplateData("keyword3", "2022-03-23 13:49:00");wxMpTemplateMessage.addData(wxMpTemplateData);wxMpTemplateData = new WxMpTemplateData("keyword4", "京东快递");wxMpTemplateMessage.addData(wxMpTemplateData);wxMpTemplateData = new WxMpTemplateData("keyword5", "贵阳市观山湖区金融城1号楼");wxMpTemplateMessage.addData(wxMpTemplateData);wxMpTemplateData = new WxMpTemplateData("remark", "");wxMpTemplateMessage.addData(wxMpTemplateData);// 发送模板消息String msgId = wxMpService.getTemplateMsgService().sendTemplateMsg(wxMpTemplateMessage);return "模板消息发送成功,msgId:" + msgId;}
}
  • 1、核心思想就是使用你需要发送的内容替换消息模板中的{{}}内的内容,
  • 2、还可以单独设置字体的颜色
  • 3、可以使模板点击跳转到响应的网页

4、测试发送模板消息

  • 1、访问接口
localhost:8080/wx/mp/template/sendMsg
  • 2、打开微信

    如图,我们收到了刚刚发送的模板消息,点击后,跳转到【京东】网页:

    如您在阅读中发现不足,欢迎留言!!!

【微信公众号】8、SpringBoot整合WxJava发送模板消息相关推荐

  1. 微信公众号开发——向指定用户发送模板消息

  2. 分布式电商项目——4.搭建微信公众号平台以及整合WxJava框架提供注册码

    搭建企业级微信公众号 微信公众平台: https://mp.weixin.qq.com/cgi-bin/home?t=home/index&lang=zh_CN&token=79509 ...

  3. 微信公众号自定义菜单和推送模板消息

    1.微信公众号测试账号: 找到服务号的开发文档,点击进去. Java代码: 准备工作: (1)填写JS接口安全域名 (2)填写接口配置信息: (2)java的Token验证接口 @RequestMap ...

  4. php 向公众号发送消息,微信公众号之主动给用户发送消息功能

    前一段时间项目中遇到一个稍微麻烦一点的问题. 即客户要求,他在后台编辑好文章后要主动给每个用户都发送消息,并可以让用户点击直接进入文章页面. 于是乎,当时脑子一热,想着没什么大的问题,so easy. ...

  5. RUNTIME / 微信公众号开发—主动向用户发送消息

    来源:https://gitee.com/lxycx_xc/codes/mvesy65pt4lraw3u8x7gc81 模板消息:需要先在微信公众号管理后台申请该功能模板,拿到模板ID和模板上对应的字 ...

  6. Java开发微信公众号之被动回复用户消息-回复图片消息

    一.前言 hello小伙伴们,大家好,做微信开发两年了,最近看到微信方面的文章阅读量和关注量上升的比较快速,激发了我满满的动力啊,所以就滋生了一个想法,从头开始整理一下微信公众号开发,写一个简易的教程 ...

  7. 微信公众号为指定openid用户推送消息

    微信公众号为指定openid用户推送消息 微信提供的开放接口中,有两个给指定openid的用户发送信息的接口,适用场景应该是向 预约用户或者中奖用户发送消息. 第一个接口:客服发送消息 请求方式: P ...

  8. 关注微信公众号使其自动发送欢迎你关注消息

    关注微信公众号使其自动发送欢迎你关注消息 一般我们关注微信公众号时.他都会自动推送一条消息.欢迎您关注了某公众号.而今天我们所做的就是这个功能. 关注公众号时我们需要获取到用户的一些个人基本信息. 而 ...

  9. 微信公众号如何无限制的定向推送消息--模板消息的应用

    微信公众号如何无限制的定向推送消息–模板消息的应用 最近开发的OA平台有一个需求:将待办消息推送到微信公众号的指定用户.但是为了避免用户受到垃圾消息的骚扰,微信对相关的接口做了非常严格的限制. 查阅开 ...

最新文章

  1. 2、ESXI安装出错
  2. 【Android 应用开发】 自定义组件 宽高适配方法, 手势监听器操作组件, 回调接口维护策略, 绘制方法分析 -- 基于 WheelView 组件分析自定义组件
  3. 通过 IDE/Maven 部署 Serverless 应用实践
  4. 28名公交驾乘人员昨食物中毒
  5. C#学习记录3上——类的封装,继承,多态
  6. 哈佛终身教授刘军:生活在一个统计学的时代
  7. php修改数据库字段为空,为何修改信息后数据库表中内容为空
  8. jvm垃圾回收机制_深入理解JVM的垃圾回收机制
  9. css 外弧_css 弧度
  10. linux环境下如何查看solr版本,Solr环境搭建(linux)
  11. SpringSession+redis解决分布式session不一致性问题
  12. Bailian2764 数根(POJ NOI0113-50)【数论】
  13. React Native升级方法——升级到最新版本0.59
  14. 搜索百度网盘的小姐姐,云网盘之家
  15. SqlCommand详解以及SqlParameter的两种用法和DataTable基础
  16. 学会充分利用你的零碎时间
  17. gprs java_GPRS类型一览
  18. 每天多抽出一分钟看书,让你的什么更加精彩。1111节当当购书码
  19. GreenDao的简单学习(附带demo源码)
  20. 【宅男福利】百度云下载不限速软件,电脑和看视频无广告软件

热门文章

  1. EOJ3298. 排队买夜宵 (using of stack<...>)
  2. EBS Fixed Assets 导入API测试
  3. 在C# 中实现上升沿,并模仿PLC环境验证 If 语句使用上升沿和不使用上升沿的不同
  4. laya 零碎的知识点
  5. 看烦了VS2012的黑白调调了吗?换!(转)
  6. c# 基本值类型及其默认值
  7. Java Socket 全双工通信
  8. 【深度学习】DeepDream的实现
  9. 图解23种设计模式(TypeScript版)
  10. 大数据带你看《爱情公寓》如何十年情怀变“公墓”