@accio-ai/ecommerce-cli 0.0.6-rc.4 → 0.0.7-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -6,10 +6,13 @@
6
6
 
7
7
  ### Added
8
8
 
9
+ - 海外商品 publish 新增 `--expected-platform` 和 `--concurrency`,支持显式限定平台与有界并发(默认 2、最多 4);同一次调用选定平台、店铺和站点内的全部待提交商品通过预检后才正式发送,任一商品预检失败时其他待提交商品返回 `not_attempted`,未选平台的错误不阻断当前平台。
10
+ - 完善 Amazon `update_listing` / `feed` 的模板生成、读取、提交与核验;Feed 按最多 100 条及本地大小预算拆批合并提交,中断后恢复原批次和原任务,同一本地数据目录的 AW 账号与 Amazon seller 共享 60 秒新提交间隔。
11
+ - Temu 素材与发布支持固定规格、服饰 SKC、尺码表、数值聚合和图片资源回填,按模板声明的布局、映射和范围读取,并兼容语义一致的新布局版本。
9
12
  - 新增 eBay US 商品能力,使用当前 Accio workspace 授权完成类目候选查询、原格式素材定义生成、素材包离线预检及 Seller Hub 草稿创建与恢复;草稿结果不代表正式上架。
10
13
  - 新增 `overseas product categories/package`,支持 Amazon、Temu 和 TikTok 的类目查询与素材包定义 JSON 生成;类目证据文件携带 SHA-256,素材定义按当前授权店铺和平台规则生成,缺少输入时返回补充指引。
11
14
  - 新增 `overseas product publish`,读取 Excel、ZIP 或解压素材目录,支持离线预检、可信店铺绑定、素材上传、平台提交与结果核验。TikTok 仅创建并核验草稿,Temu 返回商品创建结果,Amazon 按模板执行创建、更新或 Feed 并核验商品状态;真实店铺发品与 PC 上传仍需联调验收。
12
- - CLI 仅加密保存账号 `access_token` 和 `expires_at`,按环境、账号、空间隔离,移除店铺凭据包、授权状态和连接版本的磁盘存储。当前接口仍需为新任务获取完整请求字段,同一 scope 保留内存复用与刷新。`ECOMCTL_CREDENTIAL_CACHE=auto|off` 默认 auto;PC 和业务适配器继续管理店铺授权。
15
+ - CLI 按环境、账号、空间隔离加密保存账号 token,并独立按连接缓存完整接口凭据及店铺、区域等字段,只补取当前选择范围缺失的连接。成功缓存最多 24 小时且早于 token 到期 5 分钟失效,普通负结果缓存 60 秒,命中不续期。`ECOMCTL_CREDENTIAL_CACHE=auto|off` 默认 auto;PC 和业务适配器继续管理店铺授权。
13
16
  - 补充本机 Gateway 地址的回归验证与配置说明:沿用 `ACCIO_LOCAL_GATEWAY_URL` 支持 4097、4098 和自定义本机端口,指定地址无效时不会回退到其他实例。
14
17
  - 新增京东 Excel 报表转换器和仓库内 `go run ./cmd/jdimport` 批处理入口,统一业务日期、SPU/SKU 商品标识和重复表头,输出逐文件导入报告;合法空报表保留处理结果但不生成事实数据。新增京东店铺商品概况数据源 `jd_store_jd_product_360`。
15
18
  - 新增供宿主接入的按平台文件转换注册与批量导入接口,先完成全批转换、校验和去重,再在同一事务提交事实、列定义与覆盖台账,失败时整批回滚。
@@ -37,11 +40,13 @@
37
40
 
38
41
  ### Changed
39
42
 
43
+ - 海外类目与素材定义默认使用中文,可指定 `en-US`;TikTok 查询关键词需与语言匹配。Amazon 素材定义将 `zh-CN` / `en-US` 映射为接口要求的 `zh_CN` / `en_US`,校验返回语言并保留模板的 `locale` / `uiLocale`。
44
+ - 多平台素材包的离线 `--dry-run --store-id` 按内嵌来源店铺唯一选择平台,缺失或歧义时要求补充 `--expected-platform`;来源信息仅用于选择预检范围,正式发布仍需核对当前授权。
40
45
  - Amazon 素材包定义移除 `config.amazon_scenario.identifierStrategy` 输入及对应 metadata,不再要求预先选择 GTIN 或 GTIN 豁免策略;商品标识与豁免字段按 Amazon 返回的 Schema 生成。调用方需删除旧参数。
41
46
  - 海外商品命令恢复使用 `--store-id` / JSON `store_id`;categories 使用 `--config-file` 和完整参数 `--input-json-file`,不接受 `--config` 或内联 `--input-json`,并恢复通过 `--output-file` 导出类目证据。package 恢复接收外部证据文件及 SHA-256、`amazon_scenario` 和嵌套 `temu` 配置。使用过 `0.0.6-rc.2` 接口的脚本需同步调整,详见 [海外商品命令对接说明](docs/海外商品命令对接说明.md)。
42
47
  - 海外商品 publish 自动识别 Excel 中的平台,并按当前授权店铺选择唯一发布目标;移除该命令的 `--platform` / JSON `platform` 输入,保留 Excel、ZIP、解压目录和 `--assets-root` 支持。混合包离线预检按平台分组报告,正式结果返回实际绑定的 `target`。categories/package 的平台参数保持不变。
43
48
  - 国内 `collection plan` 响应收敛为 `status` 与 `await_collect`,待采集项包含 `source_id`、`type`、`dsl_id`;状态改为 `COLLECTION_REQUIRED` / `NO_COLLECTION_REQUIRED`。升级自 `0.0.5-rc.2` 及更早版本的调用方需适配原 `source_ids`、`items` 和 `configuration_issues` 字段的移除。
44
- - Paged 每页与 Report 后续鉴权请求前获取当前凭据;明确过期时仅恢复一次安全的当前操作并保留分页位置或 reportId,结果未知的提交不自动重放,401/403/40005 仍按 unauthorized 处理。仅账号 access_token 及到期时间可进入 CLI 专用加密存储,业务 SQLite、日志、任务快照和导出继续禁止保存 token。
49
+ - Paged 每页与 Report 后续鉴权请求前获取当前凭据;明确过期时仅恢复一次安全的当前操作并保留分页位置或 reportId,结果未知的提交不自动重放,401/403/40005 仍按 unauthorized 处理。账号 token 与接口凭据使用各自的 CLI 专用加密缓存,业务 SQLite、日志、任务快照和导出继续禁止保存 token。
45
50
  - 海外采集命令从 `overseas download run/status/ready/retry` 统一更名为 `overseas collection run/status/ready/retry`,Schema ID 和返回的后续动作同步切换,不保留旧命令别名;调用脚本需同步更新。采集框架错误码从 `download_*` 更名为 `collection_*`;报表文件下载专属的 `report_download_failed` 保持原义。
46
51
  - 业务能力和业务存储按 `domestic`、`overseas`、`shared` 归拢,海外采集实现统一命名为 `collection`,后台执行、测试设施及生成工具同步更名;Bootstrap 分离国内和海外装配入口,并通过依赖门禁禁止业务域互相依赖。既有数据库路径、`download_*` 表名、初始化校验和及日志目录保持兼容。
47
52
  - 国内四张事实表改用共享列定义、逐行 `values_json` 和内容哈希存储,减少重复字段名及去重索引中的完整 JSON;查询按列定义还原业务字段,保持既有对外查询结构。直接读取 SQLite 事实表的使用方需适配新的 `source_schema_record`、`schema_id`、`values_json` 和 `content_hash`。
@@ -71,6 +76,11 @@
71
76
 
72
77
  ### Fixed
73
78
 
79
+ - TikTok 发品幂等键绑定稳定店铺身份,重新授权连接不会重复创建;恢复时已返回回执但尚未核验的旧请求,禁止以新请求内容再次提交,需先核对原结果。
80
+ - eBay 类目与素材定义命令保留取消原因,取消退出码恢复为 130;素材定义文件冲突沿用统一错误码和文件提交状态。
81
+ - 发布协调、限流和日志恢复归入 Host,商品标识、成功标准和更新规则归入 Capability;恢复 material 的纯业务依赖门禁,并统一凭据缓存与命令说明。
82
+ - 完善平台拒绝原因及字段、单元格定位,提交前校验 TikTok EPR 资格;修复 Amazon WebP 与图片自然排序、Temu 上传尺寸和 PC 图片限制的处理。
83
+ - 修复多连接凭据候选与区域隔离,保留 Ads 已拒绝凭据记录,避免空刷新或其他连接的结果重新放行旧凭据。
74
84
  - 恢复海外商品 publish 直接读取 Excel、ZIP 和解压素材目录,并保留 `--assets-root`;平台与目标店铺按工作簿内容和当前授权唯一匹配,避免把多平台素材提交到错误目标。
75
85
  - 海外商品请求在当前账号、空间和授权店铺范围内绑定目标,每次平台调用前复核身份;发布记录校验素材摘要并保留结果未知的提交,避免超时或重试造成重复发品。
76
86
  - 对齐 Amazon Feed/更新、Temu 属性与销售规格、TikTok 媒体素材及平台响应校验;类目和素材定义响应同步当前 Schema,并返回实际生成文件的路径、字节数和 SHA-256。
package/checksums.json CHANGED
@@ -1,35 +1,35 @@
1
1
  {
2
- "version": "0.0.6-rc.4",
2
+ "version": "0.0.7-rc.1",
3
3
  "binaries": {
4
4
  "darwin-arm64": {
5
5
  "package": "@accio-ai/ecommerce-cli-darwin-arm64",
6
6
  "file": "ecomctl",
7
- "sha256": "359f771df45348d36282963ade70bdb8bef6ed4e2e1f5b16208ce6c186107915"
7
+ "sha256": "84ec66c47e5e37a6a5003140d3ec4529522469abdaeb04be677f7c7eaa99521a"
8
8
  },
9
9
  "darwin-x64": {
10
10
  "package": "@accio-ai/ecommerce-cli-darwin-x64",
11
11
  "file": "ecomctl",
12
- "sha256": "dfa04666e2bfedbe8e5d27b1d5360721a146a95ba4cac968c9dfd6353a5ab05e"
12
+ "sha256": "4110243c08c36bc670911e195b8b492ecc6871676319047cce5f2d7bf252b05d"
13
13
  },
14
14
  "linux-arm64": {
15
15
  "package": "@accio-ai/ecommerce-cli-linux-arm64",
16
16
  "file": "ecomctl",
17
- "sha256": "19889ad45ca52f5731147844f2266952ce51d0342772676170e80bffe33159d7"
17
+ "sha256": "cf5dac3b18215a0db0849761e62ee1529ab36516babbd67d714a2e135459929a"
18
18
  },
19
19
  "linux-x64": {
20
20
  "package": "@accio-ai/ecommerce-cli-linux-x64",
21
21
  "file": "ecomctl",
22
- "sha256": "623604582446c223582a68d8387d0cc36f1c49361caaa9d57418592e3b8de6f7"
22
+ "sha256": "48a8e1f43e5562ea063dd769143d86d351699c8f2811770201ec78403dde5137"
23
23
  },
24
24
  "win32-arm64": {
25
25
  "package": "@accio-ai/ecommerce-cli-win32-arm64",
26
26
  "file": "ecomctl.exe",
27
- "sha256": "3b621fb01cca93b0c21d94c8004bb6874ac1211fa74791a5444c24fa922cfbdd"
27
+ "sha256": "3179abdbd9dde567b7bdc5a7be2019fa22672293de1b67b2857dd39fcd8d7581"
28
28
  },
29
29
  "win32-x64": {
30
30
  "package": "@accio-ai/ecommerce-cli-win32-x64",
31
31
  "file": "ecomctl.exe",
32
- "sha256": "94c8499bcba07e5a1559a1c4f7a171cd14b52351f0a7591261e2ddbd55bc3677"
32
+ "sha256": "8b07ef4553b29d2eda2b12a301cc1ec516f99e249a56ffec04577883210b6086"
33
33
  }
34
34
  }
35
35
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@accio-ai/ecommerce-cli",
3
- "version": "0.0.6-rc.4",
3
+ "version": "0.0.7-rc.1",
4
4
  "description": "Local, statically compiled ecommerce automation toolkit",
5
5
  "license": "UNLICENSED",
6
6
  "repository": {
@@ -18,12 +18,12 @@
18
18
  "postinstall": "node postinstall.cjs"
19
19
  },
20
20
  "optionalDependencies": {
21
- "@accio-ai/ecommerce-cli-darwin-arm64": "0.0.6-rc.4",
22
- "@accio-ai/ecommerce-cli-darwin-x64": "0.0.6-rc.4",
23
- "@accio-ai/ecommerce-cli-linux-arm64": "0.0.6-rc.4",
24
- "@accio-ai/ecommerce-cli-linux-x64": "0.0.6-rc.4",
25
- "@accio-ai/ecommerce-cli-win32-arm64": "0.0.6-rc.4",
26
- "@accio-ai/ecommerce-cli-win32-x64": "0.0.6-rc.4"
21
+ "@accio-ai/ecommerce-cli-darwin-arm64": "0.0.7-rc.1",
22
+ "@accio-ai/ecommerce-cli-darwin-x64": "0.0.7-rc.1",
23
+ "@accio-ai/ecommerce-cli-linux-arm64": "0.0.7-rc.1",
24
+ "@accio-ai/ecommerce-cli-linux-x64": "0.0.7-rc.1",
25
+ "@accio-ai/ecommerce-cli-win32-arm64": "0.0.7-rc.1",
26
+ "@accio-ai/ecommerce-cli-win32-x64": "0.0.7-rc.1"
27
27
  },
28
28
  "files": [
29
29
  "bin",