Class WeixinProxy


  • public class WeixinProxy
    extends Object
    微信公众平台接口实现
    Since:
    JDK 1.6
    Author:
    jinyu(foxinmy@gmail.com)
    See Also:
    api文档
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static String VERSION  
    • Constructor Summary

      Constructors 
      Constructor Description
      WeixinProxy()
      微信接口实现(使用weixin4j.properties配置的account账号信息, 使用FileCacheStorager文件方式缓存TOKEN)
      WeixinProxy​(com.foxinmy.weixin4j.cache.CacheStorager<com.foxinmy.weixin4j.model.Token> cacheStorager)
      微信接口实现(使用weixin4j.properties配置的account账号信息)
      WeixinProxy​(com.foxinmy.weixin4j.model.WeixinAccount weixinAccount, com.foxinmy.weixin4j.cache.CacheStorager<com.foxinmy.weixin4j.model.Token> cacheStorager)
      微信接口实现
      WeixinProxy​(com.foxinmy.weixin4j.token.PerTicketManager perTicketManager, com.foxinmy.weixin4j.token.TokenManager componentTokenManager)
      第三方组件方式创建微信接口实现(永久刷新令牌机制)
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      String addGiftCardPage​(com.foxinmy.weixin4j.model.card.GiftCardPage page)
      微信礼品卡货架创建接口,开发者可以通过该接口创建一个礼品卡货架并且用于公众号、门店的礼品卡售卖。
      String addGiftCardPayWhitelist​(String subMchId)
      申请礼品卡的微信支付权限
      com.foxinmy.weixin4j.http.weixin.ApiResult batchBlacklist​(boolean blacklist, String... openIds)
      黑名单操作
      List<ChangeOpenidResult> batchChangeOpenid​(String fromAppid, List<String> openIds)
      公众号迁移批量转换openid
      com.foxinmy.weixin4j.http.weixin.ApiResult bindGiftCardPaySubMch​(String wxaAppid, String subMchId)
      绑定商户号到礼品卡小程序
      List<ChangeOpenidResult> changeAllOpenid​(String fromAppid)
      公众号迁移转换所有openid
      com.foxinmy.weixin4j.http.weixin.ApiResult clearQuota()
      接口调用次数调用清零:公众号调用接口并不是无限制的。为了防止公众号的程序错误而引发微信服务器负载异常,默认情况下, 每个公众号调用接口都不能超过一定限制 ,当超过一定限制时,调用对应接口会收到{"errcode":45009,"errmsg":"api freq out of limit" }错误返回码。
      com.foxinmy.weixin4j.http.weixin.ApiResult closeKfSession​(String userOpenId, String kfAccount, String text)
      关闭客服会话
      com.foxinmy.weixin4j.http.weixin.ApiResult consumeGiftCard​(String code, String cardId)
      当礼品卡被使用完毕或者发生转存、绑定等操作后,开发者可以通过该接口核销用户的礼品卡,使礼品卡在列表中沉底并不再被使用。 注意:需在礼品卡核销前调用,否则会报40099 已核销的错误
      com.foxinmy.weixin4j.model.media.MediaCounter countMaterialMedia()
      获取永久媒体素材的总数
      .图片和图文消息素材(包括单图文和多图文)的总数上限为5000,其他素材的总数上限为1000
      String createCardCoupon​(com.foxinmy.weixin4j.model.card.CardCoupon cardCoupon)
      创建卡券:创建卡券接口是微信卡券的基础接口,用于创建一类新的卡券,获取card_id,创建成功并通过审核后, 商家可以通过文档提供的其他接口将卡券下发给用户,每次成功领取,库存数量相应扣除。 1.需自定义Code码的商家必须在创建卡券时候,设定use_custom_code为true,且在调用投放卡券接口时填入指定的Code码。 指定OpenID同理。特别注意:在公众平台创建的卡券均为非自定义Code类型。 2.can_share字段指领取卡券原生页面是否可分享,建议指定Code码、指定OpenID等强限制条件的卡券填写false。 3.创建成功后该卡券会自动提交审核 ,审核结果将通过事件通知商户。开发者可调用设置白名单接口设置用户白名单,领取未通过审核的卡券,测试整个卡券的使用流程。
      com.foxinmy.weixin4j.model.qr.QRResult createCardQR​(Integer expireSeconds, com.foxinmy.weixin4j.model.card.CardQR... cardQRs)
      创建卡券二维码: 开发者可调用该接口生成一张卡券二维码供用户扫码后添加卡券到卡包。
      String createCustomMenu​(List<com.foxinmy.weixin4j.model.Button> buttons, MenuMatchRule matchRule)
      创建个性化菜单
      Group createGroup​(String name)
      创建分组
      com.foxinmy.weixin4j.http.weixin.ApiResult createKfAccount​(String id, String name)
      新增客服账号
      com.foxinmy.weixin4j.http.weixin.ApiResult createKfSession​(String userOpenId, String kfAccount, String text)
      创建客服会话
      com.foxinmy.weixin4j.http.weixin.ApiResult createMenu​(List<com.foxinmy.weixin4j.model.Button> buttons)
      自定义菜单
      com.foxinmy.weixin4j.model.qr.QRResult createQR​(com.foxinmy.weixin4j.model.qr.QRParameter parameter)
      生成带参数的二维码
      Tag createTag​(String name)
      创建标签
      List<?> datacube​(DatacubeType datacubeType, int offset, Date endDate)
      数据统计
      List<?> datacube​(DatacubeType datacubeType, Date date)
      查询日期跨度为0的统计数据(当天)
      List<?> datacube​(DatacubeType datacubeType, Date beginDate, int offset)
      数据统计
      List<?> datacube​(DatacubeType datacubeType, Date beginDate, Date endDate)
      数据统计
      com.foxinmy.weixin4j.http.weixin.ApiResult deleteComment​(String msgid, int index, String commentId)
      删除评论
      com.foxinmy.weixin4j.http.weixin.ApiResult deleteCommentReply​(String msgid, int index, String commentId)
      删除回复
      com.foxinmy.weixin4j.http.weixin.ApiResult deleteCustomMenu​(String menuId)
      删除个性化菜单
      com.foxinmy.weixin4j.http.weixin.ApiResult deleteGroup​(int groupId)
      删除用户分组,所有该分组内的用户自动进入默认分组.
      com.foxinmy.weixin4j.http.weixin.ApiResult deleteKfAccount​(String id)
      删除客服账号
      com.foxinmy.weixin4j.http.weixin.ApiResult deleteMassNews​(String msgid)
      删除群发消息
      com.foxinmy.weixin4j.http.weixin.ApiResult deleteMassNews​(String msgid, int articleIndex)
      删除群发消息
      com.foxinmy.weixin4j.http.weixin.ApiResult deleteMaterialMedia​(String mediaId)
      删除永久媒体素材
      com.foxinmy.weixin4j.http.weixin.ApiResult deleteMenu()
      删除菜单
      com.foxinmy.weixin4j.http.weixin.ApiResult deleteTag​(int tagId)
      删除标签
      com.foxinmy.weixin4j.http.weixin.ApiResult deleteTemplate​(String templateId)
      删除模板
      List<com.foxinmy.weixin4j.tuple.MpArticle> downloadArticle​(String mediaId)
      下载永久图文素材
      com.foxinmy.weixin4j.model.media.MediaDownloadResult downloadMedia​(String mediaId, boolean isMaterial)
      下载媒体文件
      List<String> getAllBalcklistOpenIds()
      获取公众号全部的黑名单列表 请慎重使用
      List<User> getAllFollowing()
      获取公众号全部的关注者列表 请慎重使用
      List<String> getAllFollowingOpenIds()
      获取公众号全部的关注者列表 请慎重使用
      List<Menu> getAllMenu()
      查询全部菜单(包含个性化菜单)
      List<User> getAllTagFollowing​(int tagId)
      获取标签下全部的粉丝列表 请慎重使用
      List<String> getAllTagFollowingOpenIds​(int tagId)
      获取标签下全部的粉丝列表 请慎重使用
      List<TemplateMessageInfo> getAllTemplates()
      获取模板列表
      AutoReplySetting getAutoReplySetting()
      获取公众号当前使用的自动回复规则,包括关注后自动回复、消息自动回复(60分钟内触发一次)、关键词自动回复。
      Following getBalcklistOpenIds​(String nextOpenId)
      获取公众号的黑名单列表
      com.alibaba.fastjson.JSONObject getCardInfo​(String cardId)
      查询某个card_id的创建信息、审核状态以及库存数量。
      Following getFollowing​(String nextOpenId)
      获取公众号一定数量(10000)的关注者列表 请慎重使用
      Following getFollowingOpenIds​(String nextOpenId)
      获取公众号一定数量(10000)的关注者列表
      com.alibaba.fastjson.JSONObject getGiftCardInfo​(String code, String cardId)
      开发者可以通过该接口查询到code对应的信息,如余额、有效期、订单号等,主要用于防止在交易完成后丢单的情况下,用于核销/余额变动时兜底处理。
      com.alibaba.fastjson.JSONObject getGiftCardOrderInfo​(String orderId)
      查询某个订单号对应的订单详情
      com.alibaba.fastjson.JSONObject getGiftCardOrders​(long beginTime, long endTime, String sortType, int offset, int limit)
      批量查询礼品卡订单信息接口
      com.alibaba.fastjson.JSONObject getGiftCardPage​(String pageId)
      查询礼品卡货架信息接口
      String[] getGiftCardPageIdList()
      查询当前商户下所有的礼品卡货架id
      int getGroupByOpenId​(String openId)
      查询用户所在分组
      List<Group> getGroups()
      查询所有分组
      List<KfChatRecord> getKfChatRecord​(Date startTime, Date endTime, int number)
      客服聊天记录
      KfSession getKfSession​(String userOpenId)
      获取客户的会话状态:获取客户当前的会话状态。
      String getMassNewStatus​(String msgId)
      查询群发发送状态
      List<com.foxinmy.weixin4j.model.Button> getMenu()
      查询菜单
      MenuSetting getMenuSetting()
      获取公众号当前使用的自定义菜单的配置,如果公众号是通过API调用设置的菜单,则返回菜单的开发配置, 而如果公众号是在公众平台官网通过网站功能发布菜单,则本接口返回运营者设置的菜单配置。
      OauthApi getOauthApi()
      获取oauth授权API
      String getShorturl​(String url)
      长链接转短链接
      Following getTagFollowing​(int tagId, String nextOpenId)
      获取标签下粉丝列表 请慎重使用
      Following getTagFollowingOpenIds​(int tagId, String nextOpenId)
      获取标签下粉丝列表
      String getTemplateId​(String shortId)
      获取模板ID
      com.foxinmy.weixin4j.token.TokenManager getTicketManager​(com.foxinmy.weixin4j.type.TicketType ticketType)
      获取JSSDK Ticket的tokenManager
      com.foxinmy.weixin4j.token.TokenManager getTokenManager()
      token管理
      User getUser​(String openId)
      获取用户信息
      User getUser​(String openId, Lang lang)
      获取用户信息
      List<User> getUsers​(Lang lang, String... openIds)
      批量获取用户信息
      List<User> getUsers​(String... openIds)
      批量获取用户信息
      Integer[] getUserTags​(String openId)
      获取用户身上的标签列表
      List<String> getWechatServerIp()
      获取微信服务器IP地址
      com.foxinmy.weixin4j.model.WeixinAccount getWeixinAccount()
      获取微信账号信息
      com.foxinmy.weixin4j.http.weixin.ApiResult giftCardOrderRefund​(String orderId)
      对一笔礼品卡订单操作退款
      com.foxinmy.weixin4j.http.weixin.ApiResult inviteKfAccount​(String kfAccount, String inviteAccount)
      邀请绑定客服帐号 新添加的客服帐号是不能直接使用的,只有客服人员用微信号绑定了客服账号后,方可登录Web客服进行操作。此接口发起一个绑定邀请到客服人员微信号 ,客服人员需要在微信客户端上用该微信号确认后帐号才可用。尚未绑定微信号的帐号可以进行绑定邀请操作,邀请未失效时不能对该帐号进行再次绑定微信号邀请。
      List<ArticleComment> listAllArticleComments​(ArticleComment.ArticleCommentType commentType, String msgid, int index)
      获取评论列表
      List<com.foxinmy.weixin4j.model.media.MediaItem> listAllMaterialMedia​(com.foxinmy.weixin4j.type.MediaType mediaType)
      获取全部的媒体素材
      com.foxinmy.weixin4j.model.paging.Pagedata<ArticleComment> listArticleComments​(com.foxinmy.weixin4j.model.paging.Pageable page, ArticleComment.ArticleCommentType commentType, String msgid, int index)
      获取评论列表
      List<KfAccount> listKfAccount()
      获取公众号中所设置的客服基本信息,包括客服工号、客服昵称、客服登录账号
      List<KfSession> listKfSession​(String kfAccount)
      获取客服的会话列表:获取某个客服正在接待的会话列表。
      KfSession.KfSessionCounter listKfWaitSession()
      获取未接入会话列表:获取当前正在等待队列中的会话列表,此接口最多返回最早进入队列的100个未接入会话
      com.foxinmy.weixin4j.model.media.MediaRecord listMaterialMedia​(com.foxinmy.weixin4j.type.MediaType mediaType, com.foxinmy.weixin4j.model.paging.Pageable pageable)
      获取媒体素材记录列表
      List<KfOnlineAccount> listOnlineKfAccount()
      获取在线客服在线状态(手机在线、PC客户端在线、手机和PC客户端全都在线)、客服自动接入最大值、 客服当前接待客户数
      List<Tag> listTags()
      获取标签
      com.foxinmy.weixin4j.http.weixin.ApiResult maintainAllGiftCardPage()
      下架所有礼品卡货架
      com.foxinmy.weixin4j.http.weixin.ApiResult maintainGiftCardPage​(String pageId)
      下架一个礼品卡货架
      com.foxinmy.weixin4j.http.weixin.ApiResult markelectComment​(boolean markelect, String msgid, int index, String commentId)
      评论标记/取消精选
      String[] massArticleByGroupId​(List<com.foxinmy.weixin4j.tuple.MpArticle> articles, int groupId)
      分组ID群发图文消息
      String[] massArticleByOpenIds​(List<com.foxinmy.weixin4j.tuple.MpArticle> articles, boolean ignoreReprint, String... openIds)
      openid群发图文消息
      String[] massArticleByTagId​(List<com.foxinmy.weixin4j.tuple.MpArticle> articles, int tagId, boolean ignoreReprint)
      标签群发图文消息
      String[] massByGroupId​(com.foxinmy.weixin4j.tuple.MassTuple tuple, boolean isToAll, int groupId)
      群发消息
      String[] massByOpenIds​(com.foxinmy.weixin4j.tuple.MassTuple tuple, String... openIds)
      openId群发消息
      String[] massByTagId​(com.foxinmy.weixin4j.tuple.MassTuple tuple, int tagId)
      标签群发消息
      String[] massToAll​(com.foxinmy.weixin4j.tuple.MassTuple tuple)
      群发消息给所有粉丝
      List<com.foxinmy.weixin4j.model.Button> matchCustomMenu​(String userId)
      测试个性化菜单匹配结果
      com.foxinmy.weixin4j.http.weixin.ApiResult modifyGroup​(int groupId, String name)
      修改分组名
      com.foxinmy.weixin4j.http.weixin.ApiResult moveGroup​(int groupId, String openId)
      移动用户到分组
      com.foxinmy.weixin4j.http.weixin.ApiResult moveGroup​(int groupId, String... openIds)
      批量移动分组
      com.foxinmy.weixin4j.http.weixin.ApiResult openComment​(boolean open, String msgid, int index)
      打开/关闭已群发文章评论
      com.foxinmy.weixin4j.http.weixin.ApiResult previewMassNews​(String toUser, String toWxName, com.foxinmy.weixin4j.tuple.MassTuple tuple)
      预览群发消息
      开发者可通过该接口发送消息给指定用户,在手机端查看消息的样式和排版
      com.foxinmy.weixin4j.http.weixin.ApiResult remarkUserName​(String openId, String remark)
      设置用户备注名
      com.foxinmy.weixin4j.http.weixin.ApiResult replyComment​(String msgid, int index, String commentId, String content)
      回复评论
      SemResult semantic​(SemQuery semQuery)
      语义理解
      com.foxinmy.weixin4j.http.weixin.ApiResult sendNotify​(NotifyMessage notify)
      发送客服消息(在48小时内不限制发送次数)
      com.foxinmy.weixin4j.http.weixin.ApiResult sendNotify​(NotifyMessage notify, String kfAccount)
      发送客服消息(在48小时内不限制发送次数)
      String sendTmplMessage​(TemplateMessage tplMessage)
      发送模板消息
      com.foxinmy.weixin4j.http.weixin.ApiResult setCardPayCell​(String cardId, boolean isOpen)
      设置卡券买单:创建卡券之后,开发者可以通过设置微信买单接口设置该card_id支持微信买单功能。值得开发者注意的是, 设置买单的card_id必须已经配置了门店,否则会报错。
      com.foxinmy.weixin4j.http.weixin.ApiResult setCardSelfConsumeCell​(String cardId, boolean isOpen)
      设置自助核销:创建卡券之后,开发者可以通过设置微信买单接口设置该card_id支持自助核销功能。值得开发者注意的是, 设置自助核销的card_id必须已经配置了门店,否则会报错。
      com.foxinmy.weixin4j.http.weixin.ApiResult setGiftCardWxaCode​(String wxaAppid, String pageId)
      上传礼品卡小程序代码 (提供小程序APPID及货架ID,由微信平台为你小程序帐号上传一套现成的礼品卡小程序,直接用于礼品卡售卖)
      com.foxinmy.weixin4j.http.weixin.ApiResult setTmplIndustry​(IndustryType... industryTypes)
      设置所属行业(每月可修改行业1次,账号仅可使用所属行业中相关的模板)
      com.foxinmy.weixin4j.http.weixin.ApiResult taggingUsers​(int tagId, String... openIds)
      批量为用户打标签:标签功能目前支持公众号为用户打上最多三个标签
      com.foxinmy.weixin4j.http.weixin.ApiResult untaggingUsers​(int tagId, String... openIds)
      批量为用户取消标签
      com.foxinmy.weixin4j.http.weixin.ApiResult updateGiftCardPage​(com.foxinmy.weixin4j.model.card.GiftCardPage page)
      修改礼品卡货架信息接口
      com.alibaba.fastjson.JSONObject updateGiftCardUserBalance​(com.foxinmy.weixin4j.model.card.CardInfo cardInfo)
      更新用户礼品卡信息 当礼品卡被使用后,可以通过该接口变更某个礼品卡的余额信息。
      com.foxinmy.weixin4j.http.weixin.ApiResult updateKfAccount​(String id, String name)
      更新客服账号
      com.foxinmy.weixin4j.http.weixin.ApiResult updateMaterialArticle​(String mediaId, int index, com.foxinmy.weixin4j.tuple.MpArticle article)
      更新永久图文素材
      com.foxinmy.weixin4j.http.weixin.ApiResult updateTag​(Tag tag)
      更新标签
      String uploadImage​(InputStream is, String fileName)
      上传图文消息内的图片获取URL 请注意,本接口所上传的图片不占用公众号的素材库中图片数量的5000个的限制。图片仅支持jpg/png格式,大小必须在1MB以下。
      com.foxinmy.weixin4j.http.weixin.ApiResult uploadKfAvatar​(String accountId, InputStream is, String fileName)
      上传客服头像
      String uploadMassArticle​(List<com.foxinmy.weixin4j.tuple.MpArticle> articles)
      上传群发的图文消息,一个图文消息支持1到10条图文
      String uploadMaterialArticle​(List<com.foxinmy.weixin4j.tuple.MpArticle> articles)
      上传永久图文素材
      String uploadMaterialVideo​(InputStream is, String fileName, String title, String introduction)
      上传永久视频素材
      com.foxinmy.weixin4j.model.media.MediaUploadResult uploadMedia​(boolean isMaterial, InputStream is, String fileName)
      上传媒体文件
      此接口只包含图片、语音、缩略图、视频(临时)四种媒体类型的上传
      com.foxinmy.weixin4j.tuple.MpVideo uploadVideo​(InputStream is, String fileName, String title, String description)
      上传群发中的视频素材
    • Field Detail

      • VERSION

        public static final String VERSION
    • Constructor Detail

      • WeixinProxy

        public WeixinProxy()
        微信接口实现(使用weixin4j.properties配置的account账号信息, 使用FileCacheStorager文件方式缓存TOKEN)
      • WeixinProxy

        public WeixinProxy​(com.foxinmy.weixin4j.cache.CacheStorager<com.foxinmy.weixin4j.model.Token> cacheStorager)
        微信接口实现(使用weixin4j.properties配置的account账号信息)
        Parameters:
        cacheStorager - token管理
      • WeixinProxy

        public WeixinProxy​(com.foxinmy.weixin4j.model.WeixinAccount weixinAccount,
                           com.foxinmy.weixin4j.cache.CacheStorager<com.foxinmy.weixin4j.model.Token> cacheStorager)
        微信接口实现
        Parameters:
        weixinAccount - 账号信息
        cacheStorager - token管理
      • WeixinProxy

        public WeixinProxy​(com.foxinmy.weixin4j.token.PerTicketManager perTicketManager,
                           com.foxinmy.weixin4j.token.TokenManager componentTokenManager)
        第三方组件方式创建微信接口实现(永久刷新令牌机制)
        Parameters:
        perTicketManager - 第三方组件永久刷新token
        componentTokenManager - 第三方组件凭证token
        See Also:
        ComponentApi, ComponentApi.getPreCodeManager(), ComponentApi.getTokenManager()
    • Method Detail

      • getWeixinAccount

        public com.foxinmy.weixin4j.model.WeixinAccount getWeixinAccount()
        获取微信账号信息
        Returns:
      • getTokenManager

        public com.foxinmy.weixin4j.token.TokenManager getTokenManager()
        token管理
        Returns:
      • getOauthApi

        public OauthApi getOauthApi()
        获取oauth授权API
        Returns:
        See Also:
        OauthApi
      • getTicketManager

        public com.foxinmy.weixin4j.token.TokenManager getTicketManager​(com.foxinmy.weixin4j.type.TicketType ticketType)
        获取JSSDK Ticket的tokenManager
        Parameters:
        ticketType - 票据类型
        Returns:
      • uploadImage

        public String uploadImage​(InputStream is,
                                  String fileName)
                           throws com.foxinmy.weixin4j.exception.WeixinException
        上传图文消息内的图片获取URL 请注意,本接口所上传的图片不占用公众号的素材库中图片数量的5000个的限制。图片仅支持jpg/png格式,大小必须在1MB以下。
        Parameters:
        is - 图片数据流
        fileName - 文件名 为空时将自动生成
        Returns:
        图片URL 可用于后续群发中,放置到图文消息中
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        MediaApi
      • uploadVideo

        public com.foxinmy.weixin4j.tuple.MpVideo uploadVideo​(InputStream is,
                                                              String fileName,
                                                              String title,
                                                              String description)
                                                       throws com.foxinmy.weixin4j.exception.WeixinException
        上传群发中的视频素材
        Parameters:
        is - 图片数据流
        fileName - 文件名 为空时将自动生成
        title - 视频标题 非空
        description - 视频描述 可为空
        Returns:
        群发视频消息对象
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        MediaApi, 高级群发, MpVideo
      • uploadMedia

        public com.foxinmy.weixin4j.model.media.MediaUploadResult uploadMedia​(boolean isMaterial,
                                                                              InputStream is,
                                                                              String fileName)
                                                                       throws com.foxinmy.weixin4j.exception.WeixinException
        上传媒体文件
        此接口只包含图片、语音、缩略图、视频(临时)四种媒体类型的上传

        Parameters:
        isMaterial - 是否永久上传
        is - 媒体数据流
        fileName - 文件名 为空时将自动生成
        Returns:
        上传到微信服务器返回的媒体标识
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        上传临时素材, 上传永久素材, MediaUploadResult, MediaType, MediaApi
      • downloadMedia

        public com.foxinmy.weixin4j.model.media.MediaDownloadResult downloadMedia​(String mediaId,
                                                                                  boolean isMaterial)
                                                                           throws com.foxinmy.weixin4j.exception.WeixinException
        下载媒体文件
        Parameters:
        mediaId - 媒体ID
        isMaterial - 是否永久素材
        Returns:
        媒体文件下载结果
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        MediaApi, MediaDownloadResult, 下载临时媒体素材, 下载永久媒体素材
      • uploadMaterialArticle

        public String uploadMaterialArticle​(List<com.foxinmy.weixin4j.tuple.MpArticle> articles)
                                     throws com.foxinmy.weixin4j.exception.WeixinException
        上传永久图文素材

        、新增的永久素材也可以在公众平台官网素材管理模块中看到,永久素材的数量是有上限的,请谨慎新增。图文消息素材和图片素材的上限为5000, 其他类型为1000

        Parameters:
        articles - 图文列表
        Returns:
        上传到微信服务器返回的媒体标识
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        MediaApi, MpArticle, 上传永久媒体素材
      • downloadArticle

        public List<com.foxinmy.weixin4j.tuple.MpArticle> downloadArticle​(String mediaId)
                                                                   throws com.foxinmy.weixin4j.exception.WeixinException
        下载永久图文素材
        Parameters:
        mediaId - 媒体ID
        Returns:
        图文列表
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        MpArticle, MediaApi
      • updateMaterialArticle

        public com.foxinmy.weixin4j.http.weixin.ApiResult updateMaterialArticle​(String mediaId,
                                                                                int index,
                                                                                com.foxinmy.weixin4j.tuple.MpArticle article)
                                                                         throws com.foxinmy.weixin4j.exception.WeixinException
        更新永久图文素材
        Parameters:
        mediaId - 要修改的图文消息的id
        index - 要更新的文章在图文消息中的位置(多图文消息时,此字段才有意义),第一篇为0
        article - 图文对象
        Returns:
        处理结果
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        MediaApi, MpArticle, 更新永久图文素材
      • deleteMaterialMedia

        public com.foxinmy.weixin4j.http.weixin.ApiResult deleteMaterialMedia​(String mediaId)
                                                                       throws com.foxinmy.weixin4j.exception.WeixinException
        删除永久媒体素材
        Parameters:
        mediaId - 媒体素材的media_id
        Returns:
        处理结果
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        MediaApi, 删除永久媒体素材
      • uploadMaterialVideo

        public String uploadMaterialVideo​(InputStream is,
                                          String fileName,
                                          String title,
                                          String introduction)
                                   throws com.foxinmy.weixin4j.exception.WeixinException
        上传永久视频素材
        Parameters:
        is - 大小不超过1M且格式为MP4的视频文件
        fileName - 文件名 为空时将自动生成
        title - 视频标题
        introduction - 视频描述
        Returns:
        上传到微信服务器返回的媒体标识
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        上传永久媒体素材, MediaApi
      • countMaterialMedia

        public com.foxinmy.weixin4j.model.media.MediaCounter countMaterialMedia()
                                                                         throws com.foxinmy.weixin4j.exception.WeixinException
        获取永久媒体素材的总数
        .图片和图文消息素材(包括单图文和多图文)的总数上限为5000,其他素材的总数上限为1000
        Returns:
        总数对象
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        MediaCounter, 获取素材总数, MediaApi
      • listMaterialMedia

        public com.foxinmy.weixin4j.model.media.MediaRecord listMaterialMedia​(com.foxinmy.weixin4j.type.MediaType mediaType,
                                                                              com.foxinmy.weixin4j.model.paging.Pageable pageable)
                                                                       throws com.foxinmy.weixin4j.exception.WeixinException
        获取媒体素材记录列表
        Parameters:
        mediaType - 素材的类型,图片(image)、视频(video)、语音 (voice)、图文(news)
        pageable - 分页数据
        Returns:
        媒体素材的记录对象
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        MediaApi, MediaRecord, MediaType, MediaItem, Pageable, Pagedata, 获取素材列表
      • listAllMaterialMedia

        public List<com.foxinmy.weixin4j.model.media.MediaItem> listAllMaterialMedia​(com.foxinmy.weixin4j.type.MediaType mediaType)
                                                                              throws com.foxinmy.weixin4j.exception.WeixinException
        获取全部的媒体素材
        Parameters:
        mediaType - 媒体类型
        Returns:
        素材列表
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        MediaApi
      • sendNotify

        public com.foxinmy.weixin4j.http.weixin.ApiResult sendNotify​(NotifyMessage notify)
                                                              throws com.foxinmy.weixin4j.exception.WeixinException
        发送客服消息(在48小时内不限制发送次数)
        Parameters:
        notify - 客服消息对象
        Returns:
        处理结果
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
      • sendNotify

        public com.foxinmy.weixin4j.http.weixin.ApiResult sendNotify​(NotifyMessage notify,
                                                                     String kfAccount)
                                                              throws com.foxinmy.weixin4j.exception.WeixinException
        发送客服消息(在48小时内不限制发送次数)
        Parameters:
        notify - 客服消息对象
        kfAccount - 客服账号 可为空
        Returns:
        处理结果
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        发送客服消息, Text, Image, Voice, Video, Music, News, NotifyApi
      • listKfAccount

        public List<KfAccount> listKfAccount()
                                      throws com.foxinmy.weixin4j.exception.WeixinException
        获取公众号中所设置的客服基本信息,包括客服工号、客服昵称、客服登录账号
        Returns:
        多客服信息列表
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        KfAccount, CustomApi, 获取客服基本信息
      • listOnlineKfAccount

        public List<KfOnlineAccount> listOnlineKfAccount()
                                                  throws com.foxinmy.weixin4j.exception.WeixinException
        获取在线客服在线状态(手机在线、PC客户端在线、手机和PC客户端全都在线)、客服自动接入最大值、 客服当前接待客户数
        Returns:
        多客服在线信息列表
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        KfOnlineAccount, CustomApi, 获取客服在线信息
      • createKfAccount

        public com.foxinmy.weixin4j.http.weixin.ApiResult createKfAccount​(String id,
                                                                          String name)
                                                                   throws com.foxinmy.weixin4j.exception.WeixinException
        新增客服账号
        Parameters:
        id - 完整客服账号,格式为:账号前缀@公众号微信号,账号前缀最多10个字符,必须是英文或者数字字符。如果没有公众号微信号, 请前往微信公众平台设置。
        name - 客服昵称,最长6个汉字或12个英文字符
        Returns:
        处理结果
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        客服管理接口返回码, 新增客服账号
      • updateKfAccount

        public com.foxinmy.weixin4j.http.weixin.ApiResult updateKfAccount​(String id,
                                                                          String name)
                                                                   throws com.foxinmy.weixin4j.exception.WeixinException
        更新客服账号
        Parameters:
        id - 完整客服账号,格式为:账号前缀@公众号微信号,账号前缀最多10个字符,必须是英文或者数字字符。如果没有公众号微信号, 请前往微信公众平台设置。
        name - 客服昵称,最长6个汉字或12个英文字符
        Returns:
        处理结果
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        CustomApi, 更新客服账号
      • inviteKfAccount

        public com.foxinmy.weixin4j.http.weixin.ApiResult inviteKfAccount​(String kfAccount,
                                                                          String inviteAccount)
                                                                   throws com.foxinmy.weixin4j.exception.WeixinException
        邀请绑定客服帐号 新添加的客服帐号是不能直接使用的,只有客服人员用微信号绑定了客服账号后,方可登录Web客服进行操作。此接口发起一个绑定邀请到客服人员微信号 ,客服人员需要在微信客户端上用该微信号确认后帐号才可用。尚未绑定微信号的帐号可以进行绑定邀请操作,邀请未失效时不能对该帐号进行再次绑定微信号邀请。
        Parameters:
        kfAccount - 完整客服帐号,格式为:帐号前缀@公众号微信号
        inviteAccount - 接收绑定邀请的客服微信号
        Returns:
        处理结果
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        CustomApi, 邀请绑定客服帐号
      • uploadKfAvatar

        public com.foxinmy.weixin4j.http.weixin.ApiResult uploadKfAvatar​(String accountId,
                                                                         InputStream is,
                                                                         String fileName)
                                                                  throws com.foxinmy.weixin4j.exception.WeixinException
        上传客服头像
        Parameters:
        accountId - 完整客服账号,格式为:账号前缀@公众号微信号
        is - 头像图片文件必须是jpg格式,推荐使用640*640大小的图片以达到最佳效果
        fileName - 文件名 为空时将自动生成
        Returns:
        处理结果
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        CustomApi, 上传客服头像
      • deleteKfAccount

        public com.foxinmy.weixin4j.http.weixin.ApiResult deleteKfAccount​(String id)
                                                                   throws com.foxinmy.weixin4j.exception.WeixinException
        删除客服账号
        Parameters:
        id - 完整客服账号,格式为:账号前缀@公众号微信号
        Returns:
        处理结果
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        CustomApi, 删除客服账号
      • createKfSession

        public com.foxinmy.weixin4j.http.weixin.ApiResult createKfSession​(String userOpenId,
                                                                          String kfAccount,
                                                                          String text)
                                                                   throws com.foxinmy.weixin4j.exception.WeixinException
        创建客服会话

        开发者可以使用本接口,为多客服的客服工号创建会话,将某个客户直接指定给客服工号接待,需要注意此接口不会受客服自动接入数以及自动接入开关限制。 只能为在线的客服(PC客户端在线,或者已绑定多客服助手)创建会话。

        Parameters:
        userOpenId - 用户的userOpenId
        kfAccount - 完整客服账号,格式为:账号前缀@公众号微信号
        text - 附加信息,文本会展示在客服人员的多客服客户端
        Returns:
        处理结果
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        CustomApi, 创建会话
      • closeKfSession

        public com.foxinmy.weixin4j.http.weixin.ApiResult closeKfSession​(String userOpenId,
                                                                         String kfAccount,
                                                                         String text)
                                                                  throws com.foxinmy.weixin4j.exception.WeixinException
        关闭客服会话
        Parameters:
        userOpenId - 用户的userOpenId
        kfAccount - 完整客服账号,格式为:账号前缀@公众号微信号
        text - 附加信息,文本会展示在客服人员的多客服客户端
        Returns:
        处理结果
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        CustomApi, 关闭会话
      • getKfSession

        public KfSession getKfSession​(String userOpenId)
                               throws com.foxinmy.weixin4j.exception.WeixinException
        获取客户的会话状态:获取客户当前的会话状态。
        Parameters:
        userOpenId - 用户的openid
        Returns:
        会话对象
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        CustomApi, KfSession, 获取会话状态
      • listKfSession

        public List<KfSession> listKfSession​(String kfAccount)
                                      throws com.foxinmy.weixin4j.exception.WeixinException
        获取客服的会话列表:获取某个客服正在接待的会话列表。
        Parameters:
        kfAccount - 完整客服账号,格式为:账号前缀@公众号微信号,账号前缀最多10个字符,必须是英文或者数字字符。
        Returns:
        会话列表
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        CustomApi, KfSession, 获取客服的会话列表
      • uploadMassArticle

        public String uploadMassArticle​(List<com.foxinmy.weixin4j.tuple.MpArticle> articles)
                                 throws com.foxinmy.weixin4j.exception.WeixinException
        上传群发的图文消息,一个图文消息支持1到10条图文
        Parameters:
        articles - 图片消息
        Returns:
        媒体ID
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        上传图文素材, MpArticle, MassApi
      • massByGroupId

        public String[] massByGroupId​(com.foxinmy.weixin4j.tuple.MassTuple tuple,
                                      boolean isToAll,
                                      int groupId)
                               throws com.foxinmy.weixin4j.exception.WeixinException
        群发消息

        在返回成功时,意味着群发任务提交成功,并不意味着此时群发已经结束,所以,仍有可能在后续的发送过程中出现异常情况导致用户未收到消息, 如消息有时会进行审核、服务器不稳定等,此外,群发任务一般需要较长的时间才能全部发送完毕

        Parameters:
        tuple - 消息元件
        isToAll - 用于设定是否向全部用户发送,值为true或false,选择true该消息群发给所有用户, 选择false可根据group_id发送给指定群组的用户
        groupId - 分组ID
        Returns:
        第一个元素为消息发送任务的ID,第二个元素为消息的数据ID,该字段只有在群发图文消息时,才会出现,可以用于在图文分析数据接口中
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        Group, Text, Image, Voice, MpVideo, MpNews, MassApi, MassTuple, 根据分组群发
      • massArticleByGroupId

        public String[] massArticleByGroupId​(List<com.foxinmy.weixin4j.tuple.MpArticle> articles,
                                             int groupId)
                                      throws com.foxinmy.weixin4j.exception.WeixinException
        分组ID群发图文消息
        Parameters:
        articles - 图文列表
        groupId - 分组ID
        Returns:
        第一个元素为消息发送任务的ID,第二个元素为消息的数据ID,该字段只有在群发图文消息时,才会出现,可以用于在图文分析数据接口中
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        根据分组群发, MpArticle
      • massToAll

        public String[] massToAll​(com.foxinmy.weixin4j.tuple.MassTuple tuple)
                           throws com.foxinmy.weixin4j.exception.WeixinException
        群发消息给所有粉丝
        Parameters:
        tuple - 消息元件
        Returns:
        第一个元素为消息发送任务的ID,第二个元素为消息的数据ID,该字段只有在群发图文消息时,才会出现,可以用于在图文分析数据接口中
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        MassApi, 根据标签群发
      • massByTagId

        public String[] massByTagId​(com.foxinmy.weixin4j.tuple.MassTuple tuple,
                                    int tagId)
                             throws com.foxinmy.weixin4j.exception.WeixinException
        标签群发消息
        Parameters:
        tuple - 消息元件
        tagId - 标签ID
        Returns:
        第一个元素为消息发送任务的ID,第二个元素为消息的数据ID,该字段只有在群发图文消息时,才会出现,可以用于在图文分析数据接口中
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        Tag, MassApi, 根据标签群发
      • massArticleByTagId

        public String[] massArticleByTagId​(List<com.foxinmy.weixin4j.tuple.MpArticle> articles,
                                           int tagId,
                                           boolean ignoreReprint)
                                    throws com.foxinmy.weixin4j.exception.WeixinException
        标签群发图文消息
        Parameters:
        articles - 图文列表
        tagId - 标签ID
        ignoreReprint - 图文消息被判定为转载时,是否继续群发
        Returns:
        第一个元素为消息发送任务的ID,第二个元素为消息的数据ID,该字段只有在群发图文消息时,才会出现。
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        根据标签群发, MpArticle, MassApi
      • massByOpenIds

        public String[] massByOpenIds​(com.foxinmy.weixin4j.tuple.MassTuple tuple,
                                      String... openIds)
                               throws com.foxinmy.weixin4j.exception.WeixinException
        openId群发消息
        Parameters:
        tuple - 消息元件
        openIds - openId列表
        Returns:
        第一个元素为消息发送任务的ID,第二个元素为消息的数据ID,该字段只有在群发图文消息时,才会出现,可以用于在图文分析数据接口中
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        根据openid群发, MassApi
      • massArticleByOpenIds

        public String[] massArticleByOpenIds​(List<com.foxinmy.weixin4j.tuple.MpArticle> articles,
                                             boolean ignoreReprint,
                                             String... openIds)
                                      throws com.foxinmy.weixin4j.exception.WeixinException
        openid群发图文消息
        Parameters:
        articles - 图文列表
        ignoreReprint - 图文消息被判定为转载时,是否继续群发
        openIds - openId列表
        Returns:
        第一个元素为消息发送任务的ID,第二个元素为消息的数据ID,该字段只有在群发图文消息时,才会出现,可以用于在图文分析数据接口中.
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        根据openid群发, MpArticle, MassApi
      • deleteMassNews

        public com.foxinmy.weixin4j.http.weixin.ApiResult deleteMassNews​(String msgid)
                                                                  throws com.foxinmy.weixin4j.exception.WeixinException
        删除群发消息
        Parameters:
        msgid - 发送出去的消息ID
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        删除群发, deleteMassNews(String, int), MassApi
      • deleteMassNews

        public com.foxinmy.weixin4j.http.weixin.ApiResult deleteMassNews​(String msgid,
                                                                         int articleIndex)
                                                                  throws com.foxinmy.weixin4j.exception.WeixinException
        删除群发消息

        请注意,只有已经发送成功的消息才能删除删除消息只是将消息的图文详情页失效,已经收到的用户,还是能在其本地看到消息卡片

        Parameters:
        msgid - 发送出去的消息ID
        articleIndex - 要删除的文章在图文消息中的位置,第一篇编号为1,该字段不填或填0会删除全部文章
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        删除群发, MassApi
      • previewMassNews

        public com.foxinmy.weixin4j.http.weixin.ApiResult previewMassNews​(String toUser,
                                                                          String toWxName,
                                                                          com.foxinmy.weixin4j.tuple.MassTuple tuple)
                                                                   throws com.foxinmy.weixin4j.exception.WeixinException
        预览群发消息
        开发者可通过该接口发送消息给指定用户,在手机端查看消息的样式和排版
        Parameters:
        toUser - 接收用户的openID
        toWxName - 接收用户的微信号 towxname和touser同时赋值时,以towxname优先
        tuple - 消息元件
        Returns:
        处理结果
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        MassApi, MassTuple, 预览群发消息
      • getMassNewStatus

        public String getMassNewStatus​(String msgId)
                                throws com.foxinmy.weixin4j.exception.WeixinException
        查询群发发送状态
        Parameters:
        msgId - 消息ID
        Returns:
        消息发送状态
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        MassApi, 查询群发状态
      • getUser

        public User getUser​(String openId)
                     throws com.foxinmy.weixin4j.exception.WeixinException
        获取用户信息
        Parameters:
        openId - 用户对应的ID
        Returns:
        用户对象
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        获取用户信息, User, UserApi
      • getUser

        public User getUser​(String openId,
                            Lang lang)
                     throws com.foxinmy.weixin4j.exception.WeixinException
        获取用户信息

        在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的,对于不同公众号, 同一用户的openid不同),公众号可通过本接口来根据OpenID获取用户基本信息,包括昵称、头像、性别、所在城市、语言和关注时间

        Parameters:
        openId - 用户对应的ID
        lang - 国家地区语言版本
        Returns:
        用户对象
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        获取用户信息, Lang, User, UserApi
      • getUsers

        public List<User> getUsers​(String... openIds)
                            throws com.foxinmy.weixin4j.exception.WeixinException
        批量获取用户信息
        Parameters:
        openIds - 用户ID
        Returns:
        用户列表
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        获取用户信息, User, UserApi
      • getUsers

        public List<User> getUsers​(Lang lang,
                                   String... openIds)
                            throws com.foxinmy.weixin4j.exception.WeixinException
        批量获取用户信息
        Parameters:
        lang - 国家地区语言版本
        openIds - 用户ID
        Returns:
        用户列表
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        获取用户信息, Lang, User, UserApi
      • getFollowing

        public Following getFollowing​(String nextOpenId)
                               throws com.foxinmy.weixin4j.exception.WeixinException
        获取公众号一定数量(10000)的关注者列表 请慎重使用
        Parameters:
        nextOpenId - 下一次拉取数据的openid 不填写则默认从头开始拉取
        Returns:
        关注者信息 包含用户的详细信息
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        获取关注者列表, 批量获取用户信息, UserApi, Following, User
      • getFollowingOpenIds

        public Following getFollowingOpenIds​(String nextOpenId)
                                      throws com.foxinmy.weixin4j.exception.WeixinException
        获取公众号一定数量(10000)的关注者列表
        Parameters:
        nextOpenId - 下一次拉取数据的openid 不填写则默认从头开始拉取
        Returns:
        关注者信息 不包含用户的详细信息
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        获取关注者列表, UserApi, Following
      • getAllFollowing

        public List<User> getAllFollowing()
                                   throws com.foxinmy.weixin4j.exception.WeixinException
        获取公众号全部的关注者列表 请慎重使用

        当公众号关注者数量超过10000时,可通过填写next_openid的值,从而多次拉取列表的方式来满足需求, 将上一次调用得到的返回中的next_openid值,作为下一次调用中的next_openid值

        Returns:
        用户对象集合
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        获取关注者列表, 批量获取用户信息, UserApi, Following, User, getFollowing(String)
      • getAllFollowingOpenIds

        public List<String> getAllFollowingOpenIds()
                                            throws com.foxinmy.weixin4j.exception.WeixinException
        获取公众号全部的关注者列表 请慎重使用

        当公众号关注者数量超过10000时,可通过填写next_openid的值,从而多次拉取列表的方式来满足需求, 将上一次调用得到的返回中的next_openid值,作为下一次调用中的next_openid值

        Returns:
        用户openid集合
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        获取关注者列表, UserApi, getFollowingOpenIds(String)
      • remarkUserName

        public com.foxinmy.weixin4j.http.weixin.ApiResult remarkUserName​(String openId,
                                                                         String remark)
                                                                  throws com.foxinmy.weixin4j.exception.WeixinException
        设置用户备注名
        Parameters:
        openId - 用户ID
        remark - 备注名
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        设置用户备注名, UserApi
      • batchChangeOpenid

        public List<ChangeOpenidResult> batchChangeOpenid​(String fromAppid,
                                                          List<String> openIds)
                                                   throws com.foxinmy.weixin4j.exception.WeixinException
        公众号迁移批量转换openid
        Parameters:
        fromAppid - 原账号ID
        openIds - 原账号openid列表,最多不能超过100个
        Returns:
        转换后的openid
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        openid转换, ChangeOpenidResult, UserApi
      • changeAllOpenid

        public List<ChangeOpenidResult> changeAllOpenid​(String fromAppid)
                                                 throws com.foxinmy.weixin4j.exception.WeixinException
        公众号迁移转换所有openid
        Parameters:
        fromAppid - 新appid
        Returns:
        转换后的openid
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        openid转换, ChangeOpenidResult, UserApi
      • createGroup

        public Group createGroup​(String name)
                          throws com.foxinmy.weixin4j.exception.WeixinException
        创建分组
        Parameters:
        name - 组名称
        Returns:
        group对象
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        创建分组, Group, Group.toCreateJson(), GroupApi
      • getGroups

        public List<Group> getGroups()
                              throws com.foxinmy.weixin4j.exception.WeixinException
        查询所有分组
        Returns:
        组集合
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        查询所有分组, Group, GroupApi
      • getGroupByOpenId

        public int getGroupByOpenId​(String openId)
                             throws com.foxinmy.weixin4j.exception.WeixinException
        查询用户所在分组
        Parameters:
        openId - 用户对应的ID
        Returns:
        组ID
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        查询用户所在分组, Group, GroupApi
      • modifyGroup

        public com.foxinmy.weixin4j.http.weixin.ApiResult modifyGroup​(int groupId,
                                                                      String name)
                                                               throws com.foxinmy.weixin4j.exception.WeixinException
        修改分组名
        Parameters:
        groupId - 组ID
        name - 组名称
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        修改分组名, Group, GroupApi
      • moveGroup

        public com.foxinmy.weixin4j.http.weixin.ApiResult moveGroup​(int groupId,
                                                                    String openId)
                                                             throws com.foxinmy.weixin4j.exception.WeixinException
        移动用户到分组
        Parameters:
        groupId - 组ID
        openId - 用户对应的ID
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        移动分组, Group, GroupApi
      • moveGroup

        public com.foxinmy.weixin4j.http.weixin.ApiResult moveGroup​(int groupId,
                                                                    String... openIds)
                                                             throws com.foxinmy.weixin4j.exception.WeixinException
        批量移动分组
        Parameters:
        groupId - 组ID
        openIds - 用户ID列表(不能超过50个)
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        批量移动分组, Group, GroupApi
      • deleteGroup

        public com.foxinmy.weixin4j.http.weixin.ApiResult deleteGroup​(int groupId)
                                                               throws com.foxinmy.weixin4j.exception.WeixinException
        删除用户分组,所有该分组内的用户自动进入默认分组.
        Parameters:
        groupId - 组ID
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        删除用户分组, Group, GroupApi
      • createMenu

        public com.foxinmy.weixin4j.http.weixin.ApiResult createMenu​(List<com.foxinmy.weixin4j.model.Button> buttons)
                                                              throws com.foxinmy.weixin4j.exception.WeixinException
        自定义菜单
        Parameters:
        buttons - 菜单列表
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        创建自定义菜单, Button, ButtonType, MenuApi
      • getMenu

        public List<com.foxinmy.weixin4j.model.Button> getMenu()
                                                        throws com.foxinmy.weixin4j.exception.WeixinException
        查询菜单
        Returns:
        菜单集合
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        查询菜单, Button, MenuApi
      • getAllMenu

        public List<Menu> getAllMenu()
                              throws com.foxinmy.weixin4j.exception.WeixinException
        查询全部菜单(包含个性化菜单)
        Returns:
        菜单集合
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        普通菜单, 个性化菜单, Button, Menu, MenuApi
      • deleteMenu

        public com.foxinmy.weixin4j.http.weixin.ApiResult deleteMenu()
                                                              throws com.foxinmy.weixin4j.exception.WeixinException
        删除菜单
        Returns:
        处理结果
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        删除菜单, MenuApi
      • createCustomMenu

        public String createCustomMenu​(List<com.foxinmy.weixin4j.model.Button> buttons,
                                       MenuMatchRule matchRule)
                                throws com.foxinmy.weixin4j.exception.WeixinException
        创建个性化菜单
        Parameters:
        buttons - 菜单列表
        matchRule - 匹配规则 至少要有一个匹配信息是不为空
        Returns:
        菜单ID
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        创建个性化菜单, MenuApi, Button
      • deleteCustomMenu

        public com.foxinmy.weixin4j.http.weixin.ApiResult deleteCustomMenu​(String menuId)
                                                                    throws com.foxinmy.weixin4j.exception.WeixinException
        删除个性化菜单
        Returns:
        处理结果
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        删除个性化菜单, MenuApi
      • matchCustomMenu

        public List<com.foxinmy.weixin4j.model.Button> matchCustomMenu​(String userId)
                                                                throws com.foxinmy.weixin4j.exception.WeixinException
        测试个性化菜单匹配结果
        Parameters:
        userId - 可以是粉丝的OpenID,也可以是粉丝的微信号。
        Returns:
        匹配到的菜单配置
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        测试个性化菜单, Button, MenuApi
      • createQR

        public com.foxinmy.weixin4j.model.qr.QRResult createQR​(com.foxinmy.weixin4j.model.qr.QRParameter parameter)
                                                        throws com.foxinmy.weixin4j.exception.WeixinException
        生成带参数的二维码
        Parameters:
        parameter - 二维码参数
        Returns:
        二维码结果对象
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        QRResult, QRParameter, QrApi, 生成二维码
      • setTmplIndustry

        public com.foxinmy.weixin4j.http.weixin.ApiResult setTmplIndustry​(IndustryType... industryTypes)
                                                                   throws com.foxinmy.weixin4j.exception.WeixinException
        设置所属行业(每月可修改行业1次,账号仅可使用所属行业中相关的模板)
        Parameters:
        industryTypes - 所处行业 目前不超过两个
        Returns:
        操作结果
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        IndustryType, TmplApi, 设置所处行业
      • getTemplateId

        public String getTemplateId​(String shortId)
                             throws com.foxinmy.weixin4j.exception.WeixinException
        获取模板ID
        Parameters:
        shortId - 模板库中模板的编号,有“TM**”和“OPENTMTM**”等形式
        Returns:
        模板ID
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        获得模板ID, TmplApi
      • deleteTemplate

        public com.foxinmy.weixin4j.http.weixin.ApiResult deleteTemplate​(String templateId)
                                                                  throws com.foxinmy.weixin4j.exception.WeixinException
        删除模板
        Parameters:
        templateId - 公众帐号下模板消息ID
        Returns:
        处理结果
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        删除模板, TmplApi
      • sendTmplMessage

        public String sendTmplMessage​(TemplateMessage tplMessage)
                               throws com.foxinmy.weixin4j.exception.WeixinException
        发送模板消息
        Parameters:
        tplMessage - 模板消息主体
        Returns:
        发送的消息ID
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        模板消息, 运营规范, TemplateMessage, TmplApi
      • getShorturl

        public String getShorturl​(String url)
                           throws com.foxinmy.weixin4j.exception.WeixinException
        长链接转短链接
        Parameters:
        url - 待转换的链接
        Returns:
        短链接
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        长链接转短链接, HelperApi
      • semantic

        public SemResult semantic​(SemQuery semQuery)
                           throws com.foxinmy.weixin4j.exception.WeixinException
        语义理解
        Parameters:
        semQuery - 语义理解协议
        Returns:
        语义理解结果
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        SemQuery, SemResult, 语义理解, HelperApi
      • getWechatServerIp

        public List<String> getWechatServerIp()
                                       throws com.foxinmy.weixin4j.exception.WeixinException
        获取微信服务器IP地址
        Returns:
        IP地址
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        获取IP地址, HelperApi
      • clearQuota

        public com.foxinmy.weixin4j.http.weixin.ApiResult clearQuota()
                                                              throws com.foxinmy.weixin4j.exception.WeixinException
        接口调用次数调用清零:公众号调用接口并不是无限制的。为了防止公众号的程序错误而引发微信服务器负载异常,默认情况下, 每个公众号调用接口都不能超过一定限制 ,当超过一定限制时,调用对应接口会收到{"errcode":45009,"errmsg":"api freq out of limit" }错误返回码。
        Returns:
        操作结果
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        接口清零, HelperApi
      • getMenuSetting

        public MenuSetting getMenuSetting()
                                   throws com.foxinmy.weixin4j.exception.WeixinException
        获取公众号当前使用的自定义菜单的配置,如果公众号是通过API调用设置的菜单,则返回菜单的开发配置, 而如果公众号是在公众平台官网通过网站功能发布菜单,则本接口返回运营者设置的菜单配置。
        Returns:
        菜单集合
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        获取自定义菜单配置, Button, MpArticle, HelperApi
      • getAutoReplySetting

        public AutoReplySetting getAutoReplySetting()
                                             throws com.foxinmy.weixin4j.exception.WeixinException
        获取公众号当前使用的自动回复规则,包括关注后自动回复、消息自动回复(60分钟内触发一次)、关键词自动回复。
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        AutoReplySetting, HelperApi, 获取自动回复规则
      • datacube

        public List<?> datacube​(DatacubeType datacubeType,
                                Date beginDate,
                                int offset)
                         throws com.foxinmy.weixin4j.exception.WeixinException
        数据统计
        Parameters:
        datacubeType - 统计类型
        beginDate - 开始日期
        offset - 增量 表示向前几天 比如 offset=1 则查询 beginDate的后一天之间的数据
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        DataApi
      • datacube

        public List<?> datacube​(DatacubeType datacubeType,
                                int offset,
                                Date endDate)
                         throws com.foxinmy.weixin4j.exception.WeixinException
        数据统计
        Parameters:
        datacubeType - 统计类型
        offset - 增量 表示向后几天 比如 offset=1 则查询 beginDate的前一天之间的数据
        endDate - 截至日期
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        DataApi
      • datacube

        public List<?> datacube​(DatacubeType datacubeType,
                                Date date)
                         throws com.foxinmy.weixin4j.exception.WeixinException
        查询日期跨度为0的统计数据(当天)
        Parameters:
        datacubeType - 统计类型
        date - 统计日期
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        DataApi
      • createTag

        public Tag createTag​(String name)
                      throws com.foxinmy.weixin4j.exception.WeixinException
        创建标签
        Parameters:
        name - 标签名(30个字符以内)
        Returns:
        标签对象
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        TagApi, Tag, 创建标签
      • listTags

        public List<Tag> listTags()
                           throws com.foxinmy.weixin4j.exception.WeixinException
        获取标签
        Returns:
        标签列表
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        TagApi, Tag, 获取标签
      • updateTag

        public com.foxinmy.weixin4j.http.weixin.ApiResult updateTag​(Tag tag)
                                                             throws com.foxinmy.weixin4j.exception.WeixinException
        更新标签
        Parameters:
        tag - 标签对象
        Returns:
        操作结果
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        TagApi, Tag, 更新标签
      • deleteTag

        public com.foxinmy.weixin4j.http.weixin.ApiResult deleteTag​(int tagId)
                                                             throws com.foxinmy.weixin4j.exception.WeixinException
        删除标签
        Parameters:
        tagId - 标签id
        Returns:
        操作结果
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        TagApi, 删除标签
      • taggingUsers

        public com.foxinmy.weixin4j.http.weixin.ApiResult taggingUsers​(int tagId,
                                                                       String... openIds)
                                                                throws com.foxinmy.weixin4j.exception.WeixinException
        批量为用户打标签:标签功能目前支持公众号为用户打上最多三个标签
        Parameters:
        tagId - 标签ID
        openIds - 用户ID
        Returns:
        操作结果
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        TagApi, 批量为用户打标签
      • untaggingUsers

        public com.foxinmy.weixin4j.http.weixin.ApiResult untaggingUsers​(int tagId,
                                                                         String... openIds)
                                                                  throws com.foxinmy.weixin4j.exception.WeixinException
        批量为用户取消标签
        Parameters:
        tagId - 标签ID
        openIds - 用户ID
        Returns:
        操作结果
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        TagApi, 批量为用户取消标签
      • getTagFollowingOpenIds

        public Following getTagFollowingOpenIds​(int tagId,
                                                String nextOpenId)
                                         throws com.foxinmy.weixin4j.exception.WeixinException
        获取标签下粉丝列表
        Parameters:
        tagId - 标签ID
        nextOpenId - 第一个拉取的OPENID,不填默认从头开始拉取
        Returns:
        用户openid列表
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        TagApi, 获取标签下粉丝列表
      • getTagFollowing

        public Following getTagFollowing​(int tagId,
                                         String nextOpenId)
                                  throws com.foxinmy.weixin4j.exception.WeixinException
        获取标签下粉丝列表 请慎重使用
        Parameters:
        tagId - 标签ID
        nextOpenId - 第一个拉取的OPENID,不填默认从头开始拉取
        Returns:
        被打标签者信息 包含用户的详细信息
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        TagApi, 获取标签下粉丝列表
      • getAllTagFollowingOpenIds

        public List<String> getAllTagFollowingOpenIds​(int tagId)
                                               throws com.foxinmy.weixin4j.exception.WeixinException
        获取标签下全部的粉丝列表 请慎重使用
        Parameters:
        tagId - 标签ID
        Returns:
        用户openid列表
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        TagApi, getTagFollowingOpenIds(int,String), 获取标签下粉丝列表
      • getAllTagFollowing

        public List<User> getAllTagFollowing​(int tagId)
                                      throws com.foxinmy.weixin4j.exception.WeixinException
        获取标签下全部的粉丝列表 请慎重使用
        Parameters:
        tagId - 标签ID
        Returns:
        被打标签者信息 包含用户的详细信息
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        TagApi, getTagFollowing(int,String), 获取标签下粉丝列表
      • getUserTags

        public Integer[] getUserTags​(String openId)
                              throws com.foxinmy.weixin4j.exception.WeixinException
        获取用户身上的标签列表
        Parameters:
        openId - 用户ID
        Returns:
        标签ID集合
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        TagApi, 获取用户身上的标签列表
      • getBalcklistOpenIds

        public Following getBalcklistOpenIds​(String nextOpenId)
                                      throws com.foxinmy.weixin4j.exception.WeixinException
        获取公众号的黑名单列表
        Parameters:
        nextOpenId - 下一次拉取数据的openid 不填写则默认从头开始拉取
        Returns:
        拉黑用户列表 不包含用户的详细信息
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        获取黑名单列表, TagApi, Following
      • getAllBalcklistOpenIds

        public List<String> getAllBalcklistOpenIds()
                                            throws com.foxinmy.weixin4j.exception.WeixinException
        获取公众号全部的黑名单列表 请慎重使用

        当公众号关注者数量超过10000时,可通过填写next_openid的值,从而多次拉取列表的方式来满足需求, 将上一次调用得到的返回中的next_openid值,作为下一次调用中的next_openid值

        Returns:
        用户openid集合
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        TagApi, 获取黑名单列表, getFollowingOpenIds(String)
      • batchBlacklist

        public com.foxinmy.weixin4j.http.weixin.ApiResult batchBlacklist​(boolean blacklist,
                                                                         String... openIds)
                                                                  throws com.foxinmy.weixin4j.exception.WeixinException
        黑名单操作
        Parameters:
        blacklist - true=拉黑用户,false=取消拉黑用户
        openIds - 用户ID列表
        Returns:
        操作结果
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        TagApi, 黑名单操作
      • createCardCoupon

        public String createCardCoupon​(com.foxinmy.weixin4j.model.card.CardCoupon cardCoupon)
                                throws com.foxinmy.weixin4j.exception.WeixinException
        创建卡券:创建卡券接口是微信卡券的基础接口,用于创建一类新的卡券,获取card_id,创建成功并通过审核后, 商家可以通过文档提供的其他接口将卡券下发给用户,每次成功领取,库存数量相应扣除。
      • 1.需自定义Code码的商家必须在创建卡券时候,设定use_custom_code为true,且在调用投放卡券接口时填入指定的Code码。 指定OpenID同理。特别注意:在公众平台创建的卡券均为非自定义Code类型。
      • 2.can_share字段指领取卡券原生页面是否可分享,建议指定Code码、指定OpenID等强限制条件的卡券填写false。
      • 3.创建成功后该卡券会自动提交审核 ,审核结果将通过事件通知商户。开发者可调用设置白名单接口设置用户白名单,领取未通过审核的卡券,测试整个卡券的使用流程。
Parameters:
cardCoupon - 卡券对象
Returns:
卡券ID
Throws:
com.foxinmy.weixin4j.exception.WeixinException
See Also:
创建卡券, CardCoupons, MediaApi.uploadImage(java.io.InputStream, String), CardApi