XinXiKuaiBaoYuan/django-backend/API接口规范.md

174 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 外部API接口规范
## 1. 刘老师爬虫API
### 接口地址
```
POST http://liu-teacher-api/crawl-data
```
### 请求参数
```json
{
"task_id": 123,
"sources_config": {
"presetSources": [
{
"id": "wechat-group-001",
"name": "AI技术讨论群",
"category": "wechat",
"type": "微信|企微"
},
{
"id": "official-account-002",
"name": "科技前沿公众号",
"category": "wechatOfficial",
"type": "公众号"
}
],
"customSources": [
{
"id": "custom-web-001",
"name": "自定义网站",
"url": "https://example.com",
"category": "web",
"type": "网页"
}
],
"webSearchEnabled": true
},
"current_execution_time": "2025-09-19T17:42:08.123456+08:00",
"last_execution_time": "2025-09-18T17:42:08.123456+08:00",
"web_search_enabled": true,
"requirement": "用户输入的需求描述"
}
```
### 响应格式
```json
{
"code": 200,
"message": "爬取成功",
"data": {
"crawler_task_id": "crawler-task-123-1726756928",
"crawled_data": [
{
"source_id": "wechat-group-001",
"source_name": "AI技术讨论群",
"source_type": "wechat",
"content": "爬取到的完整文本内容...",
"metadata": {
"crawl_time": "2025-09-19T17:42:08+08:00",
"data_count": 150,
"time_range": {
"start": "2025-09-18T17:42:08+08:00",
"end": "2025-09-19T17:42:08+08:00"
}
}
}
]
}
}
```
### 接口说明
- **目的**: 根据时间戳进行增量数据爬取,确保无遗漏
- **时间戳**: `current_execution_time` - `last_execution_time` 之间的所有数据
- **返回数据**: 爬取到的完整长文本内容,供报告生成使用
---
## 2. 王璞报告生成API
### 接口地址
```
POST http://wangpu-api/generate-report
```
### 请求参数
```json
{
"task_id": 123,
"requirement": "用户输入的需求描述",
"crawler_data": [
{
"source_id": "wechat-group-001",
"source_name": "AI技术讨论群",
"source_type": "wechat",
"content": "完整的爬虫数据内容..."
}
],
"web_search_enabled": true
}
```
### 响应格式
```json
{
"code": 200,
"message": "报告生成任务已创建",
"data": {
"report_task_id": "report-task-123-1726756928",
"status": "processing"
}
}
```
### 接口说明
- **目的**: 根据爬虫数据和用户需求生成智能报告
- **输入**: 刘老师返回的爬虫数据 + 用户需求
- **输出**: 报告生成任务ID后续通过回调获取结果
---
## 3. 报告完成回调API (我方提供给王璞)
### 接口地址
```
POST http://our-api/report-callback
```
### 请求参数 (王璞调用)
```json
{
"report_task_id": "report-task-123-1726756928",
"task_id": 123,
"status": "completed",
"report_data": {
"title": "AI技术发展趋势报告",
"content": "完整的报告内容...",
"summary": "报告摘要",
"generated_time": "2025-09-19T17:45:08+08:00"
}
}
```
### 响应格式 (我方返回)
```json
{
"code": 200,
"message": "报告接收成功"
}
```
---
## 4. 实现状态
### 当前状态 (模拟)
- ✅ 接口规范已定义
- ✅ 时间戳逻辑已实现
- ✅ 数据格式已规范化
- 🔄 使用模拟数据推进开发
### 待对接
- ⏳ 刘老师爬虫API实现
- ⏳ 王璞报告生成API实现
- ⏳ 报告回调接收实现
### 下一步
1. 完善定时任务调度系统
2. 实现报告回调接收接口
3. 优化错误处理和重试机制
4. 准备接口对接测试