版本:2026-06-24
接口路径前缀:/openapi/bidding/
重要:文件先上传到调用方自有存储,本服务只接收 URL。解析阶段仅传招标文件,审查阶段才传投标文件。
application/jsonappid / nonce / timestamp / sign| 字段 | 类型 | 说明 |
|---|---|---|
code | int | 20000=成功;40002 缺参;40004 资源不存在;50000 服务端失败 |
data | object | 业务数据体,结构因接口而异 |
message | string | 失败时有值,成功为空 |
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
files | object[] | 是 | 招标文件列表(正文 + 附件),至少 1 项 |
files[].file_url | string | 二选一 | 待解析的文件 URL(首次) |
files[].url | string | 二选一 | 同 file_url |
files[].doc_id | string | 二选一 | 已 ingest 的文档 ID(选包后复用,不再传 URL) |
files[].filename | string | 否 | 展示用文件名 |
files[].role | string | 否 | subject=正文(默认);attachment=附件 |
package_no | string | 否 | 包号;传入则跳过包识别,直接解析该包 |
callback_url | string | 否 | 终态回调 URL(暂不支持,预留) |
| 字段 | 类型 | 说明 |
|---|---|---|
task_id | string | 任务 ID(用于轮询) |
job_id | string | V7 后端 job ID(供参考) |
status | string | 固定 pending |
queue_position | int | 队列排位,1 表示即将执行 |
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
task_id | string | 是 | 提交解析返回的 task_id |
| 字段 | 类型 | 说明 |
|---|---|---|
job_id | string | 任务 ID |
status | string | pending |
progress | int | 进度 0–100 |
stage | string | 当前阶段(见下方枚举) |
doc_ids | object[] | 已 ingest 的文档列表 |
doc_ids[].doc_id | string | 文档 ID |
doc_ids[].role | string | subject / attachment |
doc_ids[].filename | string | 文件名 |
result | object | 非终态为 null |
error | string | 失败时的原因 |
ingest → procurement_profile → package_detect → module_split → checklist_extract → consolidate → completepackage_selection_required)| 字段 | 类型 | 说明 |
|---|---|---|
status | string | package_selection_required |
doc_ids | object[] | 同上,须持久化供二次解析与审查复用 |
packages | object[] | 识别到的包列表 |
packages[].package_no | string | 包号 |
packages[].package_name | string | 包名称 |
packages[].budget | string | 预算描述 |
packages[].subject | string | 标的内 容摘要 |
收到此状态后,展示包列表让用户选择,用 doc_id复用 +package_no再次 POST 提交解析。
completed)| 字段 | 类型 | 说明 |
|---|---|---|
status | string | completed |
progress | int | 100 |
doc_ids | object[] | 招标文档列表(审查时填入 parsed_bidding_doc_ids) |
procurement_profile | object | 采购前置判定 |
procurement_profile.purchase_method | string | 如"公开招标" |
procurement_profile.bidding_form | string | 如"电子" |
procurement_profile.scoring_method | string | 如"综合评估法" |
packages | object[] | 包信息列表 |
package_checklists | object[] | 按包输出的审查清单 |
package_checklists[].package_no | string | 所属包号 |
package_checklists[].domains | object[] | 审查域分组 |
package_checklists[].domains[].domain_key | string | 如 qualification、scoring_factor、tech_requirement |
package_checklists[].domains[].domain_name | string | 中文名 |
package_checklists[].domains[].checklist | object[] | 审查项列表(见 ChecklistItem) |
global_disqualification_items | object[] | 全局废标/否决条款(ChecklistItem[]) |
conflicts | object[] | 主附件冲突项 |
gaps | object[] | 信息缺口提示 |
| 字段 | 类型 | 只读 | 说明 |
|---|---|---|---|
id | string | ✅ | 唯一标识(锚点,审查时映射为 point_id = "parse_{id}") |
check_name | string | 审查名称 | |
basis | string | 审查依据 | |
source_refs | object[] | ✅ | 原文定位 |
source_refs[].doc_id | string | 文档 ID | |
source_refs[].page | int | 页码(1-based) | |
source_refs[].node_id | string | 大纲节点 ID | |
source_refs[].snippet | string | 原文摘录 | |
category | string | 分类:qualification / scoring / technical / commercial / pricing / disqualification / contract / format / timeline / other | |
severity_hint | string | high / medium / low | |
cross_cutting | bool | 是否跨模块通用 | |
applicability | string | ✅ | valid=有效;filtered=已过滤(审查时跳过) |
package_no | string | 所属包号 | |
review_guidance | string | 审查执行指引 |
source_refs和id为只读,上游不可修改。check_name、basis、severity_hint、review_guidance用户可自由编辑。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
review_type | string | 是 | 固定 bidding_bid |
files | object[] | 是 | 投标文件列表(主册 + 附件),至少 1 项 |
files[].url | string | 是 | 文件可下载 URL |
files[].file_url | string | 是 | 同 url |
files[].filename | string | 否 | 文件名 |
files[].role | string | 否 | subject=主册(默认);response_attachment=应答附件 |
parsed_bidding_doc_ids | string[] | 推荐 | 解析阶段得到的全部 doc_ids[].doc_id(主文件 + 附件全传) |
checklists | object | 推荐 | 用户编辑后的审查清单(见下方) |
checklists.items | object[] | 扁平清单(推荐),元素为 ChecklistItem | |
checklists.package_checklists | object[] | 按包组织(解析结果原样回传) | |
agent_depth | string | 否 | fast / standard(默认)/ deep |
| 字段 | 类型 | 说明 |
|---|---|---|
task_id | string | 任务 ID(用于轮询) |
message | string | 固定 "请求已加入队列,等待执行" |
queue_position | int | 队列排位 |
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
task_id | string | 是 | 提交审查返回的 task_id |
| 字段 | 类型 | 说明 |
|---|---|---|
trace | object | 任务级摘要 |
trace.trace_id | string | 审查追踪 ID |
trace.review_type | string | bidding_bid |
trace.status | string | running / completed / failed |
trace.point_count | int | 审查点总数 |
trace.risk_count | int | 检出风险数 |
trace.position_success_rate | float | 定位成功率 0–1 |
trace.total_mcp_calls | int | MCP 检索调用次数 |
trace.started_at | string | ISO8601 开始时间 |
trace.finished_at | string | ISO8601 结束时间(完成后) |
points | object[] | 各审查点进度 |
points[].point_id | string | 如 parse_qual_001 |
points[].point_title | string | 审查点标题 |
points[].status | string | pending / running / completed |
points[].evidence_count | int | 证据条数 |
points[].position_status | string | found / not_found |
| code | 场景 |
|---|---|
20000 | 成功 |
40002 | 缺少必填参数 |
40004 | task_id 不存在或已过期 |
50000 | 解析/审查任务失败(查看 message 字段) |
60000 | 权益不足,请检查额度 |