自动发送消息是企业微信 API 中比较常见的一类需求。
例如业务系统产生订单、客服需要发送通知,或者定时任务需要发送提醒,都可以通过接口完成。
一、自动发送消息的基本流程
先把流程拆成四步:
触发任务 → 获取消息内容 → 指定接收对象 → 调用API发送
触发方式可以根据业务选择:
-
定时触发
-
业务事件触发
-
后台手动触发
-
数据变化触发
二、准备发送参数
一次消息发送通常需要确定:
实例信息
接收对象
消息类型
消息内容
例如发送文字时,需要准备目标对象和具体内容。
三、Python调用示例
使用 Python 可以通过 requests 发起 POST 请求:
import requests
url = "http://api.example.com/message/send"
headers = {
"Content-Type": "application/json",
"X-QIWEI-TOKEN": "YOUR_TOKEN"
}
data = {
"appId": "YOUR_APPID",
"toWxid": "TARGET_ID",
"content": "这是一条测试消息"
}
response = requests.post(
url,
headers=headers,
json=data
)
print(response.json())
实际项目中,接口地址和参数需要按照具体 API 定义进行调整。
四、消息内容不要全部写死
如果每次发送的内容都不一样,可以把消息内容交给业务系统生成。
例如订单通知:
订单号:20260904001
客户:张三
状态:已发货
程序获取订单数据后,再组合成消息发送。
流程:
订单系统 → 获取订单 → 生成内容 → API → 企业微信
五、多个对象发送怎么办?
如果需要发送给多个对象,可以将发送任务拆开处理。
例如:
任务创建
→ 成员A
→ 成员B
→ 群A
→ 群B
每个目标单独记录结果。
这样其中一个发送失败时,不会影响其他任务。
六、发送结果需要记录
不要调用完接口就结束。
建议记录:
任务ID
目标对象
消息内容
发送时间
执行状态
失败原因
例如:
10001 | 群A | 发送成功
10002 | 群B | 发送失败 | 参数错误
后面排查问题会方便很多。
七、异常情况怎么处理?
常见问题包括:
-
Token错误
-
参数错误
-
接收对象不存在
-
实例状态异常
-
网络请求失败
-
接口返回错误
可以根据错误类型决定是直接结束、重新执行还是交给人工处理。
八、消息发送的几个注意点
1. 发送前检查目标对象
避免把消息发错对象。
2. 做好参数校验
消息内容为空、目标为空等情况直接拦截。
3. 保存执行日志
出了问题可以快速定位。
4. 批量发送控制执行节奏
不要让大量任务在同一时间无序执行。
5. 区分业务和接口代码
业务系统负责决定"发什么",API模块负责处理"怎么发"。
总结
自动发送消息并不复杂,核心就是:
业务触发 → 准备参数 → API调用 → 获取结果 → 记录状态
真正开发时,建议先完成单条消息发送,再增加定时、批量和业务系统联动等功能。