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

174 lines
3.6 KiB
Markdown
Raw Permalink Normal View History

# 外部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. 准备接口对接测试