介绍

欢迎使用 AIPECO 环评智审公用 API。该 API 允许开发者上传环评报告、启动审核、查询进度并获取最终的审核报告。通过此开发文档,开发者能够将强大的 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 "http://112.4.115.203:5002/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 "http://112.4.115.203:5002/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 "http://112.4.115.203:5002/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-Typetext/html。浏览器将触发文件下载,文件名为 <project_id>.html

cURL 示例

curl -X GET "http://112.4.115.203:5002/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-Typeapplication/pdf。浏览器将触发文件下载,文件名为 <project_id>.pdf

PDF报告是后台异步生成的,首次请求此接口可能会触发生成过程。如果返回提示“正在生成中”,请稍后重试。

cURL 示例

curl -X GET "http://112.4.115.203:5002/api/project/a1b2c3d4-e5f6-7890-1234-567890abcdef/get_pdf" \
-H "Authorization: YOUR_API_KEY" \
-o "report.pdf"  # 将输出保存到 report.pdf 文件

状态码说明

状态码 含义 可能原因
200 OK请求成功操作成功执行。
400 Bad Request请求无效请求参数缺失或格式错误(如未上传文件、JSON格式错误)。
401 Unauthorized认证失败未提供 API Key 或 API Key 无效。
403 Forbidden禁止访问API Key 使用次数已达上限。
404 Not Found资源不存在请求的 project_id 不存在或不属于您。
409 Conflict状态冲突尝试启动一个已经启动或已完成的项目。
500 Internal Server Error服务器内部错误服务器处理请求时发生未知错误,请联系技术支持。