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;// 模板idprivate 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手机,消息上面带颜色的颜色条看不出来,如果是土豪用的苹果手机则显示成下面这样


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/17472.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

重磅发布!微软推出首款 ChatGPT 版搜索引擎!

机器之心报道 机器之心编辑部 从现在起&#xff0c;比 ChatGPT 更强大的语言模型直接进入了你的浏览器。 一夜之间&#xff0c;全球最大的科技公司仿佛都回到了自己年轻时的样子。 在谷歌宣布「实验性对话式人工智能服务」Bard 之后仅 24 小时&#xff0c;北京时间 2 月 8 日凌…

Prompt 编写模式:如何将思维框架赋予机器,以设计模式的形式来思考 prompt

作者 | 黄峰达 责编 | 王子彧 出品 | Phodal&#xff08;ID&#xff1a;phodal&#xff09; 如何理解 Prompt &#xff1f; prompt 通常指的是一个输入的文本段落或短语&#xff0c;作为生成模型输出的起点或引导。prompt 可以是一个问题、一段文字描述、一段对话或任何形式…

GPT-4刚刚接入Office全家桶!微软:重新发明生产力!

点击下方卡片&#xff0c;关注“CVer”公众号 AI/CV重磅干货&#xff0c;第一时间送达 点击进入—>【计算机视觉】微信技术交流群 梦晨 丰色 发自 凹非寺转载自&#xff1a;量子位&#xff08;QbitAI&#xff09; 一觉醒来&#xff0c;工作的方式被彻底改变。 微软把AI神器G…

万字干货!ChatGPT 从零完全上手实操指南!【一】

ChatGPT 的横空出世&#xff0c;让很多人焦虑不已&#xff0c;不过&#xff0c;你完全不需要为此焦虑&#xff0c;因为比 AI 更强大永远是驾驭 AI 为自己所用的人类。 而且 GPT 远没有各大商家炒作的那么玄乎&#xff0c;它应用逻辑也非常简单&#xff0c;你完全没必要为此去花…

ChatGPT给总统写演讲稿,骗过现场2万听众

丰色 发自 凹非寺量子位 | 公众号 QbitAI ChatGPT的火&#xff0c;已经蔓延到总统级别的人物身上了—— 就在这两天&#xff0c;以色列总统使用ChatGPT生成的内容&#xff0c;在一场技术会议上公开发表了一段致辞。 现场一共约2万名听众&#xff0c;一开始都被“蒙在鼓里”&…

GPT-4 终问世!旧王已死,新王当立!面对AI,人类真的准备好了吗?

GPT-4 终问世&#xff01;旧王已死&#xff0c;新王当立&#xff01;面对AI&#xff0c;人类真的准备好了吗&#xff1f; 摊主一大早醒来&#xff0c;就看见 GPT-4 发布的消息&#xff0c;不得不感慨今年 AI 更新的速度真是太快了。&#x1f680; 摊主昨天还在修改、润色自己一…

linux:用户修改密码方法

今天终于拿到心心念念的服务器账号了&#xff0c;拿到密码的同时被告知需要改密码&#xff0c;输入passwd后&#xff0c;得到如下结果&#xff1a; passwd: Authentication token manipulation error 按照搜到的方法&#xff0c;做出如下解决&#xff1a; 一、首先lsattr /etc…

Ubuntu 修改用户密码方法详解

修改个人密码&#xff1a; 方法1: 在终端运行 usrnameusrname-laptoppasswd:~$passwd usrname 改变口令为 usrname。 &#xff08;当前&#xff09;UNIX 口令&#xff1a;<输入现在的密码> 输入新的 UNIX 口令&#xff1a; <输入新密码> 重新输入新的 UNIX 口…

postgresql修改密码

前言&#xff1a; PostgreSQL使用存储在数据库数据目录中的pg_hba.conf配置文件来控制客户端的连接认证参数。 -将该值设置为“trust”意味着您可以以postgres的身份登录&#xff0c;而无需输入密码。 -将值设置为“md5”的默认值意味着您应使用密码以postgres身份登录 步骤&…

如何在 Linux 中使用 Chage 命令,修改Linux系统用户密码更改策略

Chage是一个用于修改Linux系统用户密码更改策略的命令行工具。在本文中&#xff0c;我们将介绍如何在Linux系统中使用Chage命令。 检查用户密码过期信息 使用Chage命令可以检查用户密码更改策略和过期信息。要检查特定用户的密码过期信息&#xff0c;可以使用以下命令&#x…

PostgreSQL 修改用户密码

以postgres用户执行psql连接数据库&#xff1a; alter user postgres with encrypted password PGsql123; 以postgres用户执行psql连接数据库&#xff1a; \password 查看PG的版本信息&#xff1a; select version(); 查看PG的系统表&#xff1a; select * from pg_tables…

用户修改密码

用户-修改密码-持久层 1.1 规划需要执行的SQL语句 用户修改密码时需要执行的SQL语句大致是&#xff1a; update t_user set password ?,modified_user?,modified_time? where uid?在执行修改密码之前&#xff0c;还应检查用户数据是否存在、并检查用户数据是否被标记为…

PostgreSQL修改用户密码

初始化数据库之后默认的密码为空&#xff0c;此时可以直接登录数据库&#xff0c;但这样很不安全&#xff0c;需要设置密码。 命令行进入数据库 psql -d postgres -U xxx 执行命令修改密码 ALTER USER 用户名 WITH PASSWORD xxx; 退出 \q 修改配置文件 进入数据库目录&…

修改密码的操作

首先我们要写一个button标签&#xff0c;通过鼠标点击这个button标签来触发修改密码的模态框。 修改密码的模态框的具体代码如下图所示&#xff1a; 展示模态框在页面的效果&#xff1a; 接下来到了JavaScript部分的代码。 下面的代码是在你使用鼠标点击button标签时执行下面的…

修改linux系统postgres用户的密码

1. 修改linux系统postgres用户的密码 PostgreSQL会创建一个默认的linux用户postgres&#xff0c;修改该用户密码的方法如下&#xff1a; 步骤一&#xff1a;删除用户postgres的密码 sudo passwd -d postgre 步骤二&#xff1a;设置用户postgres的密码 sudo -u postgres pass…

chatgpt赋能python:Python重置密码:让您的账户更加安全

Python重置密码&#xff1a;让您的账户更加安全 简介 随着互联网的发展&#xff0c;我们越来越多地使用各种不同的网站和应用程序来存储个人数据和敏感信息。随之而来的风险是&#xff0c;如果黑客获得了您的密码&#xff0c;他们可以轻松地访问您的个人资料和敏感信息。因此…

chatgpt赋能python:Python修改密码:一种安全可靠、快速高效的方式

Python 修改密码&#xff1a;一种安全可靠、快速高效的方式 在数字化时代&#xff0c;越来越多的信息被存储在计算机系统中&#xff0c;因此密码的保护变得尤为重要。人们需要保证他们的密码是安全可靠的&#xff0c;并定期更换密码。Python作为一种强大而且通用的编程语言&am…

刚刚发现微信最新骗局,切勿点开链接!

刚刚笔者手机收到一条微信消息&#xff0c;打开一看&#xff0c;说我没有进行第二次实名认证&#xff0c;我也很纳闷&#xff0c;还有第二次认证的说法&#xff1f;看到头像和名字&#xff0c;完全可以以假乱真 就在我点开链接之后&#xff0c;也确实是实名认证界面&#xff0…

揭秘骗局微投app

发个防止被骗的博文真难。服了&#xff0c;请用心看我是不是在推广。。我服了 揭秘骗局&#xff1a;微信加你拉近群里做任务&#xff0c;日赚200&#xff0c;刚开始关注微信号返钱后续微投老师带做任务&#xff01; 我不知道有些人为什么会相信这玩意&#xff01;&#xff01;…

量化交易是不是骗局

量化只是一个工具,欺骗的是人性。厚道的人自然不会去做忽悠的事情,为了金钱厚颜无耻之人,欺骗存在与方方面面 股指IF解析 以下均为模拟数据 股指IF204合约行情解析 回顾股指IF今天的走势,整体来看是一个震荡上行的收缩三角形。开盘价就在今天的最低点5030点附近,下午最…