使用指南
完整工作流程
# 步骤1: 提交批量监控任务
curl -X POST "https://business-api.molizhishu.com/api/business/monitor/task/batch/shared" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"prompts": ["人工智能发展趋势", "机器学习应用"],
"platforms": [
{"platform": "deepseek", "mode": "search", "screenshot": 1}
]
}'
# 步骤2: 查询任务状态
curl -X GET "https://business-api.molizhishu.com/api/business/monitor/task/status/550e8400-e29b-41d4-a716-446655440000" \
-H "Authorization: Bearer YOUR_TOKEN"
# 步骤3: 获取完整结果
curl -X GET "https://business-api.molizhishu.com/api/business/monitor/task/result/550e8400-e29b-41d4-a716-446655440000" \
-H "Authorization: Bearer YOUR_TOKEN"
# 步骤4: 获取单个子任务结果
curl -X GET "https://business-api.molizhishu.com/api/business/monitor/task/result/550e8400-e29b-41d4-a716-446655440000/660e8400-e29b-41d4-a716-446655440001" \
-H "Authorization: Bearer YOUR_TOKEN"
# 步骤5: 获取任务列表
curl -X GET "https://business-api.molizhishu.com/api/business/monitor/task/list?page=1&size=10&status=completed" \
-H "Authorization: Bearer YOUR_TOKEN"
注意事项
认证与权限
- 所有接口都需要有效的认证 Token
- Token 通过
Authorization: Bearer <token>头传递 - Token 过期后需要重新获取
任务执行流程
- 任务提交后初始状态为
pending,系统异步处理 - 建议每 5-10 秒轮询一次状态接口,避免过于频繁的请求
- 当
status为completed、partial_completed或failed时,可以获取最终结果
数据保留
- 任务结果数据会保留一定时间
- 建议及时获取和备份重要数据
回调机制(可选)
系统支持在任务完成后主动将结果推送到指定的回调地址,无需轮询查询。
回调地址配置
- 提交时指定:在请求参数中传入
callbackUrl,仅对当前任务生效。 - 用户默认地址:未提供
callbackUrl时,系统自动使用用户配置的默认回调地址(如已配置)。 - 两者都未配置时,不触发回调。
回调触发条件
当所有子任务都已完成时(包括多轮重试,最终失败的任务)才会触发回调,最终回调的状态:
| 状态 | 说明 |
|---|---|
completed | 所有子任务成功完成 |
partial_completed | 部分子任务成功,部分失败 |
failed | 所有子任务失败 |
默认回调数据格式
系统以 HTTP POST 方式发送 JSON 数据到回调地址:
POST {callbackUrl}
Content-Type: application/json
请求体结构:
{
"taskId": "ec617e1996174c129a872680fa27078e",
"userId": 123,
"timestamp": 1707388800000,
"status": "completed",
"totalItems": 6,
"completedItems": 6,
"failedItems": 0,
"subTaskList": [
{
"subTaskId": "4124831",
"platform": "deepseek",
"mode": "reasoning",
"prompt": "请帮我搜索最新款 iPhone型号,以及 iOS 版本",
"status": "completed",
"time": 1707388750000,
"pageScreenshot": "https://example.com/screenshot.png",
"answerContent": "AI 回答内容...",
"referenceList": [],
"citationList": [],
"reasoningProcess": null,
"recommendedQuestions": [],
"mediaContent": [],
"errorMessage": null
}
]
}
回调数据字段说明:
| 字段 | 类型 | 说明 |
|---|---|---|
| taskId | String | 批量任务ID |
| userId | Long | 用户ID |
| timestamp | Long | 回调发送时间戳(毫秒) |
| status | String | 任务最终状态(completed/partial_completed/failed) |
| totalItems | Integer | 子任务总数 |
| completedItems | Integer | 已完成子任务数 |
| failedItems | Integer | 失败子任务数 |
| subTaskList | Array | 子任务结果列表,结构与「获取任务结果」接口返回一致 |
回调成功判定
系统根据 HTTP 响应状态码判定回调是否成功:
- 2xx(200-299):视为成功
- 其他状态码或超时:视为失败,进入重试流程
超时设置:连接超时 10 秒,读取超时 30 秒。
重试策略
回调失败后系统会自动重试,采用递增间隔策略:
| 重试次数 | 间隔时间 | 说明 |
|---|---|---|
| 第 1 次 | 15 秒 | 快速重试,应对临时网络问题 |
| 第 2 次 | 1 分钟 | 短期等待 |
| 第 3 次 | 5 分钟 | 中期等待 |
| 第 4 次 | 15 分钟 | 较长等待 |
| 第 5 次 | 1 小时 | 长期等待 |
| 第 6 次 | 4 小时 | 更长等待 |
| 第 7 次 | 12 小时 | 最后尝试 |
超过 7 次重试后,回调状态标记为 FAILED,不再重试。
自定义回调
系统支持为自定义回调实现,包括但不限于:
- 自定义数据结构:按客户需求转换回调数据格式
- 自定义认证方式:支持客户端要求的签名、Token 等认证机制
- 自定义传输协议:根据业务场景适配不同的传输方式
如需定制回调,请联系管理员配置。未配置自定义回调的用户默认使用上述标准 JSON 格式推送。