从「只能发」到「能收能回」,构建完整的消息闭环
本文说明如何配置 Webhook 回调,实现企业微信消息接收、业务处理与自动回复的完整链路,适用于 AI 客服、群机器人等场景。
功能说明
单向推送只能覆盖一半需求。AI 客服、群机器人、关键词自动应答都依赖「接收消息 → 业务处理 → 再发送」的闭环。
平台支持在控制台配置 Webhook 回调地址,当执行节点收到好友消息或群消息时,平台将事件 POST 到开发者服务器。开发者解析 payload 后,再调用发送类 API 完成回复。该模式与常见 IM 开放平台的事件订阅类似,但底层由 RPA 节点承担消息监听,无需企业自行部署消息加解密服务。
整体流程
用户发消息 → RPA 节点接收 → 平台 POST Webhook → 业务服务处理 → 调用 sendText 回复快速上手
步骤 | 操作 | 预期结果 |
|---|---|---|
1 | 完成节点登录与 Token 获取 | 前置环境就绪 |
2 | 在控制台填写 Webhook URL(需公网可访问) | 配置保存成功 |
3 | 向该节点发送一条测试消息 | 触发消息事件 |
4 | 在服务器日志中确认收到回调事件 | 日志中有完整 payload |
5 | 编写处理逻辑并调用 | 用户收到自动回复 |
代码示例
const express = require('express'); const app = express(); app.use(express.json()); app.post('/webhook/qw', async (req, res) => { const event = req.body; // 根据文档解析消息类型、发送方 ID、文本内容 if (event.msgType === 'text' && event.content) { await fetch('http://manager.qiweapi.com/qiwe/api/qw/doApi', { method: 'POST', headers: { 'X-QIWEI-TOKEN': process.env.API_KEY, 'Content-Type': 'application/json' }, body: JSON.stringify({ method: '/msg/sendText', params: { guid: event.guid, toid: event.fromId, content: `已收到:${event.content}` } }) }); } res.json({ code: 0 }); }); app.listen(3000);落地场景
外部群关键词触发自动应答
接入大模型的智能客服对话
群消息采集后写入工单系统
外部联系人咨询分流到不同业务队列
答疑
问:Webhook 收不到回调怎么办?
确认 URL 公网可达、HTTPS 证书有效、控制台配置已保存,且 guid 节点处于在线状态。
问:回调会重复推送吗?
建议业务侧做幂等处理,按消息 ID 或时间戳去重。
问:群消息和个人消息回调格式一样吗?
结构类似,但字段中会有 roomId 等群相关标识,需按文档区分处理分支。
问:响应超时有什么影响?
平台侧通常异步投递,但建议快速返回 200,耗时逻辑放队列异步执行。
延伸链接
想继续往下做,可以从这里开始:
查看 API 文档 — 完整接口说明、Webhook 配置与快速开始
访问官网平台 — 注册账号、扫码登录节点、在线调试