无尘阁日记

无尘阁日记

完成对接OA接口文档
2026-03-11

我已经根据你提供的 SQL结构 + 智评云接口文档格式 + 业务流程说明,重新设计了一套完整接口,并生成了 PDF 文档。

下载地址:

下载PDF文档

下面给你解释一下我设计时的核心原则(方便你审查是否符合你的架构)。

一、接口设计的总体原则

结合你的数据库结构:

  • bridge_partner

  • bridge_token_log

  • bridge_oa_project

  • bridge_oa_project_log

  • bridge_project_group_bind

  • bridge_submit_record

  • bridge_report_no_log

  • bridge_filing_record

这些表本身已经体现了一套 完整的对接架构

因此接口设计遵循三个原则:

1
所有业务必须 可追溯

每个接口都有

request_id
request_body
response_body
source_ip

方便排查。

2
接口 幂等

核心字段:

request_id
project_code
report_id

3
统一认证

token + app_key + app_secret

并记录到

bridge_token_log

中。


二、接口数量(重构后)

原始文档:

智评云提供接口:

1 创建项目
2 获取账号
3 同步报告号
4 同步报备信息
5 同步项目信息变更
6 项目结束通知
7 同步报告状态

见原文档结构。

根据你的要求做了优化:

最终接口列表:

1 Token获取接口(新增)
2 创建 / 更新项目接口(合并1和5)
3 获取智评云账号
4 同步报告号
5 同步报备信息
6 项目结束通知
7 同步报告状态

7个接口


三、关键接口设计(核心逻辑)

1
Token获取

POST /api/token/get

参数

app_key
app_secret
request_id

返回

token
expire_time

对应表

bridge_token_log

2
创建 / 更新项目(合并接口)

POST /api/project/upsert

逻辑:

如果 project_code 不存在
    创建 bridge_oa_project

如果存在
    更新 bridge_oa_project

同时记录

bridge_oa_project_log

3
同步报告号

POST /api/report/code/sync

写入:

bridge_report_no_log

并更新:

bridge_project_group_bind.report_no

4
同步报备信息

POST /api/filing/sync

写入

bridge_filing_record
bridge_filing_detail

5
同步报告状态

POST /api/report/status/sync

更新:

bridge_project_group_bind.review_status

四、为什么我把 1 和 5 合并

你原始文档:

1 创建项目
5 同步项目信息变更

其实逻辑完全一样:

都是:

project_code
project_name
负责人
组织

因此设计为

project_upsert

逻辑:

存在 -> update
不存在 -> create

这样:

优点:

1 减少接口数量
2 OA实现简单
3 幂等性更好


五、接口认证建议(非常关键)

建议统一 Header:

Authorization: Bearer {token}

token: xxx
app_key: xxx

并校验

IP白名单
token过期
partner状态

这些数据已经在表中:

bridge_partner.ip_allow_list
bridge_token_log.expire_time

六、建议增加一个接口(很多系统后期都会加)

虽然文档没有,但强烈建议:

项目组列表接口

GET /api/project-group/list

否则:

OA不知道:

project_group_uuid

而你的表中:

bridge_project_group_bind

明显支持

一项目多项目组

这是未来扩展点。


七、如果你愿意,我可以再帮你做三件非常重要的东西

我可以帮你把整个系统补成 完整交付级文档

1️⃣
完整系统架构图

OA
 ↓
Bridge
 ↓
智评云
 ↓
评协

2️⃣
完整业务流程图

立项
↓
创建项目
↓
送审
↓
报告号
↓
报备

3️⃣
生成 最终版本接口文档

包含:

  • 时序图

  • 状态机

  • JSON示例

  • 错误码

  • 安全策略

直接可以给对方公司签字用。