| @@ -34,6 +34,10 @@ public interface WxMpMassMessageService { | |||||
| * 群发消息预览接口 | * 群发消息预览接口 | ||||
| */ | */ | ||||
| String MESSAGE_MASS_PREVIEW_URL = "https://api.weixin.qq.com/cgi-bin/message/mass/preview"; | String MESSAGE_MASS_PREVIEW_URL = "https://api.weixin.qq.com/cgi-bin/message/mass/preview"; | ||||
| /** | |||||
| * 删除群发接口 | |||||
| */ | |||||
| String MESSAGE_MASS_DELETE_URL = "https://api.weixin.qq.com/cgi-bin/message/mass/delete"; | |||||
| /** | /** | ||||
| * <pre> | * <pre> | ||||
| @@ -92,4 +96,24 @@ public interface WxMpMassMessageService { | |||||
| */ | */ | ||||
| WxMpMassSendResult massMessagePreview(WxMpMassPreviewMessage wxMpMassPreviewMessage) throws Exception; | WxMpMassSendResult massMessagePreview(WxMpMassPreviewMessage wxMpMassPreviewMessage) throws Exception; | ||||
| /** | |||||
| * <pre> | |||||
| * 删除群发 | |||||
| * 群发之后,随时可以通过该接口删除群发。 | |||||
| * 请注意: | |||||
| * 1、只有已经发送成功的消息才能删除 | |||||
| * 2、删除消息是将消息的图文详情页失效,已经收到的用户,还是能在其本地看到消息卡片。 | |||||
| * 3、删除群发消息只能删除图文消息和视频消息,其他类型的消息一经发送,无法删除。 | |||||
| * 4、如果多次群发发送的是一个图文消息,那么删除其中一次群发,就会删除掉这个图文消息也,导致所有群发都失效 | |||||
| * 接口调用请求说明: | |||||
| * http请求方式: POST | |||||
| * https://api.weixin.qq.com/cgi-bin/message/mass/delete?access_token=ACCESS_TOKEN | |||||
| * 详情请见:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1481187827_i0l21 | |||||
| * </pre> | |||||
| * | |||||
| * @param msgId 发送出去的消息ID | |||||
| * @param articleIndex 要删除的文章在图文消息中的位置,第一篇编号为1,该字段不填或填0会删除全部文章 | |||||
| */ | |||||
| void delete(Integer msgId, Integer articleIndex) throws Exception; | |||||
| } | } | ||||
| @@ -1,5 +1,6 @@ | |||||
| package me.chanjar.weixin.mp.api.impl; | package me.chanjar.weixin.mp.api.impl; | ||||
| import com.google.gson.JsonObject; | |||||
| import me.chanjar.weixin.common.exception.WxErrorException; | import me.chanjar.weixin.common.exception.WxErrorException; | ||||
| import me.chanjar.weixin.mp.api.WxMpMassMessageService; | import me.chanjar.weixin.mp.api.WxMpMassMessageService; | ||||
| import me.chanjar.weixin.mp.api.WxMpService; | import me.chanjar.weixin.mp.api.WxMpService; | ||||
| @@ -55,4 +56,12 @@ public class WxMpMassMessageServiceImpl implements WxMpMassMessageService { | |||||
| return WxMpMassSendResult.fromJson(responseContent); | return WxMpMassSendResult.fromJson(responseContent); | ||||
| } | } | ||||
| @Override | |||||
| public void delete(Integer msgId, Integer articleIndex) throws Exception { | |||||
| JsonObject jsonObject = new JsonObject(); | |||||
| jsonObject.addProperty("msg_id", msgId); | |||||
| jsonObject.addProperty("article_idx", articleIndex); | |||||
| this.wxMpService.post(MESSAGE_MASS_DELETE_URL, jsonObject.toString()); | |||||
| } | |||||
| } | } | ||||
| @@ -181,4 +181,9 @@ public class WxMpMassMessageServiceImplTest { | |||||
| return messages; | return messages; | ||||
| } | } | ||||
| @Test | |||||
| public void testMassDelete() throws Exception { | |||||
| this.wxService.getMassMessageService().delete(1,2); | |||||
| } | |||||
| } | } | ||||