企业微信官方开放平台能力完善,但外部群的主动触达、部分群管场景,业务系统往往仍需要额外通道。RPA 连接器把已登录的企业微信账号封装成 HTTP API:你发请求,节点在客户端代为操作,结果以 JSON 返回。
「第一个机器人」不必上 AI 或 CRM。最小闭环:外部联系人或同事给你发消息 → 你的服务收到 Webhook → 自动回一句。跑通后再做群通知、成员管理、告警推送。
方案说明
最小机器人四步:
① 控制台注册,获取 API Token,扫码登录执行节点(guid) ② 调 /msg/sendText 向外部联系人或外部群发测试消息 ③ 配置 Webhook,服务能收到 POST ④ 回调里调 sendText 把回复发回去本平台接口统一走网关:method+params结构,发送文本的 method 为/msg/sendText。目标可以是外部联系人 ID,也可以是外部群的 roomId。
Webhook 需公网 HTTPS;回调几秒内返回 200,耗时逻辑放队列异步处理。
操作步骤
注册平台账号,在控制台复制 API Token 和网关地址。
实例管理里扫码登录企业微信,记录节点 guid,确认在线。
调「获取个人信息」接口,确认当前账号可用。
向已知的外部联系人或测试群发送一条短文本,客户端确认收到。
部署
/webhook/qw接口,控制台填入 URL。用外部号给该节点发私聊,打印 POST Body,确认收到事件。
在 handler 里调 sendText 回复「已收到:xxx」。
示例代码
发送文本
curl -X POST http://你的网关地址/qw/doApi \ -H "X-API-TOKEN: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "method": "/msg/sendText", "params": { "guid": "你的节点ID", "toid": "external_user_id或roomId", "content": "【测试】机器人已上线" } }'最小 echo 机器人(Python)
import os import requests from flask import Flask, request from threading import Thread app = Flask(__name__) GATEWAY = os.environ["QW_GATEWAY"] TOKEN = os.environ["QW_API_TOKEN"] def call_api(method: str, params: dict) -> dict: r = requests.post( f"{GATEWAY}/qw/doApi", json={"method": method, "params": params}, headers={"X-API-TOKEN": TOKEN, "Content-Type": "application/json"}, timeout=15, ) return r.json() def handle(event: dict): if event.get("msgType") != "text": return guid = event["guid"] sender = event.get("fromId") text = event.get("content", "") call_api("/msg/sendText", { "guid": guid, "toid": sender, "content": f"已收到:{text}", }) @app.post("/webhook/qw") def webhook(): event = request.get_json(force=True) Thread(target=handle, args=(event,), daemon=True).start() return {"code": 0}, 200成功响应
{ "code": 0, "msg": "success" }注意
消息以执行节点对应的企业微信账号身份发出,多节点时别传错 guid。
自己 sendText 发出的消息,通常不会回弹 Webhook;测收消息需外部账号发来。
节点掉线后 API 失败,生产环境要监控在线状态。
自动回复建议标明非人工,敏感业务留人工入口。
非官方接入需自行评估合规与用户授权。
文档
API 文档 · 官网平台
标签建议:企业微信、外部群、RPA连接器、Webhook