【企业通信】基于IPAD协议的企业微信群聊管理API:群操作功能接口设计与实现

本文档详细梳理了企业微信iPad协议的26类群操作接口 (含群设置下10个子接口),所有接口均采用POST请求方式 、ContentType为application/json,uuid 为各接口必传的实例唯一标识;接口涵盖群聊的查询、创建、成员管理、群设置、欢迎语管理、防骚扰及黑名单操作等全流程能力,请求地址均为http://172.0.0.1:8083/wxwork/后接接口名,部分接口存在分页查询、状态码标识权限(如flag270532609放开群邀请、270565505禁止)、企业验证限制(未验证企业外部群仅可邀200人)等关键规则,返回结果均以errcode和errmsg标识请求状态,0为成功。

  • 思维导图
  • 功能文档

https://wechatapi.apifox.cn/https://wechatapi.apifox.cn/

、详细总结

本文档为企业微信iPad协议接口的群操作功能 说明,共包含26个核心接口(其中群设置模块下分10个子接口),所有接口遵循统一的基础请求规则,按功能可分为6大类,各接口均有专属请求参数、返回格式及业务规则,以下为详细梳理:

(一)接口基础通用规则

所有群操作接口均满足以下通用要求,为核心基础配置:

  1. 请求方式 :统一为POST
  1. 请求头 :ContentType固定为application/json
  1. 必传参数uuid(String类型,每个实例的唯一标识,用于指定操作的企业微信实例);
  1. 请求地址 :根地址为http://47.94.7.218:9952/wxwork/,后拼接各接口专属名称;
  1. 返回结果 :统一包含errcode(错误码,0 表示请求成功)和errmsg(错误信息,成功为ok ),业务数据封装在data字段中。

(二)群查询类接口

共6个接口,用于获取群聊、群成员、群信息等各类数据,部分接口支持分页查询,关键标识字段用于区分群状态/权限,具体信息如下表:

|------------|--------------------|---------------|--------------------------------------|------------------------------------------------------------------------------------|
| 接口名称 | 接口地址后缀 | 核心功能 | 关键参数/规则 | 关键返回字段/标识 |
| 获取客户群列表 | GetChatroomMembers | 分页查询客户群列表 | limit(每次查询数量)、star_index(分页起始值,首次为0) | total(总数量)、next_start(下一页起始值)、room_id(群ID) |
| 获取群成员列表 | GetRoomUserList | 查询指定群的完整成员信息 | roomid(群ID,必传) | flag :270532609放开群邀请、270565505禁止;new_flag :3禁止改群名、2放开;is_out:1已退群、0未退群 |
| 获取会话列表中的群聊 | GetSessionRoomList | 分页查询会话列表中的群聊 | limit、star_index(分页参数) | room_list(群聊列表)、seq(序列值) |
| 获取群成员列表简洁版 | GetRoomDesUserList | 查询指定群的精简成员信息 | roomid(群ID,必传) | 仅返回成员核心标识(uin、jointime等),无详细资料 |
| 获取群详细和头像 | GetRoomInfo | 查询指定群的完整信息+头像 | roomid(群ID,必传) | image_url(群头像地址)、is_out(1退群/0未退群) |
| 获取群头像 | WxRoomHeader | 单独查询指定群的头像 | roomid(群ID,必传) | image_url(群头像地址) |

(三)群创建类接口

共2个接口,分内部/外部群聊创建,外部群存在企业验证人数限制,具体信息:

  1. 创建内部群聊(CreateRoomNei)
  • 核心参数:vids(成员ID数组)、roomName(群名);
  • 关键返回:roomid(新建群ID)、createTime(创建时间戳)。
  1. 创建外部群聊(CreateRoomWx)
  • 核心参数:vids(成员ID数组)、roomName(群名);
  • 关键限制:未验证企业仅可邀请200位外部联系人进群 ,验证后无此限制,超出返回错误码-24001048;
  • 关键返回:roomid(新建群ID,部分返回为字符串类型)。

)群成员操作类接口

共8个接口,覆盖成员进群、邀请、移除、加好友、退群等全流程操作,部分接口需传入邀请链接/二维码解析码,具体:

  1. 同意进群(AgreeAddRoom) :传入邀请进群的url,返回状态如InviteTicketExpired(邀请码过期);
  1. 二维码进群(AgreeCardAddRoom) :传入群二维码解析后的code(链接结尾部分),成功返回status:Success;
  1. 邀请进群 :分链接邀请(InvitationToRoomLink)和直接邀请(InvitationToRoom) ,均传入roomid和vids(被邀请人ID数组);
  1. 移除群成员(DelRoomUsers) :传入roomid和vids(被移除人ID数组);
  1. 添加群成员好友(AddRoomFriends) :传入roomid、vid(目标成员ID)、content(加好友备注);
  1. 退出群聊(OutRoomReq) :传入roomid,返回msg_id(消息ID)。

(五)群基础设置接口

共6个接口,用于群聊基础运营操作,涵盖公告、群名、昵称、群主、解散、二维码等,均需传入roomid指定群聊:

  1. 发送群公告(SendNotice) :额外传入msg(公告内容);
  1. 修改群名(UpdateRoomName) :额外传入roomname(新群名),返回修改后的群名和群ID;
  1. 设置群内昵称(SetMyRoomName) :额外传入content(群内新昵称);
  1. 转让群主(TransferChatroomOwner) :额外传入vid(新群主ID);
  1. 解散群(DissolutionRoom) :仅传入roomid即可执行解散;
  1. 获取群二维码(WxRoomInvite) :返回QrCodePath(二维码图片地址,服务器地址拼接)。

(六)欢迎语管理接口

共4个接口,实现群欢迎语的查询、添加、设置、取消,支持纯文字/文字+链接形式的欢迎语:

  1. 获取欢迎语列表(GetWelcomeMsgList) :分页参数offset(首次为空)、limit,返回WelocomeMsgList(欢迎语列表),含id(欢迎语ID)、type(类型,默认2 )、content(欢迎语内容,支持#客户昵称#变量);
  1. 添加欢迎语(AddWelcomeMsg) :传入list(文字片段数组)、url(链接,可选)、title/content/headImg(链接配套信息),支持纯文字/文字+链接形式,返回id(新添加欢迎语ID);
  1. 设置欢迎语(SetWelcomeMsg) :传入roomid、indexid(欢迎语ID)、type(默认2),为指定群绑定欢迎语;
  1. 取消欢迎语(DelWelcomeMsg) :传入roomid,取消指定群的欢迎语绑定。

(七)高级群设置接口

共10个子接口,为群聊精细化管理功能,涵盖群备注、权限控制、群管理、防骚扰、黑名单等,部分接口有专属状态码/操作类型,核心信息如下表:

|-------------|-----------------------|-----------------|------------------------------------------------|---------------------------------------------------------------------------------|
| 接口名称 | 接口地址后缀 | 核心功能 | 关键参数/规则 | 关键数字/标识 |
| 设置群备注 | RoomnameRemarkReq | 为指定群设置备注 | roomid、content(备注内容) | 无 |
| 禁止修改群名 | DisableRenameChatroom | 开关群名修改权限 | roomid、status(布尔值,控制开关) | 无 |
| 群邀请确认 | SetChatroomInvite | 开关群邀请确认权限 | roomid、status(布尔值,控制开关) | 无 |
| 移除群管理 | DelRoomAdmins | 移除群管理员 | roomid、vids(管理员ID数组) | 无 |
| 设置群管理 | AddRoomAdmins | 添加群管理员 | roomid、vids(管理员ID数组) | 无 |
| 获取群防骚扰规则列表 | queryCRMAntiSpamRule | 分页查询防骚扰规则 | lastIndexInfo(首次为空) | is_end(true表示查询完成)、id(防骚扰规则ID) |
| 设置/移除群防骚扰规则 | setRoomAnti | 为群绑定/移除防骚扰规则 | roomid、antiIds(规则ID数组,追加需带原有ID) | 规则ID从获取群成员接口的anti_spam_rules获取 |
| 获取群聊黑名单列表 | getRoomBlackList | 分页查询群黑名单 | pageBuf(首次为空)、limit、keyword | is_end(true表示查询完成)、blacklist_vid(黑名单ID) |
| 添加/移除群聊黑名单 | addOrSubRoomBlackList | 操作群黑名单 | oprType(1 添加/2 移除)、blacklist_vid(ID数组) | oprType为核心操作标识 |
| 禁改群名+禁群内添加 | setRoomManagement | 批量设置群名修改+群内添加权限 | roomid、newFlag(状态码,控制双权限) | 2097159 :禁改群名+放开添加;69206022 :放开改群名+禁添加;69206023 :双禁;2097158:双放开 |

四、关键问题

问题1:企业微信iPad协议群操作接口的通用请求规则有哪些核心点?

答案:所有群操作接口均为POST 请求,ContentType固定为application/json;uuid 是所有接口的必传参数,为企业微信实例的唯一标识;请求根地址为http://127.0.0.1:8083/wxwork/;返回结果以errcode=0标识成功,对应errmsg=ok,业务数据在data字段中。

问题2:创建企业微信外部群聊时有哪些关键限制,超出限制会有什么反馈?

答案:未验证的企业创建外部群聊时,仅可邀请200位外部联系人进群 ,完成企业验证后该限制解除;若超出200人限制,接口会返回错误码-24001048,错误信息为"未验证企业仅可邀请200位外部联系人进群,验证后可继续邀请"。

问题3:通过setRoomManagement接口批量设置群名修改和群内成员添加权限时,不同权限组合对应的newFlag状态码分别是什么?

答案:该接口通过newFlag整型状态码控制双权限,4种组合对应码值为:1.开启禁止修改群名+关闭禁止群内添加:2097159 ;2.开启禁止群内添加+关闭禁止修改群名:69206022 ;3.同时开启禁止修改群名和禁止群内添加:69206023 ;4.同时关闭禁止修改群名和禁止群内添加:2097158

相关推荐
Java水解2 小时前
阿里国际Java社招面经分享(附赠阿里Java面试题)
java·后端·面试
Nyarlathotep01132 小时前
CyclicBarrier基础和原理
java·后端
赫瑞2 小时前
Java中的图论3 —— Floyd
java·开发语言·图论
程序员小寒2 小时前
JavaScript设计模式(六):职责链模式实现与应用
java·javascript·设计模式
关于不上作者榜就原神启动那件事2 小时前
@Transactional事务失效总结
java·开发语言·jvm
jaysee-sjc2 小时前
【项目三】用GUI编程实现局域网群聊软件
java·开发语言·算法·安全·intellij-idea
无名-CODING2 小时前
Java 爬虫高级技术:反反爬策略与分布式爬虫实战
java·分布式·爬虫
jonyleek2 小时前
JVS物联网应用中控制器的四大职责和设备接入全流程
java·struts·servlet·私有化部署
csdn2015_2 小时前
java 将 List<Map<String,Object>> 类型里面的值转换为List<String>
java·windows·list