docs(erp): define freight ingestion tasks

This commit is contained in:
QiuSW
2026-07-28 22:39:18 +08:00
parent 78dc595815
commit cc847c9aed
15 changed files with 547 additions and 6 deletions
+68
View File
@@ -0,0 +1,68 @@
---
id: T-220
title: 顺运宝 ERP 字段契约与凭证安全基线
phase: 2
deps:
- T-219
status: DOING
created: 2026-07-28
context_ref: 78dc595
work_branch: null
write_paths:
- .gitignore
- shunyunbaoerp_single.py
- docs/integrations/**
- docs/tasks/T-220.md
- docs/current-state.md
---
## 问题 / 背景
采购资料将以顺运宝 ERP 货运单为主要来源。现有单文件脚本证明了验证码登录、
Cookie 会话、按“全部单号”查询、按 stock id 批量读取详情的协议,但运行入口含
明文账号/密码/订单号,并会把完整结果写文件、打印到终端。货运响应包含收件人、
电话、地址、金额和商品信息,不能直接进入 Git、普通日志、VLM 或采购任务。
ERP 详情的 `details[]` 才是商品级来源;一个货运头可能有多个明细。必须先冻结
`stock.id -> detail.id -> details[].id` 的身份和字段映射,再开发导入链路。
## 关联需求与交互
- 功能:F-011、F-012
- 用户故事:US-011、US-012
- 交互:IX-012、IX-013
- 架构/API:ERP Connector、货运来源数据模型和内部安全边界
## 方案
1. 清除单文件脚本中的明文账号、密码和固定订单号,只允许环境变量或交互输入。
2. 查询结果默认只写被忽略的 `.local/`,控制台只输出数量和匿名结果文件位置。
3. 新增顺运宝集成字段契约,记录已由本地 HAR/脱敏结构确认的端点、查询关系和字段,
不复制 HAR、Cookie、JWT、真实订单号或个人信息。
4. 定义最小规范化对象:
- 货运单身份:`source_system + stock.id`
- 商品明细身份:`source_system + stock.id + details[].id`
- 待采购字段:标题、原始规格、`sku/variationSku`、正整数数量、`productThumb`
引用、采购状态和来源内容 hash
5. `productThumb` 当前只确认是 ERP 引用值,不猜测为公开 URL;图片未解析时必须
`NEEDS_IMAGE`,禁止生成采购任务。
6. 私有 HAR、验证码、查询结果、ERP session 和 connector 环境文件进入忽略规则。
## 验收要点
- [ ] Git 跟踪内容不含 ERP 账号、密码、Cookie、JWT、真实单号和货运 PII。
- [ ] 单文件脚本无硬编码凭证/订单号,不再向 stdout 输出完整响应。
- [ ] 字段契约覆盖一货运头多商品、重复同步、缺详情、缺图片和来源更新。
- [ ] 可用静态命令证明脚本可编译,安全扫描和仓库根验证通过;不访问线上 ERP。
## 边界
- 不提交本地 HAR 和 `freight_detail.json`。
- 不在本任务启动 connector、写数据库或创建采购任务。
- 不解释未确认的 ERP 数字状态含义,不自动 OCR 绕过验证码。
- 不因字段缺失猜测标题、SKU、数量或图片。
## 执行记录
- 2026-07-28:在 T-219 `78dc595` 后领取。静态读取本机单文件和独立 ERP 参考工程;
只提取协议结构和字段名,没有执行登录、线上查询或写操作。