> For AI agents: the complete documentation index is available at /blog/llms.txt, the full documentation bundle is available at /blog/llms-full.txt.

# Noon 上架报错怎么解决？接口、报价、内容三层对照

<p style="color:var(--rp-c-text-3);font-size:14px;margin:-12px 0 28px">骆驼掌柜 · 2026 年 10 月 27 日 · 约 19 分钟</p>

## 上架失败先分层

上架失败以后，改起来不慢，慢的是不知道该改哪里。同一个商品提交失败，可能卡在接口，可能卡在报价，也可能卡在内容审核，三处的报错长相差得远。

分不清在哪一层，就会照着错的办法改一遍，改完还是同一个报错。

三层分别是：

- 接口层：调 Noon 接口时直接返回的错，带 HTTP 状态码，出现在提交、改价、改库存、建变体的时候。
- 报价层：Noon 后台点 View Issues 才看得到的 offer_issues，接口返回里没有。
- 内容层：Content QC 那套子问题，决定内容这关能不能过。

接口层的错当场就能看到。报价层和内容层往往提交「成功」之后才在后台浮现。所以排查从接口层往回推，先确认提交这一下到底成没成。

| 层   | 在哪看报错          | 典型表现                                         | 是否阻断提交      |
| --- | -------------- | -------------------------------------------- | ----------- |
| 接口层 | 接口返回 / 调用日志    | partner_sku not valid、401、403、404            | 是，请求直接失败    |
| 报价层 | 后台 View Issues | Content Issues、No Offer Created、Stock Issues | 否，商品进 DRAFT |
| 内容层 | Content QC 面板  | incorrect_categorization、invalid_image       | 否，内容状态不达标   |

## 接口层报错

接口层报错是 Noon 接口直接返回的，带 HTTP 状态码。下面九条原文照抄，不要改英文，拿去对号：

```
1. partner_sku PSKU_596205_76522361106708446902_X not valid
2. nsku_child Z352C03B373A893BBA1FAFZ is invalid
3. HTTP 401：{"error":"UnAuthenticated"}
4. HTTP 403：{"status_id":7,"code":"PERMISSION_DENIED","message":"you don't have access over this project"}
5. HTTP 404：{"status_id":5,"code":"NOT_FOUND","message":"Not Found"}
6. HTTP 400：{"error":"invalid (deleted or belong to another partner) psku codes {...}"}
7. brand `test` is not valid
8. product_subtype `` is not valid
9. 保修修改失败：全球（NGS）模式仅支持设置为「无保修」，请改为无保修后重试
```

第 8 条在提交空字符串时也会报。

每条报错的成因和处理动作：

| 报错要点                  | 成因              | 处理动作             |
| --------------------- | --------------- | ---------------- |
| partner_sku not valid | 编号含非法字符，或跨店铺用错  | 统一纯字母数字编号，确认归属账号 |
| nsku_child invalid    | 父体未建好就建子体，或编号非法 | 先建稳父体，再建子体       |
| HTTP 401              | token 过期，没登录    | 重新授权             |
| HTTP 403              | 登录了但没权限，或被限频    | 看有无 JSON 体分辨     |
| HTTP 404              | 接口路径或 ID 类型不对   | 核对父体/子体 ID 类型    |
| HTTP 400              | psku 已删或不属于本账号  | 换编号或确认账号         |
| brand 字段              | 品牌名不在 Noon 品牌库  | 注册品牌或换已存在品牌名     |
| product_subtype 字段    | 字段传空字符串         | 显式传合法值，不能留空      |
| NGS 保修模式              | 只支持「无保修」        | 改为无保修后重试         |

### 两个高频编号报错

`partner_sku` 和 `nsku_child` 出现频率最高，占了接口报错的大头。成因有三类：编号里混了非法字符（中文、空格、斜杠、括号都算），变体父体还没建好就先建子体，跨店铺拿错了编号。

把 SKU 生成规则统一成纯字母数字，能挡掉大部分。变体先建父体，等接口返回成功、后台查得到，再去建子体。顺序反了必报 `nsku_child invalid`。

### 401 与 403 的差别

401 是没登录，token 过期了，重新授权就解决。403 是登录了但没权限，麻烦一些。

403 还有一种情况容易误判：请求频率过高被平台拦下来。特征是返回里没有 JSON 错误体，或者干脆返回一段 HTML。这种重新授权没用，等 10 到 15 分钟自己恢复，硬重试只会延长封锁。

遇到 403，先看返回里有没有 `PERMISSION_DENIED` 这类 JSON 体。有就是权限问题，去查这个 project 的授权；没有就是限频，放下手等一会儿。

### 404 与 400 的真因

404 在 Noon 接口里通常跟商品无关。多数是接口路径写错，或者参数里的 ID 类型不对，比如该传子体 ID 的地方传了父体 ID。核对接口文档里每个参数要的 ID 类型，比怀疑商品丢了有用。

400 那条 `invalid (deleted or belong to another partner) psku codes`，意思是这个 psku 已经删过，或者不属于当前 partner 账号。换编号，或者确认调接口用的账号确实拥有这个 psku。

### 品牌与类目字段

```
brand `test` is not valid
```

一般是品牌名不在 Noon 品牌库里。去[品牌注册怎么操作](https://noonmate.com/docs/brand-registration.html)把品牌加进库，或者换成库里已有的品牌名。品牌名的大小写和空格也要跟库里一致，差一个字符就报无效。

```
product_subtype `` is not valid
```

上面这个坑在于，你提交空字符串它也会报。字段不能留空，得显式传一个合法值。空字符串在日志里看不出异常，排查时要专门去翻请求体，确认这个字段有没有值。

## 报价层报错

这一层不在接口返回里。要在 Noon 后台点 View Issues 才看得到，官方叫 offer_issues。查的时候按英文名对，拿中文去搜是搜不到东西的。

| 后台英文显示                                | 内部 key                    | 中文      | 官方说明原文 / 真实含义                                                                                                                                                    |
| ------------------------------------- | ------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Content Issues                        | product_active            | 内容问题    | 商品文案/图片/属性不达标，平台没放行                                                                                                                                              |
| No Offer Created                      | no_offer                  | 未生成报价   | "To generate your offer, please ensure you have added price and product content."                                                                                |
| Stock Issues                          | stock_issues              | 库存未入库   | "You have not inbounded any stock." 该站点没有可售库存                                                                                                                    |
| （部分通道）                                | stock_check               | 库存待确认   | 库存数据还在同步，通常自动消失，与「未入库」不是同一件事                                                                                                                                     |
| Offer Gated                           | offer_gated               | 类目/品牌受限 | "You are currently not eligible to list this product as it belongs to a gated category or brand. Please submit an approval request with the required documents." |
| Product Banned in Country             | valid_product_country     | 该国禁售    | "You cannot sell this product in \<目的国>."                                                                                                                        |
| Unable to list for International Sale | xborder_markup_within_cap | 不支持跨境销售 | "This item is not eligible for international sale at this time due to fulfilment and cost constraints."                                                          |

### 库存未入库和待确认

`stock_issues`（库存未入库）和 `stock_check`（库存待确认）名字像，处理动作完全相反。

`stock_issues` 是这个站点没有可售库存，要补货、要入仓。库存不补，报价一直不活。`stock_check` 只是库存数据还在同步，过一会儿自己消失，不用动。

拿不准就看后台标的是哪个 key。见到 Stock 就补货，补了也救不回 `stock_check`。

### 未生成报价查内容

`no_offer` 的官方说明写得很清楚：价格和商品内容缺一个，报价都不生成。

所以遇到「未生成报价」，先核对图片和必填属性过没过内容关。很多人卡在这里反复调价格，根子却在内容层某张图没传成功。内容不过，报价不会生成。

### 类目受限与跨境拦截

`offer_gated` 是类目或品牌受限，要提交资质才能解，比如品牌授权书、类目证书。

`valid_product_country` 和 `xborder_markup_within_cap` 是目的国和跨境维度的判定。本土店照样会撞，一个本土沙特店想卖到阿联酋，也会被这两个码拦。

这两类码有个共同的麻烦：开放接口取不全，只有 Noon 后台弹窗能看到完整信息。用工具同步状态的，可能显示「无问题」，实际后台早拦了。碰到这两类，以 Noon 后台为准，别信工具的绿灯。

## 内容层报错

内容层是 Content QC 那套检查，一共有八个子问题，对应后台弹的 code：

| code                     | 中文    | 说明                                                                                |
| ------------------------ | ----- | --------------------------------------------------------------------------------- |
| incorrect_categorization | 类目不正确 | 报错里会带 "A more appropriate subtype like 'yyy' is available."，按它给的建议改               |
| invalid_image            | 图片不合格 | 尺寸、背景、水印等不符合规范                                                                    |
| missing_image            | 缺主图   | 第 1 张为空或传失败                                                                       |
| invalid_title            | 标题不合规 | 含禁用词、格式不对、堆砌                                                                      |
| invalid_description      | 描述不合规 | 长度、格式或内容违规                                                                        |
| brand_violation          | 品牌违规  | 品牌信息冲突或侵权                                                                         |
| invalid_attribute        | 属性不合规 | 必填项缺失或格式不对                                                                        |
| brand_mismatch           | 品牌不匹配 | 官方原文：Inferred brand XXX is a protected brand and should not be listed as generic. |

### 类目不正确的处理

`incorrect_categorization` 的报错会直接告诉你更合适的子类，原文是 "A more appropriate subtype like 'yyy' is available." 按它给的建议改，比自己猜快。

类目错会导致整条内容过不了 QC，后面的报价层也不生成。改完要等一轮 QC 重跑，再回来看结果。

### 标题与图片的合规

`invalid_title` 和 `invalid_image` 是高频项。标题哪些词会被驳回，看[标题规范与驳回原因](https://noonmate.com/docs/title-requirements-and-rejection-reasons-for-the-seller-sku.html)。图片的尺寸、背景、被拒情形，看[图片规范与常见被拒原因](https://noonmate.com/docs/image-requirements-and-rejection-reasons-for-the-seller-sku.html)。

`missing_image` 一般是主图（第 1 张）传失败或为空，不是所有图都没传。专门去查第一张的上传状态。

### 品牌不匹配要重点防

`brand_mismatch` 最容易被忽略。Noon 会用品牌库比对标题、图片、型号里的品牌信息。卖的是别人的东西，哪怕你没写授权，也会被识别出来。官方原文：Inferred brand XXX is a protected brand and should not be listed as generic.

从 1688 采集商品时，供应商标题里常带「适用 XXX」「兼容 XXX」，这些词直接触发判定。采集完先用脚本清掉再提交。

`brand_violation` 和 `brand_mismatch` 是两件事。前者是品牌信息本身冲突或侵权，后者是系统推断你挂了受保护品牌却标成 generic。处理的时候别混。

## 识别假成功

假成功是 Noon 上架里最坑的一种情况。真实提示原文：

`内容父体 ZDFF6266B7514717EC9EZ 在 noon 侧不存在，本次上架属于「假成功」，需要重新提交内容`

你这边提交显示成功，本地记录也写了已上架，Noon 侧却查不到这个内容父体。改价、改库存、删商品，后面每个动作都会失败，因为对端没有这个东西。相关的报错是：

`在 Noon 已上架列表中查不到该商品（可能尚未真正上架，或店铺不匹配），无法删除`

原因是提交接口返回了成功状态，但后台创建内容父体是异步的。中间某个环节掉了，你拿到的就是个假信号。

所以本地记录「已上架」不算数。去 Noon 后台搜商品编号，搜得到才算真上架。搜不到就重新提交内容，重提之前先把那条脏数据清掉，不然会重复创建。

假成功最耽误事的地方在于，你以为已经上架，开始投广告等单，单子一直不来。新上架的商品，提交完去后台搜一遍。

## DRAFT 不是草稿

Noon 后台商品状态里的 `DRAFT`，很多人以为是「自己还没编辑完」。它的实际含义是「平台没放行，买家买不到」，跟卖家编辑完没编辑完没关系。

这个误判会让人一直补内容，问题却不在内容上。

后台状态为 DRAFT 的商品 55 条，55 条全部带 offer_issues 问题清单；其中 40 条卖家侧的销售开关（seller_status）已经激活。卖家这边开了，平台那边没过。

看到 DRAFT 别去补内容，先去报价层和接口层查平台为什么没放行。DRAFT 是结果，原因在 offer_issues 和 Content QC 里。

## 审核通过不等于能卖

内容状态（overall status 里的 ACTIVE / INACTIVE）只说明内容这一关过了，文案、图片、属性达标。能不能上架还看库存、价格、销售资格。

所以会出现内容全绿、商品却不在售的情况。这时候反复改文案没用，去查报价层的 offer_issues。

[内容质量怎么算合格](https://noonmate.com/docs/seller-sku-content-quality.html)讲的是前面那一关，报价层的事还得回到本篇去看。把内容状态当成放行凭证，是新手最容易栽的坑。

## 排查顺序

上架失败了按这七步走，从「提交有没有成功」开始，到「403 是权限还是限频」结束。

| 步骤                 | 查什么                     | 动作                     |
| ------------------ | ----------------------- | ---------------------- |
| 1 提交有没有成功          | 后台搜商品编号                 | 搜不到就是假成功，重新提交内容        |
| 2 内容父体状态           | DRAFT 还是真上架             | DRAFT 说明平台没放行          |
| 3 内容层 Content QC   | 八个子问题有无红的               | 类目、标题、图片、品牌先过          |
| 4 报价层 offer_issues | 点 View Issues           | 看库存、价格、类目受限、跨境         |
| 5 库存与价格            | stock_issues / no_offer | 补货或补齐价格和内容             |
| 6 销售资格与限制          | offer_gated / 禁售 / 跨境   | 提资质或以后台为准              |
| 7 403 是权限还是限频      | 有无 JSON 错误体             | 有是权限问题，无则是限频等 10-15 分钟 |

第一步先确认提交成没成。后面所有层的问题，都建立在「提交成功了」这个前提上。第一步就发现假成功的，后面六步都不用走，直接重提内容。

第七步的 403 最容易被误处理。没有 JSON 体就是限频，重新授权解决不了，只能等。

## 几个具体的情形

下面六种情形，每种直接给动作。

| 情形                      | 现象                    | 直接动作                  |
| ----------------------- | --------------------- | --------------------- |
| 采集商品批量失败                | brand_mismatch 集中出现   | 批量清掉「适用/兼容 XXX」再提交    |
| 变体全报 nsku_child invalid | 父体未建好或编号非法            | 先建父体，统一纯字母数字编号        |
| 改价删品提示查不到               | 假成功后遗症                | 后台搜编号，搜不到重提内容         |
| 内容全绿不在售                 | 报价层拦了                 | 查 offer_issues，不反复改文案 |
| 跨境商品本土被禁                | valid_product_country | 以 Noon 后台弹窗为准         |
| 工具绿灯后台有拦                | 接口取不全                 | 销售资格类一律信后台            |

**从 1688 采集来的商品批量失败**
供应商标题里的「适用 XXX」会触发品牌库比对。清词要用脚本扫标题字段，人工挑会漏，漏掉的那几个还会继续报同一个错。

**变体全部报 nsku_child invalid**
父体要在 Noon 后台查得到，再去建子体。接口返回成功不代表父体已经落地，顺序反了会一直报这个错。

**改价提示失败、删商品提示查不到**
假成功的后遗症，内容父体在 Noon 侧不存在。重提之前先清掉那条脏数据，不然会重复创建，越理越乱。

**内容状态全绿但商品不在售**
大概率是库存或价格没齐。改文案对这种情况无效。

**跨境店商品在本土被禁售或提示不支持跨境**
目的国维度的判定，本土店也会撞。它算的是目的国能不能卖、履约成本划不划算，跟店铺类型无关。

**工具显示无问题、后台却有拦截**
开放接口取不全，类目受限和跨境拦截这两类最容易漏。跟销售资格相关的判定，以后台为准。

## 区分官方码和工具码

不同服务商会给自己的失败码起名字，比如 `MULTI_GROUP_PARTIAL`、`OFFER_PARTIAL`、`MAP_FAILED`。这些不是 Noon 的官方错误码，拿去搜官方文档、问客服都得不到答案，它们只存在于那家服务商的代码里。

| 对比项     | Noon 官方码                                                    | 服务商工具码                                             |
| ------- | ----------------------------------------------------------- | -------------------------------------------------- |
| 来源      | Noon 接口返回，或后台 View Issues                                   | 第三方服务商自己起的名                                        |
| 形态      | 带 HTTP 状态码 + JSON 里的 code 字段                                | 一串大写单词，没有状态码                                       |
| 例子      | `PERMISSION_DENIED`、`NOT_FOUND`、`product_active`、`no_offer` | `MULTI_GROUP_PARTIAL`、`OFFER_PARTIAL`、`MAP_FAILED` |
| 能不能搜到解释 | 能，官方文档有对应说明                                                 | 搜不到，只在自家代码里存在                                      |
| 怎么用     | 当结论，直接按它定位                                                  | 只能当线索，不能当结论                                        |

查问题从 Noon 的原始返回查起。把工具码当官方码去搜，浪费的是自己的时间，还容易把问题判到错的层。

上架被拦住的时候，先把报错原文完整复制下来，照着上面的层去定位。在三个层之间乱试，费的时间更多。

更多上架相关的共性问题，看[商品上架常见问题 FAQ](https://noonmate.com/docs/listing-products-on-noon-faq.html)。涉及跨境的资质和限制，看[跨境销售常见问题](https://noonmate.com/docs/cross-border-selling-faq.html)。

<div style="display:flex;gap:24px;margin-top:56px;padding-top:24px;border-top:1px solid var(--rp-c-divider-light)"><a href="/blog/is-noon-worth-selling-2026.html" style="flex:1;min-width:0;text-decoration:none;color:inherit;text-align:left"><span style="display:block;font-size:13px;color:var(--rp-c-text-3);margin-bottom:6px">← 上一篇</span><span style="font-weight:600;line-height:1.5">Noon 平台好做吗？门槛、成本结构和什么情况下别进</span></a><a href="/blog/noon-cross-border-status-2026.html" style="flex:1;min-width:0;text-decoration:none;color:inherit;text-align:right"><span style="display:block;font-size:13px;color:var(--rp-c-text-3);margin-bottom:6px">下一篇 →</span><span style="font-weight:600;line-height:1.5">Noon 跨境电商怎么样？2026 还有机会吗、缝隙在哪</span></a></div>
