feat(t221): add exact-order erp connector

This commit is contained in:
QiuSW
2026-07-28 22:52:52 +08:00
parent 305dd9f513
commit c524e734fb
16 changed files with 1599 additions and 14 deletions
+56
View File
@@ -0,0 +1,56 @@
# 顺运宝 ERP Connector
内部只读适配器:保持顺运宝验证码/Cookie 会话,按完整单号查询货运列表和详情,
再输出不含收件人、电话、地址、Cookie、JWT 或原始响应的规范化 JSON。
协议客户端基于同一开发机上已经用本地 HAR 验证的 `shunyunbaoerp 0.1.0` 代码收敛;
本目录不包含 HAR、真实响应、账号、密码或订单号。
## 安装和测试
```powershell
Set-Location erp-connector
python -m pip install -e ".[api,dev]"
pytest
```
测试只使用伪响应,不访问线上 ERP。
## 启动
```powershell
$env:SHUNYUNBAO_USERNAME = "your_username"
$env:SHUNYUNBAO_PASSWORD = "your_password"
$env:SHUNYUNBAO_SERVICE_API_KEY = "at-least-32-utf8-bytes"
..\scripts\start-erp-connector.bat
```
服务固定监听 `127.0.0.1:8091` 并关闭访问日志。不要把环境变量写入脚本、Git 或命令行
参数;生产前应改用受控秘密注入。
## 受控会话
1. `GET /v1/session/captcha`,请求头携带 `X-API-Key`。
2. 人员查看验证码后调用 `POST /v1/session/login`:
```json
{"captcha_code":"abcd"}
```
3. 调用 `POST /v1/freight/query`:
```json
{"order_number":"完整单号"}
```
Connector 不自动 OCR 绕过验证码。服务重启或 ERP 会话过期后需重新执行前两步。
## 输出边界
响应只包含:
- `external_stock_id`、受控来源单号、店铺、ERP 时间和原始状态。
- 全部商品的 `external_item_id`、标题、规格、SKU、数量、`productThumb` 引用和状态。
`productThumb` 当前可能是数字引用,不是公开图片 URL。下游必须保持 `NEEDS_IMAGE`,
不能拼接 URL 或抓取未知主机。