Noon 上架报错怎么解决?接口、报价、内容三层对照
骆驼掌柜 · 2026 年 10 月 27 日 · 约 19 分钟
上架失败先分层
上架失败以后,改起来不慢,慢的是不知道该改哪里。同一个商品提交失败,可能卡在接口,可能卡在报价,也可能卡在内容审核,三处的报错长相差得远。
分不清在哪一层,就会照着错的办法改一遍,改完还是同一个报错。
三层分别是:
- 接口层:调 Noon 接口时直接返回的错,带 HTTP 状态码,出现在提交、改价、改库存、建变体的时候。
- 报价层:Noon 后台点 View Issues 才看得到的 offer_issues,接口返回里没有。
- 内容层:Content QC 那套子问题,决定内容这关能不能过。
接口层的错当场就能看到。报价层和内容层往往提交「成功」之后才在后台浮现。所以排查从接口层往回推,先确认提交这一下到底成没成。
接口层报错
接口层报错是 Noon 接口直接返回的,带 HTTP 状态码。下面九条原文照抄,不要改英文,拿去对号:
第 8 条在提交空字符串时也会报。
每条报错的成因和处理动作:
两个高频编号报错
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。
品牌与类目字段
一般是品牌名不在 Noon 品牌库里。去品牌注册怎么操作把品牌加进库,或者换成库里已有的品牌名。品牌名的大小写和空格也要跟库里一致,差一个字符就报无效。
上面这个坑在于,你提交空字符串它也会报。字段不能留空,得显式传一个合法值。空字符串在日志里看不出异常,排查时要专门去翻请求体,确认这个字段有没有值。
报价层报错
这一层不在接口返回里。要在 Noon 后台点 View Issues 才看得到,官方叫 offer_issues。查的时候按英文名对,拿中文去搜是搜不到东西的。
库存未入库和待确认
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:
类目不正确的处理
incorrect_categorization 的报错会直接告诉你更合适的子类,原文是 "A more appropriate subtype like 'yyy' is available." 按它给的建议改,比自己猜快。
类目错会导致整条内容过不了 QC,后面的报价层也不生成。改完要等一轮 QC 重跑,再回来看结果。
标题与图片的合规
invalid_title 和 invalid_image 是高频项。标题哪些词会被驳回,看标题规范与驳回原因。图片的尺寸、背景、被拒情形,看图片规范与常见被拒原因。
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。
内容质量怎么算合格讲的是前面那一关,报价层的事还得回到本篇去看。把内容状态当成放行凭证,是新手最容易栽的坑。
排查顺序
上架失败了按这七步走,从「提交有没有成功」开始,到「403 是权限还是限频」结束。
第一步先确认提交成没成。后面所有层的问题,都建立在「提交成功了」这个前提上。第一步就发现假成功的,后面六步都不用走,直接重提内容。
第七步的 403 最容易被误处理。没有 JSON 体就是限频,重新授权解决不了,只能等。
几个具体的情形
下面六种情形,每种直接给动作。
从 1688 采集来的商品批量失败 供应商标题里的「适用 XXX」会触发品牌库比对。清词要用脚本扫标题字段,人工挑会漏,漏掉的那几个还会继续报同一个错。
变体全部报 nsku_child invalid 父体要在 Noon 后台查得到,再去建子体。接口返回成功不代表父体已经落地,顺序反了会一直报这个错。
改价提示失败、删商品提示查不到 假成功的后遗症,内容父体在 Noon 侧不存在。重提之前先清掉那条脏数据,不然会重复创建,越理越乱。
内容状态全绿但商品不在售 大概率是库存或价格没齐。改文案对这种情况无效。
跨境店商品在本土被禁售或提示不支持跨境 目的国维度的判定,本土店也会撞。它算的是目的国能不能卖、履约成本划不划算,跟店铺类型无关。
工具显示无问题、后台却有拦截 开放接口取不全,类目受限和跨境拦截这两类最容易漏。跟销售资格相关的判定,以后台为准。
区分官方码和工具码
不同服务商会给自己的失败码起名字,比如 MULTI_GROUP_PARTIAL、OFFER_PARTIAL、MAP_FAILED。这些不是 Noon 的官方错误码,拿去搜官方文档、问客服都得不到答案,它们只存在于那家服务商的代码里。
查问题从 Noon 的原始返回查起。把工具码当官方码去搜,浪费的是自己的时间,还容易把问题判到错的层。
上架被拦住的时候,先把报错原文完整复制下来,照着上面的层去定位。在三个层之间乱试,费的时间更多。
更多上架相关的共性问题,看商品上架常见问题 FAQ。涉及跨境的资质和限制,看跨境销售常见问题。
