发行说明:本功能纳入1.0.0-rc.1企业本地协作候选,schema61。下方开发阶段记录与合成截图保留原版本背景;实际交付范围及上线准入以交付包《1.0交付说明》和《1.0发布验证记录.json》为准。
本轮候选版本为0.5.2-dev/schema61。源码已完成首期异步API服务,开发与定向验证分别记录;未替换原8090运行版本、原web/dist或20261031客户交付包。正式更新前需备份数据库与配套密钥,迁移到schema61后不能直接用只支持旧schema的二进制回退。
适用业务
企业希望ERP、报表系统或其他服务端应用自动提交同一个已授权统计,例如按区域和季度计算订单金额合计、平均金额及客户标识去重数。管理员把已签署合约中的固定计算口径发布为服务,为每个应用签发专用密钥。应用无需模拟工作台登录,也不能自行修改筛选、字段、算法或审核结论。
这是单企业连接器侧统计的业务系统接入。首期不是原始数据下载、任意SQL、跨企业联合查询或PSI/MPC/TEE,也不是实时同步计算网关。服务执行沿用连接器任务队列;每份结果仍由提供方人工审核。
角色与操作
使用方企业管理员
- 在合约协作中确认合约已生效、当前机构是使用方且允许导出结果。
- 打开“API 数据服务”,填写服务名称并选择合约、固定计算方式和字段。受控查询直接使用双方签署的完整模板,不接受调用时改参。
- 输入管理员当前密码,创建服务。服务固定合约ID、版本、摘要和查询;已生效合约本身不可直接修改。若绑定发生变化,现有服务会拒绝调用,需要重新核对并创建服务。
- 选择服务,为一个应用填写名称、最多受理次数、每分钟受理次数和有效小时数,再输入当前密码签发密钥。
- 密钥只展示一次。保存到应用服务端的密钥配置后隐藏;不写入网页、URL、截图、Git或工单。数据库只保存带域分离的哈希,列表和审计不返回原始密钥。
- 在“应用与调用计量”刷新记录,查看受理次数和期限。可以用当前密码撤销单个应用或停用整个服务;停用后要恢复需创建新服务。未撤销不代表拥有者授权仍有效,实际调用始终检查当前身份与权限。

业务系统接入人员
由企业管理员通过安全渠道提供服务ID和本应用密钥。调用必须使用Authorization Bearer头,不能使用工作台Cookie;应用密钥不授予工作台登录、合约签署、结果审核、连接器或其他服务权限。
提交一个任务:
POST /api/data-services/<serviceId>/calls
Authorization: Bearer <应用密钥>
Content-Type: application/json
Idempotency-Key: order-report-2026-q1
{}
成功返回HTTP 202,包含jobId、任务状态、交付状态和创建时间。请求体只能是空对象,不接收查询、字段、来源地址、目标任务或身份参数。幂等标识为8至128位字母、数字、点、横线或下划线,应按业务请求稳定保存;网络超时后先用相同标识重试,不能盲目生成新标识。
查询状态:
GET /api/data-services/<serviceId>/calls/<jobId>
Authorization: Bearer <应用密钥>
任务完成且提供方准许交付后领取:
GET /api/data-services/<serviceId>/calls/<jobId>/result
Authorization: Bearer <应用密钥>
领取返回JSON聚合结果,不暴露源数据路径、租约密钥或企业回执内部字段。同一服务下的另一应用也不能读取本应用的任务。领取结果需要合约仍有效、允许导出、双方仍在空间内、当前拥有者有提交和导出权限,且应用未过期/撤销、服务未停用。
建议业务系统以有上限的退避轮询等待,避免高频请求。每分钟额度限制的是新任务受理,不是轮询流量;还需部署入口的连接数、请求超时和流量控制。首期不提供完成通知、自动审核或“请求返回即完成”的同步保证。
提供方审核人员
继续在“计算任务”中查看计算结果,核对口径后决定准许或拒绝交付。API应用不能替代提供方审核。审核、导出与本次应用领取均写入履约审计;应用领取事件绑定服务ID、应用凭据ID、任务ID和结果摘要。
运维人员
与受控查询一致,配套部署平台、门户和连接器;新查询还需能力协商兼容的连接器及可选worker。此次新增schema61只创建API服务、应用凭据、调用映射及索引,不改写已有用户、合约或任务行。数据库和密钥的备份、升级和恢复按现有交付说明执行;本轮没有自动更新客户镜像或旧交付包。
服务与密钥管理须使用已激活的使用方企业管理员账号。管理员停用、密码重置/变更、凭据版本变化、权限版本变化或失去所需权限会阻断原有应用密钥;恢复人员权限也不自动恢复旧密钥,应撤销后重新签发。此设计要求企业对拥有者和密钥生命周期负责,并非独立于人员的服务账号体系。
额度与状态
| 项目 | 首期边界 |
|---|---|
| 企业API服务记录 | 最多100个,含停用记录;服务名在本企业唯一 |
| 每服务应用记录 | 最多100个,含撤销记录;签发请求标识唯一 |
| 密钥期限 | 1小时至90天;同时受合约有效期限制 |
| 每应用累计受理 | 1至1,000,000个新任务 |
| 每应用滚动一分钟受理 | 1至120个新任务,持久记录检查 |
| 同一应用同一幂等标识 | 返回原任务,不重复创建或计次;密钥/服务/合约失效后不再允许重试读取 |
| 不同应用同一幂等标识 | 分别受理,独立计次 |
| 执行失败、取消或拒绝交付 | 应用受理次数不退还;合约预留次数沿用既有任务规则 |
| 状态查询和结果领取 | 不扣新任务额度;仍逐次检查授权与交付状态 |
应用额度、调用映射、合约预留次数、任务创建和审计在同一事务提交;同一个应用串行化受理,防止多副本并发超扣。应用配额不会扩张合约额度,任一上限达到均拒绝新任务。
| 返回码/错误 | 接入方处理 |
|---|---|
| 202 | 已受理,不代表已计算或已批准交付 |
| 400 | 请求体、固定口径或幂等标识不符合约束,修正请求 |
| 401 invalid_api_credential | 密钥无效、过期、撤销或拥有者授权变化,联系管理员 |
| 403 export_denied | 尚未完成审核或当前不能导出;先查任务和交付状态 |
| 404 | 任务不属于本应用、记录不存在或无权限 |
| 409 | 服务停用、合约不可用或版本绑定不一致,核对配置 |
| 429 | 应用累计/分钟额度或管理操作频率超限;累计额度耗尽不能靠重试解决 |
手机与培训
手机端按顺序展示服务创建、应用管理和调用计量。应用密钥隐藏后刷新页面不会再次出现;通过应用记录可以核对签发情况,若响应丢失且密钥未保存,应先撤销该记录再新建。

验证和后续范围
本轮记录见《API数据服务首期开发记录.json》。定向检查覆盖真实PostgreSQL事务、HTTP鉴权与请求约束、应用隔离、幂等并发、双重额度、审核前拒绝/审核后交付、撤销、期限、拥有者授权、合约/服务绑定、产品门禁和schema60至61升级。门户另实跑服务创建、应用密钥签发、隐藏后刷新恢复元数据,并检查390像素手机布局。
初轮新增测试有未用导入和方法返回值误用,已修正;其后发现误用了旧监控凭据的幂等长度规则,已改为独立规则。集中检查中版本围栏测试误调用已生效合约修订,被既有规则正确拒绝;已改为直接模拟过期的服务版本绑定并定向复验。保留各轮失败和修正记录,不以成功子项掩盖整轮失败。
剩余同步查询的响应时限/审批模式设计、动态参数授权、独立机器身份、回调通知、计费及生产容量不在首期实现内。真实客户接入、正式部署、平台外部互联与隐私执行桥接仍单独排队;本说明不能视为全部产品已完成或已正式验收。