diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpExternalContactService.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpExternalContactService.java index 2e8ca3f15..15c9fbeb1 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpExternalContactService.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpExternalContactService.java @@ -690,6 +690,39 @@ public interface WxCpExternalContactService { */ WxCpMsgTemplateAddResult addMsgTemplate(WxCpMsgTemplate wxCpMsgTemplate) throws WxErrorException; + + /** + * 提醒成员群发 + * 企业和第三方应用可调用此接口,重新触发群发通知,提醒成员完成群发任务,24小时内每个群发最多触发三次提醒。 + *

+ * 请求方式: POST(HTTPS) + *

+ * 请求地址:https://qyapi.weixin.qq.com/cgi-bin/externalcontact/remind_groupmsg_send?access_token=ACCESS_TOKEN + *

+ * 文档地址 + * + * @param msgId 群发消息的id,通过获取群发记录列表接口返回 + * @return the wx cp msg template add result + */ + WxCpBaseResp remindGroupMsgSend(String msgId) throws WxErrorException; + + + /** + * 停止企业群发 + * 企业和第三方应用可调用此接口,停止无需成员继续发送的企业群发 + *

+ * 请求方式: POST(HTTPS) + *

+ * 请求地址:https://qyapi.weixin.qq.com/cgi-bin/externalcontact/cancel_groupmsg_send?access_token=ACCESS_TOKEN + *

+ * 文档地址 + * + * @param msgId 群发消息的id,通过获取群发记录列表接口返回 + * @return the wx cp msg template add result + */ + WxCpBaseResp cancelGroupMsgSend(String msgId) throws WxErrorException; + + /** * 发送新客户欢迎语 *

diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpExternalContactServiceImpl.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpExternalContactServiceImpl.java
index fbaf977a8..43f44421c 100644
--- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpExternalContactServiceImpl.java
+++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpExternalContactServiceImpl.java
@@ -418,6 +418,24 @@ public class WxCpExternalContactServiceImpl implements WxCpExternalContactServic
     return WxCpMsgTemplateAddResult.fromJson(this.mainService.post(url, wxCpMsgTemplate.toJson()));
   }
 
+  @Override
+  public WxCpBaseResp remindGroupMsgSend(String msgId) throws WxErrorException {
+    JsonObject params = new JsonObject();
+    params.addProperty("msgid", msgId);
+    final String url = this.mainService.getWxCpConfigStorage()
+                                       .getApiUrl(REMIND_GROUP_MSG_SEND);
+    return WxCpBaseResp.fromJson(this.mainService.post(url, params.toString()));
+  }
+
+  @Override
+  public WxCpBaseResp cancelGroupMsgSend(String msgId) throws WxErrorException {
+    JsonObject params = new JsonObject();
+    params.addProperty("msgid", msgId);
+    final String url = this.mainService.getWxCpConfigStorage()
+                                       .getApiUrl(CANCEL_GROUP_MSG_SEND);
+    return WxCpBaseResp.fromJson(this.mainService.post(url, params.toString()));
+  }
+
   @Override
   public void sendWelcomeMsg(WxCpWelcomeMsg msg) throws WxErrorException {
     final String url = this.mainService.getWxCpConfigStorage().getApiUrl(SEND_WELCOME_MSG);
diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/constant/WxCpApiPathConsts.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/constant/WxCpApiPathConsts.java
index 5409a4229..0f67a2051 100644
--- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/constant/WxCpApiPathConsts.java
+++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/constant/WxCpApiPathConsts.java
@@ -1148,6 +1148,14 @@ public interface WxCpApiPathConsts {
      * The constant ADD_MSG_TEMPLATE.
      */
     String ADD_MSG_TEMPLATE = "/cgi-bin/externalcontact/add_msg_template";
+    /**
+     * 提醒成员群发
+     */
+    String REMIND_GROUP_MSG_SEND = "/cgi-bin/externalcontact/remind_groupmsg_send";
+    /**
+     * 停止企业群发
+     */
+    String CANCEL_GROUP_MSG_SEND = "/cgi-bin/externalcontact/cancel_groupmsg_send";
     /**
      * The constant SEND_WELCOME_MSG.
      */
diff --git a/weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/impl/WxCpExternalContactServiceImplTest.java b/weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/impl/WxCpExternalContactServiceImplTest.java
index f435e728f..d7ed2a622 100644
--- a/weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/impl/WxCpExternalContactServiceImplTest.java
+++ b/weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/impl/WxCpExternalContactServiceImplTest.java
@@ -615,4 +615,26 @@ public class WxCpExternalContactServiceImplTest {
 
     this.wxCpService.getExternalContactService().getJoinWay(configId);
   }
+
+  /**
+   * 提醒成员群发
+   *
+   * @throws WxErrorException
+   */
+  @Test
+  public void testRemindGroupMsgSend() throws WxErrorException {
+    this.wxCpService.getExternalContactService()
+                    .remindGroupMsgSend("msgGCAAAXtWyujaWJHDDGi0mACAAAA");
+  }
+
+  /**
+   * 测试取消提醒成员群发
+   *
+   * @throws WxErrorException
+   */
+  @Test
+  public void testCancelGroupMsgSend() throws WxErrorException {
+    this.wxCpService.getExternalContactService()
+                    .cancelGroupMsgSend("msgGCAAAXtWyujaWJHDDGi0mACAAAA");
+  }
 }