java微信模板消息接口的使用

JAVA自定义信件消息模板内容 这样我们就可以自由的设置消息模板了。这里我们需要引入一个开源工具依赖。 阅读详情

通过之前的微信开发分享我们应该知道微信如果要给用户主动发送消息可以使用客服消息或多客服,但是发送客服消息用户需在48小时内和微信公众号有过交互,也就是说如果48小时内用户没和公众号交互过,即使发了客服消息用户也可能接不到。除了上面的消息形式外,其实微信还提供了一种模板消息。下面是我总结的一些关于模板消息的优缺点

一  模板消息的优缺点

优点:显示形式有别于其他消息,信息通俗易懂且要美观一些是一种通知类消息,可以主动给用户发送,用户只需关注公众号不需要和公众号有交互;可根据行业的不同发送个性化消息

缺点:消息内容固定,不能进行过多的定制化


二  使用条件

已经通过微信认证的公众号并且已经申请开通过模板消息接口,而且还需要从模板库中选择过模板并已添加到自己的公众平台


首先点这里的按钮:




之后找到合适模板点“添加按钮”



三  程序调用模板消息发送接口

1  模板消息由于模板选取不同需要传入参数的名称、值、参数个数也不同首先要封装2个实体

package com.debug.weixin.pojo;

public class TemplateParam {
	// 参数名称
	private String name;
	// 参数值
	private String value;
	// 颜色
	private String color;
	
    public TemplateParam(String name,String value,String color){
    	this.name=name;
    	this.value=value;
    	this.color=color;
    }
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getValue() {
		return value;
	}

	public void setValue(String value) {
		this.value = value;
	}

	public String getColor() {
		return color;
	}

	public void setColor(String color) {
		this.color = color;
	}
	
	

}

package com.debug.weixin.pojo;

import java.util.List;

public class Template {

	// 消息接收方
	private String toUser;
	// 模板id
	private String templateId;
	// 模板消息详情链接
	private String url;
	// 消息顶部的颜色
	private String topColor;
	// 参数列表
	private List<TemplateParam> templateParamList;

	public String getToUser() {
		return toUser;
	}

	public void setToUser(String toUser) {
		this.toUser = toUser;
	}

	public String getTemplateId() {
		return templateId;
	}

	public void setTemplateId(String templateId) {
		this.templateId = templateId;
	}

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}

	public String getTopColor() {
		return topColor;
	}

	public void setTopColor(String topColor) {
		this.topColor = topColor;
	}
	
	public String toJSON() {
		StringBuffer buffer = new StringBuffer();
		buffer.append("{");
		buffer.append(String.format("\"touser\":\"%s\"", this.toUser)).append(",");
		buffer.append(String.format("\"template_id\":\"%s\"", this.templateId)).append(",");
		buffer.append(String.format("\"url\":\"%s\"", this.url)).append(",");
		buffer.append(String.format("\"topcolor\":\"%s\"", this.topColor)).append(",");
		buffer.append("\"data\":{");
		TemplateParam param = null;
		for (int i = 0; i < this.templateParamList.size(); i++) {
		     param = templateParamList.get(i);
		    // 判断是否追加逗号
			if (i < this.templateParamList.size() - 1){
				
				buffer.append(String.format("\"%s\": {\"value\":\"%s\",\"color\":\"%s\"},", param.getName(), param.getValue(), param.getColor()));
			}else{
				buffer.append(String.format("\"%s\": {\"value\":\"%s\",\"color\":\"%s\"}", param.getName(), param.getValue(), param.getColor()));
			}
		
		}
		buffer.append("}");
		buffer.append("}");
		return buffer.toString();
		}

	public List<TemplateParam> getTemplateParamList() {
		return templateParamList;
	}

	public void setTemplateParamList(List<TemplateParam> templateParamList) {
		this.templateParamList = templateParamList;
	}

}


2  发送模板消息的主要方法

public static boolean sendTemplateMsg(String token,Template template){
		
		boolean flag=false;
		
		String requestUrl="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN";
		requestUrl=requestUrl.replace("ACCESS_TOKEN", token);
	
		JSONObject jsonResult=CommonUtil.httpsRequest(requestUrl, "POST", template.toJSON());
		if(jsonResult!=null){
			int errorCode=jsonResult.getInt("errcode");
			String errorMessage=jsonResult.getString("errmsg");
			if(errorCode==0){
				flag=true;
			}else{
				System.out.println("模板消息发送失败:"+errorCode+","+errorMessage);
				flag=false;
			}
		}
		return flag;
		
		
		
}

3 调用模板消息的发送方法

Template tem=new Template();
tem.setTemplateId("LhEDNAdkTcax7gzPetV1hnAmbSoXuo22OEJ8eix1iAw");
tem.setTopColor("#00DD00");
tem.setToUser("oWOHzsm8htRGTadf14eDdcnLsAjM");
tem.setUrl("");
		
List<TemplateParam> paras=new ArrayList<TemplateParam>();
paras.add(new TemplateParam("first","我们已收到您的货款,开始为您打包商品,请耐心等待: )","#FF3333"));
paras.add(new TemplateParam("orderMoneySum","¥20.00","#0044BB"));
paras.add(new TemplateParam("orderProductName","火烧牛干巴","#0044BB"));
paras.add(new TemplateParam("Remark","感谢你对我们商城的支持!!!!","#AAAAAA"));
		
tem.setTemplateParamList(paras);
		
boolean result=sendTemplateMsg(token,tem);


最后看下微信上收到的消息长什么样


由于本人使用的是android手机,消息上面带颜色的颜色条看不出来,如果是土豪用的苹果手机则显示成下面这样


YOLOv11改进策略【模型轻量化】| 替换骨干网络为 GhostNet V3 2024华为的重参数轻量化模型 一、本文介绍 本文记录的是基于 GhostNetV3 的 YOLOv11 轻量化改进方法研究。GhostNetV3的轻量模块采用重参数化方法,训练时为深度可分离卷积和1×1卷积添加线性并行分支,推理时通过逆重参数化移除分支、折叠操作,能够在不增加推理成本的同时提高性能,从而实现YOLOv11的轻量化改进。 专栏目录:YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进 专栏地址:YOLOv11改进专栏——以发表论文的角度,快速 阅读详情

相关推荐

封神台靶场,为了小芳,冲之——cookie注入

第二个靶场 打开网站 找一下注入点 一般在新闻这种里面点开看看 先判断是否存在注入 有waf 尝试了很多方法绕过都没成功,/and/,aandnd,AnD等一系列都没绕过去,乌鸡鲅鱼 删掉id=169 发现 然后判断cookie注入 在搜索框输入 Javascript:alert(document.cookie=”id=”+escape(‘169’)); 然后弹窗了(其中 “id=” 取决URL中的id= escape中的数值也是URL中id=的值)返回刚刚的页面,把ID删除后一样能正常显示。说明服务器能

Wubuqing的博客 653

微信公众号开发之发送模板消息

在我们做微信公众号开发时,发送模板消息往往是必不可少的功能。今天我们就来说说吧! 1、申请模板消息 首先我们应该知道,模板消息是需要申请的。这个申请就其本身来说是很easy的(我前一天晚上申请的,显示需要2--3个工作日,结果第二天早上就发现已经开通了,所以说腾讯官方还是比较给力的哈)。 但是我们在申请时还是有一些东西要注意,这个在官方的文档有非常详细的说明。 这个我建议你好好看看。选...

朱哲的博客 11万+

基于LabVIEW控制仪器检测与监控 --普源示波器DS1102Z-E

LabVIEW 控制普源示波器 代码实现与解释

s0101100的博客 4233

微信公众平台开发-发送模板消息

微信公众账号开发-发送模板消息:   内容概要 本篇文章主要叙述如何在微信公众帐号上实现“发送模板消息开发”功能。包含json的封装与解析。   何谓模板消息 为了保证用户不受到骚扰,在开发者出现需要主动提醒、通知用户时,才允许开发者在公众平台网站中模板消息库中选择模板,选择后获得模板ID,再根据模板ID向用户主动推送提醒、通知消息。   注意:模板消息只能开发者主动向微信用户发送

g1812453421的专栏 1万+

10、使用Ray Serve实现微服务与模型部署

本文深入介绍了如何使用Ray Serve实现微服务与机器学习模型的高效部署。从基础的部署定义到复杂的模型服务场景,涵盖部署架构、HTTP与Python调用、资源配置、FastAPI集成、金丝雀发布策略及实际应用流程。文章还探讨了模型服务的关键需求如灵活性、批处理、硬件优化和可扩展性,并展示了Ray Serve如何满足这些要求。最后提供了常见问题解决方案与未来发展方向,帮助开发者构建高性能、易维护的模型服务平台。

blue42的博客 174

S速度曲线轨迹规划(普通变频位置闭环控制算法详细介绍+SCL代码)

位置控制用PD控制器,详细内容介绍请查看下面博客文章:PD控制器算法详细解读_RXXW_Dor的博客-优快云博客鉴于积分和微分在工程上的大量应用,这篇博文主要讲解工程上的如何求导f'(x),导数反映的是函数(信号)的变化率,牛顿也是在研究运动的时候提出了微积分的概念,我们知道反映位移变化的快慢程度是速度v(t),反映速度变化快慢程度的物理量是加速度(速度的变化率)。

RXXW_Dor的博客 3886

调用https://api.weixin.qq.com/cgi-bin/message/template/send发送小程序消息时需要注意类型长度限制

调用https://api.weixin.qq.com/cgi-bin/message/template/send发送小程序消息时需要注意类型长度限制

johnhuster的专栏 1590

20251121更新纷玩岛

【代码】20251121更新纷玩岛。

猫敷雪 1019

微信公众号模板消息接口开发实现

公众当中的功能 有许许多多,目前主要介绍模板消息接口的功能使用。

weixin_53800845的博客 3559

【拼多多笔试题汇总】2024-03-24-拼多多春招笔试题

A 小镇上有个奇特的游戏。游戏开始时,A 先生准备了一排 nnn 个物品。K 小姐和卢小姐则轮流进行操作。首先,K 小姐可以选择移除至多 xxx 个物品。接着,卢小姐也可以选择移除剩余物品中的至多 yyy 个。游戏的目标是,K 小姐想尽量让剩余物品的价值之和最大化,而卢小姐则想将剩余物品的价值之和最小化。假设两人都采取最优策略,请问最后剩余物品的价值之和是多少?第一行包含五个正整数 n,m,k,x,yn, m, k, x, yn,m,k,x,y,分别表示物品的总数、K 小姐最多可移除的物品数、卢小姐最多可移

春秋招笔试突围 1万+

华为Ascend C算子开发能力认证(中级)(个人记录,有完整代码,已通过认证,仅供参考)

本文介绍了在昇腾NPU环境下实现Sigmoid算子的完整流程。首先需要在华为云ModelArts-Notebook或开发者套件上搭建环境,要求CANN版本为8.0.0.beta1。主要内容包括:1)实现SigmoidCustom算子的kernel侧核函数代码;2)完成host侧Tiling结构体实现;3)支持Float16数据类型。代码实现部分详细展示了核函数计算流程、数据拷贝和牛顿迭代优化方法。最后介绍了编译部署流程,包括环境配置、代码上传、编译执行等步骤,并提供了提交规范说明。该实现通过调用Ascend

qq_73044452的博客 1107

java微信开发模板消息接口使用

微信开发--模板消息接口 http://blog.youkuaiyun.com/u010486495/article/details/46985729 微信开发者文档:模板消息接口 模板消息运营规范:http://mp.weixin.qq.com/wiki/2/def71e3ecb5706c132229ae505815966.html(附带允许和不允许发送的模板实例) 原理: 1

zhoujimin 2498

【超详细】计算机组成原理总结及思维导图

计算机组成 第一章 计算机系统概论 冯诺依曼型计算机特点 1.计算机由运算器,控制器,存储器,输入和输出设备5部分组成 2.采用存储程序的方式,程序和数据放在同一个存储器中,并以二进制表示。 3.指令由操作码和地址码组成 4.指令在存储器中按执行顺序存放,由指令计数器(即程序计数器PC)指明要执行的指令所在的储存单元地址,一般按顺序递增,但可按运算结果或外界条件而改变 5.机器以运...

圣三一 10万+

【实用】Java调用微信中消息模板接口详解过程

/** 核心 * 消息模板工具类 */ @Component public class TemplateUtil { private static DictItemFacade itemFacade; @Autowired public void setItemFacade(DictItemFacade itemFacade) { Templa...

一见你就笑 599

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

java 模板接口开发_微信公众平台 发送模板消息(Java接口开发)

前言:最近一直再弄微信扫码推送图文消息和模板消息发送,感觉学习到了不少东西。今天先总结一下微信公众平台模板消息的发送。因为这个自己弄了很久,开始很多地方不明白,所以今天好好总结一下。微信公众平台技术文档:模板消息接口一、概述模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等。不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息。...

weixin_29326909的博客 671

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

java 模板消息接口_微信公众平台 发送模板消息(Java接口开发)

前言:最近一直再弄微信扫码推送图文消息和模板消息发送,感觉学习到了不少东西。今天先总结一下微信公众平台模板消息的发送。因为这个自己弄了很久,开始很多地方不明白,所以今天好好总结一下。微信公众平台技术文档:一、概述模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等。不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息。关于使用规则...

weixin_32848231的博客 1131

Java中使用微信公众号的模板消息接口进行消息推送-代码篇

文章目录获取code获取openid获取用户信息获取基础access_token发送模版消息写在最后 获取code         就一个get请求连接,只要在微信内请求,弄个href访问就行,我在controllers中实现如下; String appid ="微信appid "; String redirect_uri="回调地址"; String url="https://open.weixin.qq.com/connect/oa

挨T工作室的博客 5003

微信模板java代码怎么用_微信公众平台 发送模板消息(Java接口开发)

前言:最近一直再弄微信扫码推送图文消息和模板消息发送,感觉学习到了不少东西。今天先总结一下微信公众平台模板消息的发送。因为这个自己弄了很久,开始很多地方不明白,所以今天好好总结一下。微信公众平台技术文档:模板消息接口一、概述模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等。不支持广告等营销类消息以及其它所有可能对...

weixin_36403956的博客 498

公众号 接收规则 消息_微信公众平台 发送模板消息(Java接口开发)

前言:最近一直再弄微信扫码推送图文消息和模板消息发送,感觉学习到了不少东西。今天先总结一下微信公众平台模板消息的发送。因为这个自己弄了很久,开始很多地方不明白,所以今天好好总结一下。微信公众平台技术文档:模板消息接口一、概述模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等。不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息。...

weixin_39960019的博客 576

微信开发之发送消息接口

发送消息,是指用户公众号向用户发送相应形式的消息。根据微信开发文档,由以下四种形式:被动回复,群发接口,客服消息接口以及模板消息接口。本文将基于Java语言以及个人微信测试号,说明被动回复、客服消息接口以及模板消息接口的使用实现,群发接口并未涉及。 1. 被动回复 被动回复只能应用于在接收到用户的互动数据之后,才能向用户发送消息。这一部分较为简单,正式进行微信开发的第一步就是,在公众号中基本

随心而笑 3万+

微信小程序模板消息推送实现(java后台)(微信平台已下架该接口)

#(Notice:以下所有经验也是我根据网上的经验整理的,如有侵权可以联系我删除,QQ 654303408。 有问题讨论也可联系我,QQ同上。) #(Tips:我是第一次开发,一个刚毕业的java工程师,我觉得我并非天赋异禀,我能学会,相信聪敏的你,一定可以) (PS:首先,当我们需要使用模板消息的时候,肯定是基于一定的需求,可能是小程序,可能是公众号推广,所以也一定会涉及到微信的后台,当然该功能...

IT_EZRA的博客 3687

Java架构学习(五十二)使用框架开发微信&微信框架介绍&整合微信开发框架WxJava&使用微信返回消息模板接口&使用WxJava框架发送模板消息&http协议参数转义知识

一、微信框架介绍 1、access_token是公众号的全局唯一调用接口的凭证,它两个小时更新一次。 获取access_token方法: https请求方式: GET https://api.weixin.qq.com/cgi-bin/token? grant_type=client_credential&amp;amp;appid=APPID&amp;amp;secret=APPSECRET 本项目使用g...

Leeue李月 2485

java 发送 前端_微信公众平台 发送模板消息(Java接口开发)_哒哒_前端开发者

前言:最近一直再弄微信扫码推送图文消息和模板消息发送,感觉学习到了不少东西。今天先总结一下微信公众平台模板消息的发送。因为这个自己弄了很久,开始很多地方不明白,所以今天好好总结一下。微信公众平台技术文档:模板消息接口一、概述模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等。不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息。...

weixin_31176789的博客 619

微信公众号开发(Java) ---- 模板消息接口的使用

我们先看下官方文档给出的模板消息介绍: 下面直接写我的流程了: 第一步:公众号平台上设置好模板消息形式如下(我拿的是测试号演示): 第二步:提前写好访问模板消息的接口如下 /** * 发送模板消息 * * @param accessToken 接口访问凭证 * @param jsonMsg json格式的模板消息 * @retur

banjing_1993的博客 4795

Java-发送小程序模板消息

Java-发送小程序模板消息

weixin_43910581的博客 888

微信公众平台——模板消息接口

关于接口文档,请注意: 1、模板消息调用时主要需要模板ID和模板中各参数的赋值内容; 2、模板中参数内容必须以".DATA"结尾,否则视为保留字; 3、模板保留符号"{{ }}"。 1.service /** * 微信自动消息推送 * @author Administrator * */ @Service public class AutomaticMessagePushSer

wangjuan_01的专栏 1970

java获取微信模板消息列表_java实现微信模板消息发送

controller接口:/**** @param touser 接收用户openId* @param template_id 模板Id* @param url url 调用方需要编码* @param topcolor topcolor 调用方需要编码* @param data 模板参数,传过来的是json串 调用方需要编码* { "first": { "value":"恭喜你购买成功!", "...

weixin_30562025的博客 553
上一篇: java微信消息加解密
下一篇: 微信支付和分享到朋友圈-struts版本
青蛙小王子
博客等级 码龄16年 239粉丝 311原创
评论 34
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值