微信公众号自定义发送模板信息
2015-12-25 11:42
681 查看
1、首先
POST数据说明
POST数据示例如下:
参数说明
返回码说明在调用模板消息接口后,会返回JSON数据包。正常时的返回JSON数据包示例:
在调用模板消息接口后,会返回JSON数据包。正常时的返回JSON数据包示例:
获得模板ID
从行业模板库选择模板到账号后台,获得模板ID的过程可在MP中完成。为方便第三方开发者,提供通过接口调用的方式来修改账号所属行业,具体如下:接口调用请求说明http请求方式: POST https://api.weixin.qq.com/cgi-bin/template/api_add_template?access_token=ACCESS_TOKEN
POST数据说明
POST数据示例如下:
{ "template_id_short":"TM00015" }
参数说明
参数 | 是否必须 | 说明 |
---|---|---|
template_id_short | 是 | 模板库中模板的编号,有“TM**”和“OPENTMTM**”等形式 |
参数template_id_short是微信公众号里面有菜单模板消息-》模板库里的编号
返回码说明在调用模板消息接口后,会返回JSON数据包。正常时的返回JSON数据包示例:
{ "errcode":0, "errmsg":"ok", "template_id":"Doclyl5uP7Aciu-qZ7mJNPtWkbkYnWBWVja26EGbNyk" }
2、根据上面方法得到template_id
发送模板消息
接口调用请求说明http请求方式: POST https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN
我的demo例子是: 接口: /*jsonText是拼接格式发送内容 * String first="您好,欢迎在新礼特购物!"; String remark="您的收货信息:"+order.getReceiver_name()+"电话:"+order.getReceiver_mobile()+"地址:"+order.getReceiver_city()+order.getReceiver_zone()+order.getReceiver_address()+"我们将尽快发货,祝您购物愉快!"; String jsonText="{"touser":"OPENID","template_id":"templateId","url":"","topcolor":"#FF0000","data":{"first": {"value":"firstData","color":"#173177"},"product": {"value":"productData","color":"#173177"},"price": {"value":"priceData","color":"#173177"},"time": {"value":"timeData","color":"#173177"},"remark": {"value":"remarkData","color":"#173177"}}}"; jsonText= jsonText.replace("firstData", first).replace("templateId", templateId).replace("OPENID", order.getBuyer_openid()).replace("productData", order.getProduct_name()).replace("priceData",order.getOrder_total_price()/100f+"元").replace("timeData", order.getOrder_create_time()).replace("remarkData", remark); */ /** * 自定义发送模板信息 * @param accessToken 公众号标识 * @param data 发送的内容拼接成的 * @return * */ public boolean SendTempletTest(String accessToken,String data){ String requestUrl = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN"; if(StringUtil.isEmptyString(data)){ log.info("模版参数为空"); return false; } // 拼接请求地址 requestUrl = requestUrl.replace("ACCESS_TOKEN", accessToken); try { //将这里修改为自己调用服务的方式 JSONObject jsonObject = CommonUtil.httpsRequest(requestUrl, "POST",data); if(jsonObject!=null){ if("0".equals(jsonObject.getString("errcode"))){ System.out.println("发送模板消息成功!"); }else{ System.out.println(jsonObject.getString("errcode")); } } } catch (Exception e) { e.printStackTrace(); } return true; } test类调用: //ApiConfig类是自己工程里面微信公众号的配置文件。获取access_token ApiConfig api=ApiConfig.getInstance(); String token=api.getAccessToken(); //自定义模版发送 String first="您好,欢迎您进入XX!"; String templateId="上面方法获取到的模板Id号"; String tradeDateTime=DateUtil.formatDateAndTime(new Date()); String orderType="订单类型"; String customerInfo="客户信息"; String orderItemName="测试"; String orderItemData=DateUtil.formatDateAndTime(new Date()); String remark="测试微信"; String weixinId="o4SpQs8tP9c4Ka38WZkc3t1mnF0Q"; String jsonText="{\"touser\":\"OPENID\",\"template_id\":\"templateIdDate\",\"url\":\"\",\"topcolor\":\"#FF0000\",\"data\":{\"first\": {\"value\":\"firstData\",\"color\":\"#173177\"},\"tradeDateTime\": {\"value\":\"tradeDateTimeDate\",\"color\":\"#173177\"},\"orderType\": {\"value\":\"orderTypeDate\",\"color\":\"#173177\"},\"customerInfo\": {\"value\":\"customerInfoDate\",\"color\":\"#173177\"},\"orderItemName\": {\"value\":\"orderItemNameDate\",\"color\":\"#173177\"},\"orderItemData\": {\"value\":\"orderItemDataDate\",\"color\":\"#173177\"},\"remark\": {\"value\":\"remarkDate\",\"color\":\"#173177\"}}}"; jsonText= jsonText.replace("firstData", first).replace("templateIdDate", templateId).replace("OPENID", weixinId).replace("tradeDateTimeDate", tradeDateTime).replace("orderTypeDate",orderType).replace("customerInfoDate", customerInfo).replace("orderItemNameDate", orderItemName).replace("orderItemDataDate", orderItemData).replace("remarkDate", remark); //这是调用刚刚那接口 boolean re=util.SendTempletTest(token, jsonText); 返回码说明
在调用模板消息接口后,会返回JSON数据包。正常时的返回JSON数据包示例:
{ "errcode":0, "errmsg":"ok", "msgid":200228332 }
相关文章推荐
- 开源系列1---造个图片选择器
- 微信网页开发清缓存的方法
- 仿微信朋友圈图片按下效果
- 关于 <textarea ></textarea >标签在苹果微信浏览器出现 内阴影
- H5在微信公众号的下拉刷新实现
- Android 微信支付返回xml转换成map格式
- 微信公 众平台开发,用于个人技术交流,有兴趣的加QQ群432921500
- 微信编辑器——构思编辑器教你如何学好图文排版
- 仿UC天气下拉和微信下拉眼睛头部淡入淡出--第三方开源--PullLayout
- PHP用抛物线的模型实现微信红包生成算法的程序源码
- 高仿微信对话列表滑动删除效果
- C#-MVC开发微信应用(2)--微信消息的处理和应答
- 【php应用】微信支付小结
- 微信公众号开发系列-获取微信OpenID
- 微信公共平台php收不到信息解决方法
- 微信公众平台通用接口API指南
- iOS微信支付[WXApi sendReq:req]调用小技巧
- C#-MVC开发微信应用(1)--开始使用微信接口
- 微信编辑器—构思编辑器元旦圣诞排版素材
- 微信 ua