Skip to content

复制商品 ​

「复制商品」是 Nomu 帮你在 Noon 平台内做批量搬运的能力:从一个已上架的源商品(按 PartnerSku 定位)拉一份完整快照,在当前店铺下重建一份新的可上架草稿,复用其类目、品牌、属性、图片,省掉从头填一遍的功夫。

适用场景:同款商品要在 UAE / Saudi 双站都上、要把一个老 partnerCode 下的爆款搬到新 partnerCode、或者店铺之间迁品。

入口 ​

复制入口在 noon-catalog 卖家目录页:

  • 操作菜单(Action Sheet)里点「复制商品」打开 DuplicateProductDialog
  • 也可单商品抽屉里直接对单个商品走复制

弹窗挂在 UI 顶层,独立于主上架流程;选择目标设备后即开始组装任务。

输入:源商品定位 ​

每行复制需要三个核心字段:

字段含义
源 PSKU(sourcePsku)复制来源的 Noon PSKU 编码
目标 PartnerSku(targetPartnerSku)新商品在你的店铺里的 Partner SKU
Barcode可选,复制后的新商品条码

品牌可自定义(brand 字段,留空 = 跟随源商品品牌)。门店、仓库、库存、促销字段不再单条填——统一从店铺配置读取(店铺管理),改店铺等于改全局。

跨设备复制 ​

复制目标不止本机。弹窗顶部列出本账号下所有已登录设备(本机在首项,另有「在线 / 离线」角标与最近活跃时间),选中哪台就在哪台落地:

  • 选本机:复制在本机完成,直接进入本机上架队列,不推送任何数据。
  • 选其它设备:本机只把源商品的快照推送给对方,本机不落库;由对方设备接收后,在它当前激活的店铺下重建草稿并进入上架队列。对方在线即时接收,离线则等它下次上线自动接收。

跨设备复制依赖多设备同步总线,两端都需登录同一账号并保持扩展在线。推送采用幂等收敛:同一「源 SKU + 目标 PartnerSku」已有进行中或已入队任务时直接复用,不会重复入队。

库存不会跟随快照跨设备传递——发送方的库存对接收方无意义,接收端置为待补填,请在目标设备的任务面板里按需填写。

单件 vs 批量 ​

单件复制适合临时搬运一两个款;批量复制适合店铺初始化 / 跨店铺迁品。

批量模式下可直接粘贴 Excel / CSV 内容——粘贴区自动识别源 PSKU、目标 Partner SKU、Barcode 三列(按列头或列序识别),识别到多少条一目了然。识别失败时给出明确提示,未识别行不混入任务。

行表内每行可独立编辑:

  • 手动改源 PSKU / 目标 Partner SKU / Barcode
  • 一键生成 Barcode(生成条形码 按钮,按店铺国家 + 序号的格式生成)
  • 删除单行

「发起复制」按钮在所有行合法时启用;按下后逐行入队,入队进度按行回显,关闭弹窗不影响入队。

任务跟踪 ​

复制任务有独立状态机:pending → enqueued / cancelled / failed。

  • pending —— 在表里等待后台驱动器
  • enqueued —— 终态,对应 publishTask 已入队,后续看 publishTask 的步骤进度
  • cancelled —— 主动取消(按行可单独取消)
  • failed —— 复制前置失败;可能是源 PSKU 找不到、merchant 接口报错等

入队后批量任务在 任务面板 的「复制任务」视图里集中查看,提供:

  • 一键清空已完成的复制任务
  • 失败行单独重试
  • 取消在跑任务

复制后能改什么 ​

复制只把源商品的「可继承」部分(类目、品牌、属性、图片、介绍等)拷过来,目标 PartnerSku / Barcode / 库存 / 仓库 / 保修按当前店铺配置写入。复制完成进 publishTask 步骤表后,所有常规上架前的编辑(快速上手 提到的字段确认)都能改。

与归组 / 尺寸变体组的关系 ​

复制出来的是单商品(taskKind: 'single')。如果想把它和别的商品归到一组 / 挂到尺寸变体组下,去上架抽屉里走对应的归组或尺寸变体组流程——归组与尺寸变体组。

常见问题 ​

复制会覆盖已有商品吗? ​

会。复制时如果目标 PartnerSku 在当前店铺下已存在,会按 upsert 语义刷新;不想覆盖请换一个目标 PartnerSku。

类目 / 品牌能复用吗? ​

类目与品牌跟随源商品;如需自定义品牌,批量表格里给行写 brand 字段,留空 = 跟随源。

复制时改类目或品牌后还会跟随源吗? ​

会——brand 留空就走源;显式写了就以本行为准。

复制完看不到商品? ​

去 任务面板 复制视图看任务是否失败 / 已入队;enqueued 后等 publishTask 跑完即可。