所有操作前,先完成这3项准备,确保后续无卡顿:
这一步是核心,没有凭证API调不通,逐字逐句跟着做:
本地调试必须加,否则API拒绝请求:
分层打标需要读写用户标签:

打开电脑终端(Windows用cmd或PowerShell,Mac用Terminal),逐行输入以下命令并回车执行:
``` pip install requests ```这一步完成后可以直接分层、打标,代码全可复制:
先想好私域标签体系,比如按“消费金额”分高频、中频、低频,按“活跃度”分活跃、沉睡、流失,现在创建对应的Python字典,复制下面的内容存为config.py文件:
```python config.py 企业微信相关凭证 CORP_ID = "你的企业ID" SECRET = "你的应用Secret" AGENT_ID = "你的应用AgentId" 注意AgentId是数字类型?企业微信返回是字符串或数字都兼容,但严格按管理后台的类型填 自定义消费分层规则(可根据业务修改) CONSUME_RULES = { "高频用户": {"min": 1000, "max": float("inf")}, "中频用户": {"min": 200, "max": 999}, "低频用户": {"min": 0, "max": 199} } 自定义活跃度分层规则(按最后互动时间差天数) ACTIVITY_RULES = { "活跃用户": {"min": 0, "max": 7}, "沉睡用户": {"min": 8, "max": 30}, "流失用户": {"min": 31, "max": float("inf")} } 模拟用户数据(实际使用时可替换成从Excel/MySQL读取的真实数据) MOCK_USER_DATA = [ {"userid": "zhangsan", "external_userid": "wmAAAAAAA", "total_consume": 1200, "last_interact_days": 3}, {"userid": "lisi", "external_userid": "wmBBBBBBB", "total_consume": 500, "last_interact_days": 15}, {"userid": "wangwu", "external_userid": "wmCCCCCCC", "total_consume": 50, "last_interact_days": 40} ] ```再创建一个叫private_domain_automation.py文件,复制以下完整代码:
```python import requests import json from config import CORP_ID, SECRET, AGENT_ID, CONSUME_RULES, ACTIVITY_RULES, MOCK_USER_DATA 获取access_token def get_access_token(): url = f"https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={CORP_ID}&corpsecret={SECRET}" response = requests.get(url) data = response.json() if data["errcode"] == 0: return data["access_token"] else: print(f"获取token失败:{data['errmsg']}") return None 创建标签(避免重复创建) def create_tags(access_token): tags = [] for rule_name in list(CONSUME_RULES.keys()) + list(ACTIVITY_RULES.keys()): url = f"https://qyapi.weixin.qq.com/cgi-bin/externalcontact/add_corp_tag?access_token={access_token}" payload = {"group_name": "私域分层", "tag": [{"name": rule_name}]} response = requests.post(url, json=payload) data = response.json() if data["errcode"] == 0: tag_id = data["tag_group"]["tag"][0]["id"] tags.append({"name": rule_name, "id": tag_id}) elif data["errcode"] == 40071: 标签已存在,获取现有标签ID url = f"https://qyapi.weixin.qq.com/cgi-bin/externalcontact/get_corp_tag_list?access_token={access_token}" response = requests.post(url, json={"tag_names": [rule_name]}) data = response.json() if data["errcode"] == 0: tag_id = data["tag_group"][0]["tag"][0]["id"] tags.append({"name": rule_name, "id": tag_id}) else: print(f"创建/获取标签{rule_name}失败:{data['errmsg']}") return {tag["name"]: tag["id"] for tag in tags} 给用户打标签 def tag_users(access_token, tag_dict): for user in MOCK_USER_DATA: tags_to_add = [] 消费金额分层 for name, rule in CONSUME_RULES.items(): if rule["min"] <= user["total_consume"] <= rule["max"]: tags_to_add.append(tag_dict[name]) break 活跃度分层 for name, rule in ACTIVITY_RULES.items(): if rule["min"] <= user["last_interact_days"] <= rule["max"]: tags_to_add.append(tag_dict[name]) break 调用API打标 url = f"https://qyapi.weixin.qq.com/cgi-bin/externalcontact/mark_tag?access_token={access_token}" payload = { "userid": user["userid"], "external_userid": user["external_userid"], "add_tag": tags_to_add } response = requests.post(url, json=payload) data = response.json() if data["errcode"] == 0: print(f"给用户{user['userid']}打标成功") else: print(f"给用户{user['userid']}打标失败:{data['errmsg']}") if __name__ == "__main__": token = get_access_token() if token: tag_dict = create_tags(token) tag_users(token, tag_dict) ```可以用下面的代码批量获取,替换private_domain_automation.py的MOCK_USER_DATA获取逻辑:
```python 批量获取指定成员的external_userid def get_external_users(access_token, userid_list): all_users = [] for userid in userid_list: url = f"https://qyapi.weixin.qq.com/cgi-bin/externalcontact/list?access_token={access_token}&userid={userid}" response = requests.get(url) data = response.json() if data["errcode"] == 0: for external_user in data["external_contact"]: all_users.append({ "userid": userid, "external_userid": external_user["external_userid"], 其他字段可根据需要添加 }) else: print(f"获取成员{userid}的外部用户失败:{data['errmsg']}") return all_users ```Windows系统可以用「任务计划程序」,Mac/Linux可以用crontab,定时调用代码。
上一篇: 私域垂直私域:别把鱼塘挖成护城河
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图