选品建listing 复用配方(2026-09-30):速卖通 4/4 进待发布配方 + Shopee 授权异常现状 + 前置店铺自检/图片门槛

- 速卖通建品/RECIPE-2026-09-30.md:必填项(货值/物流属性/包装后尺寸整数/关税)、重量命中「重量(kg)」、CKEditor、图片≥400px、回读口径
- shopee建品/RECIPE-2026-09-30.md + README-授权状态:页面事实 + 无授权店铺的证据链与解锁步骤(历史 47 条证明是授权异常而非未授权)
- README:新增「可复用配方」节,指向技能 atomk-hermes-skills/dianxiaomi-multiplatform-push 与 product-pool-ops/listing-spec
This commit is contained in:
agent committed 2026-09-30 16:25:51 +08:00
1 parent e6048d50cc
commit b54e9063f1
4 files changed
+218

No files matched your search

+51
View File
@@ -0,0 +1,51 @@
# Shopee(全球)「选品建listing」现状:**卡在店铺授权,脚本已就绪**
> 2026-09-30 实测结论:`/web/shopeeGlobal/add` 的「商家账号」下拉是 **「暂无数据」** ——
> 店小秘账号下**没有 Shopee 授权店铺**。没有店铺 → 类目树打不开(类目随站点)、保存必失败。
> 因此**本轮 Shopee 0 条**,不是脚本问题,是账号/授权问题。
> 脚本 `platform-shopee/spbatch.mjs` 已写好并在预检处**硬拦**(无店铺直接跳过、不产生垃圾数据)。
## 1. 已探明的页面事实(可直接复用)
| 项 | 值 |
|---|---|
| 路由 | `/web/shopeeGlobal/add`(标题「店小秘--添加Shopee全球产品」) |
| 保存接口 | `POST /api/shopeeGlobalProduct/add.json` |
| 站点限价 | `POST /api/shopeeCategory/getLimitBySite.json`、`/api/shopeeCategory/getPriceLimit.json` |
| 字段 | 商家账号 / **上架后自动发布到店铺(checkbox)** / 产品分类 / 产品属性 / 店小秘分类 / 来源URL / **类型(radio)** / ParentSKU / 产品标题 / 产品描述 / 产品图片 / 产品视频 / 货源价格→价格 / 库存 / 最低购买数量 / 最高购买数量 / 重量 / 尺寸规格(长宽高) / 产品保存状况(全新) / 是否预购(否) |
| 类型 radio | `input[type=radio][value=single]` = **单品**,`value=mutiple` = 多变种(**默认 mutiple**) |
| 图片模块 | `.shopee-global-product-image-module`(头是 `<header class="product-image-header">`,不是 `.header`) |
| 描述 | `textarea.product-desc-textarea`(placeholder「请输入产品描述」,上限 5000) |
| 列表字段 | `itemName` **不是** title |
## 2. 三条必须在代码里守住的规则
1. **「上架后自动发布到店铺」是 checkbox,必须不勾**:
`section.send-site label.ant-checkbox-wrapper input[type=checkbox]`。
勾上 = 保存后直接发布,违反第一原则(目标只到待发布)。→ `ensureCheckboxOff(c, /自动发布|自动上架/)`。
2. **类型切「单品」**(`setRadioByText(c,'单品','single')`)绕开变种表:多变种模式下价格/库存只能按变种填。
切完等 2.5–3s 让表格重渲染,价格/库存/最低最高购买数量/重量/尺寸规格 才出现在单品表单里。
3. **尺寸规格是整数 cm**:输入 `27.5` 会被吃成 `27`(不是四舍五入)。脚本里 `Math.round` 后再填。
## 3. 解除阻塞需要做的事
1. 让主账号在店小秘「平台授权」里完成 Shopee 店铺授权(子账号 `ejetZhangjiafen` 打开
`/web/system/authorization/platform?go=shopee` 只会看到「没有该功能访问权限」→ 必须主账号操作)。
2. 授权后跑预检确认下拉有店:
```bash
node listing-spec/platform-shared/preflight-shops.mjs --routes /web/shopeeGlobal/add
```
3. 有店之后再跑:
```bash
python3 listing-spec/platform-shared/build-add-input.py <package>.json --platform Shopee-全球 --out /tmp/sp_input.json --min-side 400
node listing-spec/platform-smt/../platform-shopee/spbatch.mjs --input /tmp/sp_input.json --only <oid> --dry
node listing-spec/platform-shopee/spbatch.mjs --input /tmp/sp_input.json --only <oid>
```
(回读:`POST /api/shopeeGlobalProduct/pageList.json`,待发布口径同速卖通 `dxmState=offline&dxmOfflineState=waitPublish`;
注意 Shopee 图片门槛 **单边 ≥400、主图建议 ≥800**,以及「附图最多9张」+ 主图 = 10。)
## 4. 同类风险平台
同一轮预检里 **Mercado / Shopify / Amazon 路由也拿不到店铺下拉**(`no-dropdown` / 无该字段),
**TikTok 有 10 家店、速卖通有 10 家店**。→ **每轮批量前先跑 `preflight-shops.mjs`**,
不要等到填完一屏才在保存时发现没有店铺。预检结果落 `/tmp/shop-preflight.json`。