微信服务号推送服务模板消息

业务需求

项目中存在金额待支付,需要实时提醒微信用户;小程序的服务推送是一次性的,且需要用户点击授权才能推送,授权一次可发送一条,不符合业务需求;在查看官方文档后发现服务号的模板推送是可以实现的,具体可查看 接口实现 以及 模板消息运营规范

认证的服务号

要使用模板功能,该服务号必须是认证的,且接收的对象必须关注此服务号,否则无法推送

服务号中添加模板

在添加模板之前,需要开通模板消息接口服务,可使用的接口以及限制可在最地下的接口权限查看。

获取access_token

发送模板,需要用到 access_token ,access_token 的获取需要用到 服务号的 appid 及开发者密码 secret,根据文档调用 GET 接口即可获取到;

也可以前往 服务号接口调试,填写对应信息获取测试token
在这里插入图片描述
在使用是可能会报错 ip 无效,将该ip添加到白名单中即可

调用后台代码,发送模板消息

    @Test
    public void httpTest2() {
        RestTemplate restTemplate = new RestTemplate();
        String ACCESS_TOKEN = "ACCESS_TOKEN ";
        String uri = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + ACCESS_TOKEN;
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
        HttpEntity<String> entity = new HttpEntity<>(headers);
        String strbody = restTemplate.postForObject(uri, getJsonParas(), String.class);
        log.info(strbody);

    }


    private JSONObject getJsonParas() {
        JSONObject jsonObject = new JSONObject();
        // openid
        jsonObject.put("touser", "ocC-bdsdsdsdsdsdsu1_dOA");  
        // 模板id 
        jsonObject.put("template_id", "zoL2ZADT0Apaaalq4khHFdLjRszwUemR0Iu8TFihC_k");
        // url
        jsonObject.put("url", "http://weixin.qq.com/download");

        JSONObject miniprogram = new JSONObject();
        miniprogram.put("appid","wx79740f85108e5502");
        miniprogram.put("pagepath","pages/homeTab/homeTab");
        jsonObject.put("miniprogram",miniprogram);

        JSONObject data = new JSONObject();
        JSONObject first = new JSONObject();
        first.put("value", "您有一笔待支付费用,请尽快支付!");
        JSONObject keyword1 = new JSONObject();
        keyword1.put("value", "AAA43434");
        keyword1.put("color", "#173177");
        JSONObject keyword2 = new JSONObject();
        keyword2.put("value", "66666 元");
        keyword2.put("color", "#173177");
        JSONObject keyword3 = new JSONObject();
        keyword3.put("value", "产品月付");
        keyword3.put("color", "#173177");
        JSONObject keyword4 = new JSONObject();
        keyword4.put("value", "请尽快支付!");
        JSONObject remark = new JSONObject();
        remark.put("value", "感谢您的使用!!!");

        data.put("first", first);
        data.put("keyword1", keyword1);
        data.put("keyword2", keyword2);
        data.put("keyword3", keyword3);
        data.put("keyword4", keyword4);
        data.put("remark", remark);

        jsonObject.put("data", data);

        return jsonObject;
    }

此时,我们就可以在微信上收到一条服务通知

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值