微信公众号推送模板消息

微信支付成功之后需要将一些订单相关的信息发送到用户的微信上,这时候就需要使用微信【模板消息】

创建模板消息

进入【微信·公众平台】在【功能】->【添加功能插件】中找到【模板消息】,之后填入相关的信息并通过审核之后即可使用微信模板消息
这里写图片描述
先从【模板库】选择一个合适模板,之后添加到【我的模板】中
这里写图片描述
可以看到模板ID,接下来我们就需要使用这个ID去给指定的用户推送模板消息了

为指定的用户推送模板消息

执行此操作之前需要用户的openid和要用到的模板需要什么参数,这点可以通过模板的【详情】进行查看,我这里的模板需要三个参数first、orderMoneySum、orderProductName
这里写图片描述
接下来就需要进行推送信息了,首先我们需要获取用户的openid、模板ID、模板参数数据,将它们以JSON的格式放在String中,之后以POST的方式将这个String提交到https://api.weixin.qq.com/cgi-bin/message/template/send中,代码实现如下

//对该购买用户进行推送微信消息
//要推送的用户openId
String openId = tenant.getOpenId();
//订单支付成功推送信息模板ID
String templateId = "这是你的模板ID";
//点击之后的跳转页面,为空安卓不跳转、IOS空白页面
String url = "";
//首行信息-以下是一些推送信息
String first = "公寓房间【"+addr.getName()+room.getName()+"】订房成功";
//支付金额
String orderMoneySum = ""+indent.getMoney();
//商品信息
String startTime = (rent.getStartTime()+"");
startTime = startTime.substring(0, startTime.length()-2);
String endTime = rent.getEndTime() + "";
endTime = endTime.substring(0, endTime.length()-2);
//在推送信息中如果需要换行可以使用\\n(双斜杠n)来实现
String orderProductName = addr.getName()+room.getName()+"\\n大门密码:" + doorLock.getLockPwd() + "#\\n" + 
    "房门密码:" + roomLock.getLockPwd() + "#\\n" + 
    "密码有效期:" + startTime + "至" + endTime + "\\n" + 
    "还可以在这里写一些其他东西";

//将相关信息
String wxText = "{\"touser\":\""+openId+"\",\"template_id\":\""+templateId+"\",\"url\":\""+url+"\",\"data\":{\"first\":{\"value\":\""+first+"\",\"color\":\"#000000\"},\"orderMoneySum\":{\"value\":\""+orderMoneySum+"\",\"color\":\"#000000\"},\"orderProductName\":{\"value\":\""+orderProductName+"\",\"color\":\"#000000\"}}}";
//获取微信access_token
String accessToken = WxUtils.getAccess_token();
//发送post请求
String resultWx = AppTool.postJSON("https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+accessToken, wxText);

   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

实现效果
这里写图片描述

### 关于微信公众号推送消息API的使用 #### 获取Access Token 为了能够调用微信公众号消息推送接口,开发者首先需要获得`access_token`。这是微信公众平台提供的一种凭证机制,用于验证请求的身份合法性。获取此令牌的过程涉及向特定URL发起GET请求,并附带应用ID(AppID)和应用密钥(AppSecret),这些参数可以在公众平台设置页面找到[^1]。 ```java // Java示例代码片段:获取 access_token 的 HTTP 请求构建 String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APP_ID&secret=APP_SECRET"; HttpURLConnection conn = (HttpURLConnection)new URL(url).openConnection(); conn.setRequestMethod("GET"); ``` #### 创建并发送模板消息 一旦成功取得有效的`access_token`之后,就可以准备创建想要推送给用户的模板消息了。这一步骤通常包括定义消息的内容结构、指定接收者的OpenID以及其他必要的字段如模板ID等。需要注意的是,每种类型的模板都有其固定的格式要求,因此建议参照官方提供的样例来填充相应部分的数据[^3]。 ```json { "touser":"OPENID", "template_id":"TEMPLATE_ID", "url":"http://weixin.qq.com/download", // 可选链接地址 "miniprogram":{ "appid":"MINI_PROGRAM_APPID", // 小程序 AppId "pagepath":"/pages/index/index" // 页面路径 }, "data": { ... } } ``` #### 发送POST请求至服务器端口 最后一步则是将上述构造好的JSON对象作为body内容,连同之前得到的`access_token`一起提交给微信服务器。这里采用HTTP POST方式发送请求,目标网址形似如下所示: `https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=TOKEN_VALUE` 确保所使用的IP已被加入到微信公众账号的安全中心->服务器配置下的合法域名列表内;对于测试环境中同样适用这一规则[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值