小程序訂閱消息


 

 https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/subscribe-message.html

 

 

一個模板,一次授權只能發送一次消息,下次發送需要重新授權。

一次授權最多可以有三個模板,每個模板發送一條消息就能發送三條消息。如果有4-6條消息需要發送,則至少需要授權2次。

 

 

@Data
public class WxMssVo {

    @ApiModelProperty(value = "用戶openid")
    private String touser;

    @ApiModelProperty(value = "模版id")
    private String template_id;

    @ApiModelProperty(value = "跳轉小程序類型:developer為開發版;trial為體驗版;formal為正式版;默認為正式版")
    private String miniprogram_state = "developer";

    @ApiModelProperty(value = "進入小程序查看”的語言類型,支持zh_CN(簡體中文)、en_US(英文)、zh_HK(繁體中文)、zh_TW(繁體中文),默認為zh_CN")
    private String lang = "zh_CN";

    @ApiModelProperty(value = "推送文字")
    private Map<String, TemplateData> data;

}
@Data
public class TemplateData {

    @ApiModelProperty(value = "文字內容,例如keyword1:訂單類型,keyword2:下單金額,keyword3:配送地址,keyword4:取件地址,keyword5備注, 依次排下去")
    private String value;

}
        String openId = "oulnk5ESr34sHogYLke8m4oy6abc";
        String templateId = "fjodangdapgpggjpajgpauufUddjfldjagdajpd";
        //拼接推送的模版
        WxMssVo wxMssVo = new WxMssVo();
        //用戶openid
        wxMssVo.setTouser(openId);
        //模版id
        wxMssVo.setTemplate_id(templateId);
        //模板內容
        Map<String, TemplateData> data = new HashMap<>();
        //服務項目
        TemplateData name1 = new TemplateData();
        name1.setValue("XX通知");
        data.put("name1",name1);
        //時間
        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        TemplateData date3 = new TemplateData();
        date3.setValue(sf.format(new Date()));
        data.put("date3",date3);
        //服務說明
        TemplateData thing5 = new TemplateData();
        thing5.setValue("您已XX成功。");
        data.put("thing5",thing5);
        wxMssVo.setData(data);

        //獲取access_token
        String access_token = getAccess_token(weChatProperties.getAppId(), weChatProperties.getAppSecret());
        String url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send" +
                "?access_token=" + access_token;
        ResponseEntity<String> responseEntity =
                restTemplate.postForEntity(url, wxMssVo, String.class);
        if (HttpStatus.OK != responseEntity.getStatusCode()){
            log.error("小程序推送結果={}", responseEntity.getBody());
        }
        JSONObject result = JSON.parseObject(responseEntity.getBody());
        if(result.getInteger("errcode") != ResultCode.SUCCESS){
            log.error("小程序推送結果={}", responseEntity.getBody());
        }else{
            log.info("小程序推送結果={}", responseEntity.getBody());
        }

 

 可以在微信開放社區申請長期模板。

 

結束

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM