本文将带你使用Python语言,基于企业微信官方API,从零构建一套私域流量自动曝光系统。这套系统不依赖任何第三方付费软件,直接利用企业微信的“应用消息”和“群机器人”接口,实现向指定员工或客户群自动推送图文、卡片等富媒体消息,极大提升私域运营触达效率。
在编写代码前,必须先在企业微信管理后台获取三个核心参数:CorpId、AgentId、Secret,并配置服务器IP白名单。
登录企业微信管理后台(https://work.weixin.qq.com),点击顶部导航栏的“我的企业”,在页面最下方“企业信息”栏中,即可看到企业ID。将其复制并保存到记事本。
在管理后台点击“应用管理” -> “应用” -> “自建”。点击右上角“创建应用”,输入应用名称(如“私域曝光助手”),选择可见范围(建议选择需要接收消息的部门或全员)。
创建成功后,进入应用详情页。在“应用信息”栏中,复制AgentId和Secret。Secret默认是隐藏的,点击“查看”并扫码验证后即可获取。请务必妥善保存Secret。
如果不配置此步骤,调用API时会返回“ip not in whitelist”错误。在应用详情页找到“开发者接口”部分,点击“配置可信IP”。将你运行Python脚本的服务器的公网IP地址填入。如果是本地测试,可以在百度搜索“IP”获取本机公网IP。输入后点击保存。
确保你的电脑已安装Python(建议3.6及以上版本)。打开终端(CMD或PowerShell),安装官方请求库requests。这是唯一需要依赖的第三方库。
执行以下命令:
```bash pip install requests ```
新建一个文件名为wecom_exposure.py。我们将编写三个核心函数:获取Access Token、发送应用消息、发送群机器人消息。
企业微信的所有API调用都需要携带Access Token,有效期通常为2小时。我们需要一个函数来动态获取它。
```python import requests import json 替换为你刚才获取的凭证 CORP_ID = 'wwxxxxxxxxxxxxxxxxx' SECRET = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' AGENT_ID = 1000002 def get_access_token(corp_id, secret): url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken" params = { "corpid": corp_id, "corpsecret": secret } response = requests.get(url, params=params) result = response.json() if result['errcode'] == 0: return result['access_token'] else: print(f"获取Token失败: {result}") return None ```这是私域曝光的基础功能。通过touser参数指定接收消息的成员账号(通常为手机号或自定义UserID)。
纯文本曝光效果有限,图文卡片(News消息)包含标题、描述、链接和图片,点击率更高。
```python def send_news_message(access_token, agent_id, user_id, title, description, url, pic_url): api_url = f"https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={access_token}" data = { "touser": user_id, "msgtype": "news", "agentid": agent_id, "news": { "articles": [ { "title": title, "description": description, "url": url, "picurl": pic_url } ] }, "safe": 0 } response = requests.post(api_url, data=json.dumps(data)) result = response.json() if result['errcode'] == 0: print(f"图文卡片发送成功给: {user_id}") else: print(f"图文卡片发送失败: {result}") ```除了点对点通知,群聊是私域流量聚集地。企业微信支持群机器人,我们可以在群内添加机器人,通过Webhook地址推送消息。
在目标企业微信群聊中,点击右上角“...” -> “群机器人” -> “添加机器人”。输入机器人名称(如“曝光播报”),创建后会生成一个Webhook地址(以https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=...开头)。复制该地址。
机器人支持Markdown格式,可以发送结构化的高亮信息。
```python def send_group_robot_message(webhook_url, content): url = webhook_url data = { "msgtype": "markdown", "markdown": { "content": content } } headers = {"Content-Type": "application/json"} response = requests.post(url, data=json.dumps(data), headers=headers) result = response.json() if result['errcode'] == 0: print("群消息发送成功") else: print(f"群消息发送失败: {result}") ```将上述函数整合,编写main入口函数。请注意,user_id必须是企业微信通讯录中已存在的成员账号。你可以在管理后台“通讯录” -> 点击成员名字查看“账号”字段获取。
在实操过程中,你可能会遇到以下错误,请对照排查:
get_access_token函数是否正常调用,每次运行脚本都会重新获取Token,正常情况不会报错。touser字段填写的账号与通讯录中的“账号”完全一致,不要使用姓名或昵称。time.sleep(1)。易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图