# n8n Chat Trigger API 规范(DataMeta 管理智能体) 本文档描述 `https://n8n.citupro.com/webhook/datameta-agent/chat` 的 API 规范与调用示例。 参考 URL: ## 1. Endpoint - URL: `https://n8n.citupro.com/webhook/datameta-agent/chat` - Method: `POST` - Content-Type: `application/json` ## 2. 请求体(Request Body) ```json { "chatInput": "用户输入内容", "sessionId": "会话ID", "metadata": { "optional_key": "optional_value" } } ``` 字段说明: - `chatInput` (string, 必填): 用户输入内容。 - `sessionId` (string, 建议必填): 会话唯一标识,用于多轮对话记忆。 - `metadata` (object, 可选): 额外信息(如用户ID、租户、语言等)。 ## 3. 响应体(Response Body) 响应结构取决于 Chat Trigger 的 **Response Mode**: - When Last Node Finishes: 返回最后节点输出(通常是 agent 回复内容)。 - Using Response Nodes: 返回 Chat / Respond to Webhook 节点中定义的消息。 常见示例: ```json { "output": "这里是智能体的回复内容" } ``` ## 4. 调用示例 ### 4.1 cURL ```bash curl -X POST "https://n8n.citupro.com/webhook/datameta-agent/chat" \ -H "Content-Type: application/json" \ -d '{ "chatInput": "查询ID为60的元数据", "sessionId": "session-001" }' ``` ### 4.2 JavaScript (fetch) ```js fetch("https://n8n.citupro.com/webhook/datameta-agent/chat", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ chatInput: "查看ID为60的元数据", sessionId: "session-001", metadata: { userId: "u-1001" } }), }) .then((res) => res.json()) .then((data) => console.log(data)); ``` ### 4.3 Python (requests) ```python import requests url = "https://n8n.citupro.com/webhook/datameta-agent/chat" payload = { "chatInput": "新增元数据,中文名测试字段", "sessionId": "session-001" } resp = requests.post(url, json=payload) print(resp.status_code, resp.text) ``` ## 5. 认证与跨域 - 如 Chat Trigger 配置了 Basic Auth 或 n8n User Auth,请在请求中携带认证信息。 - 浏览器跨域访问需在 Chat Trigger 中配置 Allowed Origin (CORS)。 ## 6. 常见问题 **Q: 返回 403?** A: 反向代理未放行 `/webhook/chat/*` 或 workflow 未激活。 **Q: 浏览器报 CORS?** A: 未配置 Allowed Origin (CORS)。