diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpTemplateMsgService.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpTemplateMsgService.java index a2a8a2cff9..9034866f5c 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpTemplateMsgService.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpTemplateMsgService.java @@ -66,6 +66,21 @@ public interface WxMpTemplateMsgService { */ String addTemplate(String shortTemplateId) throws WxErrorException; + /** + *
+ * 获得模板ID + * 从类目模板库选择模板到帐号后台,获得模板ID的过程可在MP中完成 + * 详情请见: http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1433751277&token=&lang=zh_CN + * 接口地址格式:https://api.weixin.qq.com/cgi-bin/template/api_add_template?access_token=ACCESS_TOKEN + *+ * + * @param shortTemplateId 模板库中模板的编号,有“TM**”和“OPENTMTM**”等形式,对于类目模板,为纯数字ID + * @param keywordNameList 选用的类目模板的关键词,按顺序传入,如果为空,或者关键词不在模板库中,会返回40246错误码 + * @return templateId 模板Id + * @throws WxErrorException . + */ + String addTemplate(String shortTemplateId, List
* 获取模板列表 diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpTemplateMsgServiceImpl.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpTemplateMsgServiceImpl.java index b5a94ef0a1..d72a2d5316 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpTemplateMsgServiceImpl.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpTemplateMsgServiceImpl.java @@ -1,5 +1,6 @@ package me.chanjar.weixin.mp.api.impl; +import com.google.gson.Gson; import com.google.gson.JsonObject; import lombok.RequiredArgsConstructor; import me.chanjar.weixin.common.api.WxConsts; @@ -68,6 +69,21 @@ public String addTemplate(String shortTemplateId) throws WxErrorException { throw new WxErrorException(WxError.fromJson(responseContent, WxType.MP)); } + @Override + public String addTemplate(String shortTemplateId, ListkeywordNameList) throws WxErrorException { + JsonObject jsonObject = new JsonObject(); + Gson gson = new Gson(); + jsonObject.addProperty("template_id_short", shortTemplateId); + jsonObject.addProperty("keyword_name_list",gson.toJson(keywordNameList)); + String responseContent = this.wxMpService.post(TEMPLATE_API_ADD_TEMPLATE, jsonObject.toString()); + final JsonObject result = GsonParser.parse(responseContent); + if (result.get(WxConsts.ERR_CODE).getAsInt() == 0) { + return result.get("template_id").getAsString(); + } + + throw new WxErrorException(WxError.fromJson(responseContent, WxType.MP)); + } + @Override public List getAllPrivateTemplate() throws WxErrorException { return WxMpTemplate.fromJson(this.wxMpService.get(TEMPLATE_GET_ALL_PRIVATE_TEMPLATE, null));