客户群运营的接口掰开就五个串成一条线建群 → 查人 → 拉人 → 管群 → 发消息。欢迎语和防骚扰规则是另一套配置接口之前单独写过这篇把群里人和消息的接口一次讲全。建群createGroup 拿到 roomIdresp requests.post( f{BASE}/wx-api/api/group/createGroup, headersHEADERS, json{ appid: APPID, name: 产品售后-张先生专属群, owner: owner_uin # 群主int64 的 uin } ) room_id resp.json()[data][roomId] # int64后面所有群操作都用它群名带上客户名和用途员工找群不用翻。roomId是 int64JSON number加引号必报错——这个坑在群模块的出现频率比通讯录还高因为 roomId 经常从 URL 或日志里复制出来天然带引号。自动化建群要节制之前没加限制系统一天自动建了十几个几乎一样的群员工找哪个群都得搜半天。加一道去重——群名 成员哈希在 24 小时内建过就复用不重复建。查人和拉人先看再动# 拉成员列表核对当前都有谁 requests.post(f{BASE}/wx-api/api/group/getGroupMemberList, headersHEADERS, json{appid: APPID, roomId: int(room_id)}) # 拉人进群 requests.post(f{BASE}/wx-api/api/group/addGroupMember, headersHEADERS, json{appid: APPID, roomId: int(room_id), userIds: [uin1, uin2]}) # int64 数组先查后拉是个好习惯拉人前核对一遍成员列表避免把已经退群的人重复拉——重复拉人会触发异常返回日志里全是噪音。管群公告和管理员群运营的日常管理走updateGroup改群公告、设置管理员。公告是群里触达率最高的位置——新成员进群第一眼看到的就是它把群的规则和使用说明写在公告里比发十条群消息都管用。管理员设置则决定了群主不在时谁能管事售后群、项目群都建议配至少一个管理员。发消息sendText 换个目标就是群发群消息和单聊走同一个message/sendText接口区别只在conversationId传的是roomIdimport time rooms [r[roomId] for r in get_my_rooms()] for room_id in rooms: requests.post(f{BASE}/wx-api/api/message/sendText, headersHEADERS, json{ appid: APPID, conversationId: int(room_id), # 群聊传 roomId必须 number content: f【产品更新】本周已上线 {feature}详见群公告 }) time.sleep(3) # 群与群之间留间隔群发的节奏比内容更重要三条纪律串行 间隔同一个 appid 的发送串行进队列群与群之间留几秒间隔并发直推容易触发限流返回 45009 或 -301002 就是在提醒你退避内容差异化所有群发一模一样的文案既容易被判定为营销骚扰客户体验也差按群打过的标签分组不同组不同内容节制频次客户群不是推送管道一天多条的群很快就没人说话了一条线串起来真实业务里这五个接口通常是这个组合客户咨询触发createGroup建专属群 →addGroupMember把客户、销售、技术支持拉进来 →updateGroup写好公告 → 过程中用sendText推进度 → 结案后归档。把这条线跑通客户群的建管发就闭环了。接口路径、参数和事件回调的字段说明在 Eyun 开发文档里查实例凭证在官网开通后即可调用。