介绍
欢迎使用 AIPECO 环评智审公用 API。该 API 允许开发者上传环评报告、启动审核、查询进度并获取最终的审核报告。报告可通过 HTML、PDF 与标准化 JSON 三种形式获取。通过此开发文档,开发者能够将强大的 AIPECO 环评智审系统融入自己的产品和服务。所有 API 请求都基于 HTTP,并返回 JSON 格式的响应数据(文件下载除外)。
为了方便您的开发,建议您在开发前准备一个只有两三句话的短小文档,并向我们申请仅用于开发和测试的 API Key 次数。
我们的产品正在开发和迭代,但会保证当前版本的 API 能被未来版本兼容。您可以在未来出现更新时根据需要来升级到新的版本,届时我们会提供更新指引。API 文档的编写时间有限,我们致力于确保本文档的准确性和完整性,但疏漏之处在所难免。如果您发现任何错误或不一致的问题,欢迎随时向我们反馈,我们将不胜感激。对于任何技术性问题,您可以随时与我们联系。
API 基地址: https://aiapi.hab65.com/api
身份认证
所有 API 请求都需要通过 API Key 进行身份验证。您需要在每个请求的 HTTP Header 中包含 Authorization 字段,其值为您的专属 API Key。
请求头示例
Authorization: YOUR_API_KEY
请妥善保管您的 API Key,不要泄露给他人。所有使用您 API Key 的请求都将被视为您本人的操作。
我们不建议您将 API Key 放置在代码明文中,最佳实践方式是放在环境变量和本地配置文件中,遵循“密钥不进入代码仓库”的原则。
1. 上传并创建项目
此端点用于上传环评报告文件。成功上传后,系统会为该项目创建一个唯一的 project_id,用于后续的操作。请将此 project_id 存放于数据库中或妥善保管,便于之后的调用。
POST /upload_project
请求体 (multipart/form-data)
- file: (必需) 环评报告文件。目前支持
.pdf,.doc,.docx格式,后续将会开放压缩包上传及附件上传功能,即将上线,敬请期待。
成功响应 (200 OK)
{
"success": true,
"project_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef"
}
cURL 示例
curl -X POST "https://aiapi.hab65.com/api/upload_project" \
-H "Authorization: YOUR_API_KEY" \
-F "file=@/path/to/your/report.docx"
项目与 API Key 作绑定,API Key 是访问项目的凭证。
2. 启动项目审核
项目上传成功后,其初始状态为“待启动”。调用此端点将项目正式放入审核队列,开始排队等待处理。当前通过 API 调用的审核项目会被尽可能优先处理,未来将采用 API 高速专线处理,以保证 API 的使用体验。
POST /start_auditing
请求体 (application/json)
{
"project_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef"
}
成功响应 (200 OK)
{
"success": true,
"message": "项目已成功放入审核队列"
}
cURL 示例
curl -X POST "https://aiapi.hab65.com/api/start_auditing" \
-H "Authorization: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"project_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef"}'
3. 查询项目状态
通过此端点可以轮询获取指定项目的当前审核状态和详细进度。建议轮询间隔为 10-15 秒。
GET /project/<project_id>/status
可能的状态 (status)
- 待启动: 文件已上传,等待调用“启动审核”接口。
- 排队中: 已进入队列,等待服务器资源。
- 进行中: 正在进行审核。(注意: 如果服务器空闲,项目会直接进入此状态)
- 已完成: 审核成功,可以获取报告。
- 失败: 审核过程中发生错误。
成功响应 (200 OK)
{
"success": true,
"status": "进行中",
"status_detail": "正在分块审核 57.1%"
}
cURL 示例
curl -X GET "https://aiapi.hab65.com/api/project/a1b2c3d4-e5f6-7890-1234-567890abcdef/status" \
-H "Authorization: YOUR_API_KEY"
4. 获取HTML报告
当项目状态变为“已完成”后,通过此端点可以下载可视化的HTML格式审核报告。
GET /project/<project_id>/get_html
成功响应 (200 OK)
响应体为一个 HTML 文件,其 Content-Type 为 text/html。浏览器将触发文件下载,文件名为 <project_id>.html。
cURL 示例
curl -X GET "https://aiapi.hab65.com/api/project/a1b2c3d4-e5f6-7890-1234-567890abcdef/get_html" \
-H "Authorization: YOUR_API_KEY" \
-o "report.html" # 将输出保存到 report.html 文件
5. 获取PDF报告
当项目状态变为“已完成”后,通过此端点可以下载PDF格式的审核报告。
GET /project/<project_id>/get_pdf
成功响应 (200 OK)
响应体为一个 PDF 文件,其 Content-Type 为 application/pdf。浏览器将触发文件下载,文件名为 <project_id>.pdf。
PDF报告是后台异步生成的,首次请求此接口可能会触发生成过程。如果返回提示“正在生成中”,请稍后重试。
cURL 示例
curl -X GET "https://aiapi.hab65.com/api/project/a1b2c3d4-e5f6-7890-1234-567890abcdef/get_pdf" \
-H "Authorization: YOUR_API_KEY" \
-o "report.pdf" # 将输出保存到 report.pdf 文件
6. 获取JSON报告
当项目状态变为“已完成”后,通过此端点可以获取开发者友好的标准化 JSON 报告。该报告按系统现有七类意见归档,区分“重点意见”和“需人工复核的意见”,每条意见都统一为 location、issue、suggestion 三个字段,便于二次加工展示。
GET /project/<project_id>/get_json
成功响应 (200 OK)
{
"success": true,
"project_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
"report": {
"project_name": "示例项目",
"project_type": "环境影响报告表",
"created_at": "2026-03-23T16:20:45.000000",
"summary": {
"key_findings_count": 3,
"manual_review_count": 1,
"categories": [
{
"key": "engineering_analysis_expert",
"label": "工程分析",
"key_findings_count": 2,
"manual_review_count": 0
},
{
"key": "regulation_timeliness_expert",
"label": "法规标准时效性",
"key_findings_count": 0,
"manual_review_count": 1
}
]
},
"key_findings": {
"engineering_analysis_expert": {
"label": "工程分析",
"items": [
{
"location": "2.4 工程概况",
"issue": "原辅材料年用量与产能核算不一致。",
"suggestion": "补充物料衡算表,并统一正文与附表中的数据。"
}
]
}
},
"manual_review": {
"regulation_timeliness_expert": {
"label": "法规标准时效性",
"items": [
{
"location": "3.2 评价依据",
"issue": "引用标准版本可能存在冲突,需人工复核。",
"suggestion": "核对标准现行版本及实施日期后更新正文。"
}
]
}
}
}
}
返回结构说明
- summary: 报告摘要统计,包含重点意见总数、人工复核总数和七类意见分布。
- key_findings: 主报告中的重点意见,固定使用七类意见 key 作为一级字段。
- manual_review: 需人工复核的意见,结构与
key_findings保持一致。 - items: 每一条意见都包含
location、issue、suggestion。
七类意见 key 对照
engineering_analysis_expert: 工程分析regulation_timeliness_expert: 法规标准时效性general_guideline_expert: 宏观原则与总体要求language_logic_expert: 语言逻辑与格式规范source_strength_feasibility_expert: 源强核算与措施可行性quality_technology_expert: 技术质量与设施规范prediction_emergency_expert: 环境影响预测与应急
常见错误响应
{
"success": false,
"message": "项目尚未完成,无法获取JSON报告"
}
{
"success": false,
"message": "JSON报告不存在"
}
cURL 示例
curl -X GET "https://aiapi.hab65.com/api/project/a1b2c3d4-e5f6-7890-1234-567890abcdef/get_json" \
-H "Authorization: YOUR_API_KEY"
状态码说明
| 状态码 | 含义 | 可能原因 |
|---|---|---|
| 200 OK | 请求成功 | 操作成功执行。 |
| 400 Bad Request | 请求无效 | 请求参数缺失或格式错误(如未上传文件、JSON格式错误)。 |
| 401 Unauthorized | 认证失败 | 未提供 API Key 或 API Key 无效。 |
| 403 Forbidden | 禁止访问 | API Key 使用次数已达上限,或当前 API Key 无权访问该项目。 |
| 404 Not Found | 资源不存在 | 请求的 project_id 不存在,或所请求的报告文件尚未生成。 |
| 409 Conflict | 状态冲突 | 尝试启动一个已经启动或已完成的项目,或在项目尚未完成时请求 JSON 报告。 |
| 500 Internal Server Error | 服务器内部错误 | 服务器处理请求时发生未知错误,请联系技术支持。 |