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

原创 2017年03月11日 12:44:18

欢迎留言、转发

微信极速开发系列文章:点击这里

最近有点小感冒,文章的更新进度延误了一些,希望此系列文章对你研究微信公众开发有帮助。前几篇文章介绍了微信支付。 公众号支付微信扫码支付刷卡支付微信买单

此文来聊聊微信中的业务通知—-微信模板消息

如何查看是否有权限

在交流群中,总是有人问个人订阅号认证的订阅号服务号认证的服务号 某个接口是否有权限使用。

其实这个问题很简单,在【微信公众平台】现在已经可以直接查看自己的公众号都能使用那些接口。

登录【微信公众平台】进入首页>开发>接口权限

模板消息-权限.png

添加模板消息插件

注意必须是认证的服务号

登录【微信公众平台】进入首页>添加插件功能>找到模板消息按照指引流程操作即可。

模板消息接口使用规则

官方文档 发送消息-模板消息接口 以及 模板消息运营规范

关于使用规则,请注意:
1、所有服务号都可以在功能->添加功能插件处看到申请模板消息功能的入口,但只有认证后的服务号才可以申请模板消息的使用权限并获得该权限;
2、需要选择公众账号服务所处的2个行业,每月可更改1次所选行业;
3、在所选择行业的模板库中选用已有的模板进行调用;
4、每个账号可以同时使用25个模板。
5、当前每个账号的模板消息的日调用上限为10万次,单个模板没有特殊限制。【2014年11月18日将接口调用频率从默认的日1万次提升为日10万次,可在MP登录后的开发者中心查看】。当账号粉丝数超过10W/100W/1000W时,模板消息的日调用上限会相应提升,以公众号MP后台开发者中心页面中标明的数字为准。

添加模板消息

按照上文添加模板消息插件之后【微信公众平台】首页左侧栏就会出现模板消息菜单,收取点击进去需要同意协议并设置公众账号服务所处的2个行业。

以上设置好了就可以通过关键词查模板库中已有的模板,如果没有找到可以自己申请。

模板消息-添加模板.png

找到合适的模板消息点击详情,进去查看模板详情,如果需要添加即可。添加完成会在我的模板中生成模板消息的 模板ID模板ID在后面会用到。

模板消息-模板详情.png

测试号添加模板消息

测试号添加模板消息.png

测试号添加模板消息.png

模板消息接口的使用

客观前面都是一些准备工作,端杯茶耐心往下看。先来点实际的看看开源项目中封装的接口是如何使用的。

com.javen.weixin.controller.WeixinMsgController.java

模板消息的使用.png

接收到的通知

模板消息的封装

官方参考文档 具体实现 com.jfinal.weixin.sdk.api.TemplateMsgApi.java

public class TemplateMsgApi {

    private static String sendApiUrl = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=";

    /**
     * 发送模板消息
     * @param jsonStr json字符串
     * @return {ApiResult}
     */
    public static ApiResult send(String jsonStr) {
        String jsonResult = HttpUtils.post(sendApiUrl + AccessTokenApi.getAccessToken().getAccessToken(), jsonStr);
        return new ApiResult(jsonResult);
    }
}

json数据的封装

com.jfinal.weixin.sdk.api.TemplateData.java

public class TemplateData {

    private String touser;
    private String template_id;
    private String url;
    private String topcolor;
    private TemplateItem data;

    public static TemplateData New() {
        return new TemplateData();
    }

    private TemplateData() {
        this.data = new TemplateItem();
    }

    public String getTouser() {
        return touser;
    }

    public TemplateData setTouser(String touser) {
        this.touser = touser;
        return this;
    }

    public String getTemplate_id() {
        return template_id;
    }

    public TemplateData setTemplate_id(String template_id) {
        this.template_id = template_id;
        return this;
    }

    public String getUrl() {
        return url;
    }

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

    public String getTopcolor() {
        return topcolor;
    }

    public TemplateData setTopcolor(String topcolor) {
        this.topcolor = topcolor;
        return this;
    }

    public TemplateItem getData() {
        return data;
    }

    public TemplateData add(String key, String value, String color){
        data.put(key, new Item(value, color));
        return this;
    }

    /**
     * 直接转化成jsonString
     * @return {String}
     */
    public String build() {
        return JsonUtils.toJson(this);
    }

    public class TemplateItem extends HashMap<String, Item> {

        private static final long serialVersionUID = -3728490424738325020L;

        public TemplateItem() {}

        public TemplateItem(String key, Item item) {
            this.put(key, item);
        }
    }

    public class Item {
        private Object value;
        private String color;

        public Object getValue() {
            return value;
        }
        public void setValue(Object value) {
            this.value = value;
        }
        public String getColor() {
            return color;
        }
        public void setColor(String color) {
            this.color = color;
        }

        public Item(Object value, String color) {
            this.value = value;
            this.color = color;
        }
    }
}

欢迎留言、转发
微信极速开发系列文章:http://www.jianshu.com/p/a172a1b69fdd

此文章项目开源地址:极速开发微信公众号-Start支持项目发展

版权声明:本文为博主原创文章,欢迎转载,转载标明出处(http://blog.csdn.net/zyw_java)。微信公众号:javenlife

微信模板消息推送接口说明

微信服务号可以给关注此号码的粉丝推送消息.消息分为三种: 1.群发消息:给所有关注此微信的人同时发送,但每个月的发送次数有限制。 2.向单个粉丝发送消息:此种功能发送次数没有限制,但是接受消息的粉...
  • weixin_36339869
  • weixin_36339869
  • 2016年12月07日 17:50
  • 13496

微信公众号如何无限制的定向推送消息--模板消息的应用

微信公众号如何无限制的定向推送消息–模板消息的应用最近开发的OA平台有一个需求:将待办消息推送到微信公众号的指定用户。但是为了避免用户受到垃圾消息的骚扰,微信对相关的接口做了非常严格的限制。 查阅开...
  • VikPan
  • VikPan
  • 2017年03月08日 18:29
  • 2232

微信小程序实例:创建下发模板消息实例

鉴于目前网络上都还找不到小程序下发模板消息的相关资源,在多次阅读了官方文档今天终于把小程序的模版消息给测通了,接下来介绍在不使用服务器的情况下,前端开发人员在本地怎么测试模板消息的发送。 1、在...
  • eadio
  • eadio
  • 2016年12月13日 15:45
  • 27040

微信模版消息开发

在项目中,用到了微信的模版消息。搜索了一下,发现了很多好玩的东西,这里跟大家分享一下。 一,微信公众平台简介  微信公众平台,可以分为三类。 (1)订阅号:主要偏重于为用户传达资讯,类似于 ...
  • u013034640
  • u013034640
  • 2016年09月30日 18:18
  • 876

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

1、什么是模板消息? 微信为防止服务号对用户进行恶意骚扰和营销,而服务号在某些场景又必须给用户发送消息时(如购物成功、支付成功),这时候就可以应用微信提供的模板消息来给用户进行提醒。...
  • rwb0123
  • rwb0123
  • 2015年12月29日 10:23
  • 5456

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

模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等。不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息。对于个人/服务号而言,模...
  • phil_jing
  • phil_jing
  • 2017年01月02日 16:59
  • 15115

微信公众号开发模板消息推送(一) 获取access_token java

首先介绍一下模板消息: https://mp.weixin.qq.com/wiki?id=mp1433751277&highline=%E6%A8%A1%E6%9D%BF 上面是微信官方给出的接口文...
  • qq_30009669
  • qq_30009669
  • 2017年02月15日 21:23
  • 4317

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

用Java做微信开发也有一段时间了,我发现Java拿来开发微信经常会被反对,也不知道是为什么总有一些人有类似“php开发微信应用才是最好的”这种偏执或偏见;个人觉得选何种语言要综合自身或团队的情况来选...
  • chenwill3
  • chenwill3
  • 2015年11月14日 20:56
  • 13131

微信公众号开发--模板消息

微信公众号开发,发送模版消息
  • frankcheng5143
  • frankcheng5143
  • 2017年03月08日 22:03
  • 3531

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

1、什么是模板消息? 微信为防止服务号对用户进行恶意骚扰和营销,而服务号在某些场景又必须给用户发送消息时(如购物成功、支付成功),这时候就可以应用微信提供的模板消息来给用户进行提醒。...
  • rwb0123
  • rwb0123
  • 2015年12月29日 10:23
  • 5456
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:微信公众号开发之模板消息
举报原因:
原因补充:

(最多只允许输入30个字)