企业微信机器人怎么做客户群自动化?接口串起建群、拉人、公告、防骚扰
社群运营里最耗人的是重复动作:建群、拉人、发公告、开防骚扰开关。这些在企微的 room 模块里都有对应接口,这篇按一次典型的运营流程把它们串起来,并标注哪些操作有身份要求。
背景痛点
接手几十个客户群之后,人工操作的第一个问题不是慢,是容易漏:新群忘了开禁止互加好友,公告改了三遍还是旧版。而想用接口替代人工,第一步就卡在"群 ID 从哪来"。
原理
群操作的前置条件只有一个:roomId。除建群外,几乎所有群接口都要传它。roomId 从两个地方来:调获取我的客户群列表接口,从 data.roomData.list[].roomId 分页拉取;或者从 Webhook 推送里直接取。建群接口是例外,只传 appid,返回新群的 roomId 和邀请链接。
核心实现
按"建群、拉人、发公告"的顺序串一遍(示例代码,需按官方文档校验,参数名以接口页为准):
import requests
def api(path, payload):
# 示例代码,需按官方文档校验
r = requests.post(f"{BASE_URL}/wx-api/api/{path}",
headers={"Authorization": f"Bearer {CREDENTIAL}"},
json=payload, timeout=10)
return r.json()
created = api("room/create", {"appid": APPID})
room_id = created["data"]["roomId"] # 新群 roomId,int64
api("room/addMember", {"appid": APPID, "roomId": room_id, ...}) # 成员字段见接口页
api("room/setNotice", {"appid": APPID, "roomId": room_id, ...}) # 公告字段见接口页
防骚扰开关是另一组接口:禁止群成员互加好友(forbidMutualAdd)、开启入群确认(inviteConfirm)、禁止成员改群名(forbidRename)。这类写操作成功时大多没有 data,判断成功只看 code 是否为 0。
踩坑
一、身份不对,接口白调。设置管理员、转让群主、解散群、开入群确认这些操作要求当前账号是群主,普通成员调用只会拿到失败码。
二、列表里的 19 位 id 不是 roomId,它是客户群记录 ID,长得比 roomId 更像"群 ID"。拿错了,后面所有操作全部失败。
三、接口发出的普通消息不会推送,但群资料和成员变化会推系统消息:2118 表示群信息变化,一次操作可能连推多条,按 roomId 刷新即可;1006 表示建群或成员变化,hex 解码后是分号分隔的成员 uin,解析规则见Eyun 回调字典。
四、群二维码接口返回的是 base64 编码的 PNG 图片,展示时补上 data:image/png;base64, 前缀;错误码 -18000059 表示二维码已停用。
总结
四个接口覆盖了群运营的高频动作,剩下的是把它挂到业务事件上:客户成交后自动建群拉人,公告随活动排期更新。这篇示例基于 Eyun 平台的企微接口整理,接口清单和身份要求在开发文档里有一张总表;建议先用小群把参数验证清楚,再上批量流程。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)