报告与原始凭证
交车和还车结果有意拆分为不可变报告版本、官方 PDF 和受保护的原始凭证。请按以下步骤处理,不要依赖 Webhook 的到达时机。
第 1 步 — 确认可用结果
Section titled “第 1 步 — 确认可用结果”GET /v1/rentals/{rental_id}/report 是当前报告索引。departure 可能已经就绪,而 comparison 尚未生成。
| 人工验证 | 检查阶段 | 官方报告类型 |
|---|---|---|
| 交车完成 | departure | departure |
| 还车完成 | return | comparison |
不存在单独的官方 return 报告类型;还车检查生成交车与还车之间的对比报告。Webhook 只会加快对账,不是事实来源。收到事件或完成事件恢复后,请重新读取索引。
第 2 步 — 归档不可变 JSON
Section titled “第 2 步 — 归档不可变 JSON”- 调用
GET /v1/rentals/{rental_id}/reports列出全部可用版本。 - 调用
GET /v1/reports/{report_id}读取要归档的版本。 - 将公开报告 ID、版本号和内容哈希与 Rental 记录一并保存。
受支持的更正会生成新的不可变版本,其公开 ID 和内容哈希都会变化;旧 ID 仍指向旧版本。不要只按 Rental ID 覆盖历史。
第 3 步 — 下载官方 PDF
Section titled “第 3 步 — 下载官方 PDF”调用 GET /v1/reports/{report_id}/pdf。200 直接返回 PDF 字节;202 表示生成或修复仍在进行,请遵守 Retry-After,随后查询 GET /v1/jobs/{job_id} 或重试 PDF 路由。API 以流式方式返回获授权 PDF,不提供永久存储 URL。
第 4 步 — 列出原始凭证
Section titled “第 4 步 — 列出原始凭证”对交车和还车的检查 ID 分别调用 GET /v1/inspections/{inspection_id}/evidence。每项记录包含 phase、kind、view、zone、是否关联损伤以及公开 content_path。GET /v1/evidence/{evidence_id}/content 返回一张获授权原始图片。
Evidence 契约不暴露存储 URL、轮廓、遮罩、坐标或带标注图片。is_fresh_for_record 仅是已验证集成可见的运营来源信息,不会出现在共享报告 JSON、PDF 或 Webhook 中。
第 5 步 — 批量下载原始凭证
Section titled “第 5 步 — 批量下载原始凭证”| 范围 | 端点 | 内容 |
|---|---|---|
| 一次检查 | GET /v1/inspections/{inspection_id}/evidence/archive | 该次交车或还车检查的原始图片 |
| 整个 Rental | GET /v1/rentals/{rental_id}/evidence/archive | 最新交车和还车凭证,分别放在不同目录 |
每个 ZIP 都包含 manifest.json,其中只有干净的公开元数据:阶段、视角、区域、损伤类型与严重程度、涉及部位、完整性字段和相对图片路径。图片始终是未经标注的原始字节;压缩包绝不包含轮廓、遮罩、标注图层或私有存储 URL。实际大小限制由 /v1/capabilities 的 limits.max_evidence_archive_bytes 返回。
第 6 步 — 将附件与检查凭证分开
Section titled “第 6 步 — 将附件与检查凭证分开”Rental 附件是集成系统提供的私有文档,不是官方检查凭证。通过 /v1/rentals/{rental_id}/attachments 上传和列出。打开 TrakarIA 检查时,这些文件会自动显示在其他文档中,并通过短期授权链接打开,无需重复上传。它们只提供只读上下文,不进入 evidence ZIP 或官方报告。
图片处理对集成系统保持简单
Section titled “图片处理对集成系统保持简单”你的集成系统无需给检查图片分类,也无需指定车辆视角。工作人员在 TrakarIA 中拍摄或上传图片;TrakarIA 检测视角、组织全景与近景,并自动接受可用的检测结果。工作人员始终可以更正视角。
需要人工更正时,界面会引导用户逐张查看该视角下的所有图片,并为整组保存一致决定。稍后结束的后台处理不能悄悄把已验证视角改为未完成。真正新增、删除或重新分配图片时,系统可能要求针对性复核,并直接返回受影响视角。此内部流程不会增加公开 API 的复杂度或阻塞集成。