SP-API 错误常见问题
有关 SP-API 错误的常见问题解答。
提示
要检查所有 SP-API 的当前状态,请参阅 API 运行状况控制面板。您可以随时访问 API 运行状况控制面板,方法是选择 API 状态 SP-API 文档网站右上角的按钮。
常见错误
我为什么要收到 null
枚举值?
null
枚举值?点击此处可展开答案。
你使用的是过时的模型版本。更新集成中的 Swagger 模型版本(例如,重新生成客户端库),然后重试。
如何避免节流错误?
点击此处可展开答案。
在 SP-API 中, 代币桶算法 限制请求速率。有关如何避免限制错误的信息,请参阅 SP-API 中的使用计划和速率限制。
批量操作
以下批处理操作可用于 SP-API:
有关更多信息,请参阅 2022年5月 SP-API 发布公告。
通知 API
此 API 发送通知,而不必向其他 API 发送多个请求。有关更多信息,请参阅 通知 API v1 用例指南。
速率限制器
要了解如何实现客户端速率限制器,请参阅 优化应用程序工作负载的速率限制。
为什么我收到交易 API 调用的“处理中”消息?
点击此处可展开答案。
以下 API 操作支持交易状态:
- 确认订单
- 提交货件确认
- 提交货件状态更新
- 货件标签请求
- 库存数据上传
如果交易状态未从 Processing
到 Failure
要么 Success
5 分钟后,我们的系统仍未成功完成交易。如果交易状态成功,则状态更改为 Success
。如果交易状态成功,则状态更改为 Failure
并有相关的错误代码。
你不能将这个 API 用于 Invoice
消息,因为不支持检查它们并且状态将始终是 Processing
。
对于发货标签请求,如果交易因终端错误原因代码而失败(例如, Internal server error
),您必须使用以下方式联系销售合作伙伴 API 开发人员支持团队 联系我们 调查表格。这是由于操作限制而发生的。
为什么我会收到“提交发票”操作调用的错误消息?
点击此处可展开答案。
必须正确填写操作参数。在填写发出 API 调用的参数时,请考虑以下几点:
- 发票编号必须是唯一的,不得重复使用(即使在一年后也是如此)。
- 如果 API 发送的发票由于数据不正确而失败,但纸质发票的数据正确,则供应商应通过 API 使用相同发票 ID 下的正确数据对其进行更新。
- 如果发票包含错误的数据(包括纸质和 API),则发票将被取消,并且应使用新的发票编号发送新发票。
- 没有包含总金额的发票
0
应该发送,因为这会导致发票失效。 - 出于税务合规原因,亚马逊要求在地址段中提供完整的地址详细信息。这对于收单方来说尤其重要。对于此部分,亚马逊收款人系统要求精确匹配。
- 以发票形式发送的付款条件应该就是与亚马逊买家商定的付款条件
- 商品标识符应与在匹配采购订单时发送给供应商的订单商品标识符相匹配。发票总额应等于商品、费用和补贴的总和。
- 每个行级别的总税额必须等于标题级别的总税额。
- 发票总数量应等于所有商品的数量之和。每种不同的费用和补贴都必须在标题级别逐项列出。
如果其中一个参数缺失或填写不正确,这将导致 API 调用检索错误的详细信息。提交操作时,请务必提供所需的信息。
为什么我会收到 SPDC300 错误?
点击此处可展开答案。
此错误可能是由于使用某些 HTML 标签,尤其是标题标签 <h1><h2><h3><h4>
引起的。移除这些标题标签,仅使用文本编辑器中提供的标签。
此错误还可能表明由于缺乏活动,账户状态已变为休眠。您可以更新您的信用卡信息以重新激活账户。下次登录卖家平台时,您将被重定向到信用卡更新页面。您的账户将在信用卡更新大约 48 小时后恢复。
当我在 Postman 中请求获取 LWA 访问令牌时,为什么会出现 500 错误?
点击此处可展开答案。
如果你收到 500 内部服务器错误,请检查一下 Content-Type header 设置为 application/x-www-form-urlencoded
并且请求参数被添加到正文中,而不是作为查询参数。
我在向沙箱端点发出请求时为什么会出现 500 错误?
点击此处可展开答案。
SP-API 沙箱的工作原理与许多模拟框架相同,它采用模式匹配,在指定参数存在时返回指定的响应。开发者在发送与指定参数匹配的请求时会收到在 x-amazon-spds-sandbox-behaviors
对象中定义的响应。
如果发送到沙箱端点的请求与 x-amazon-spds-sandbox-behaviors
对象中的参数值不匹配,则您将在响应中收到“500 内部服务器错误”。您必须使用模型中指定的确切值发送请求。
如果 API 需要使用的任何参数未在 x-amazon-spds-sandbox-behaviors
对象中指定,则只要请求有效,沙箱都会提供响应,而不考虑请求中的参数值。
要了解有关对 SP API 进行沙箱调用的更多信息,请参阅销售伙伴 API 沙箱话题。
为什么我会收到 MD1000 错误代码?
点击此处可展开答案。
{{0}} 是其他卖家为授权您在应用商店中的应用程序而启动的授权流程。
如果包含 version=beta parameter
,则工作流程将授权处于草稿状态的应用程序。如果不包括参数 version=beta
,则该工作流程将在应用商店中授权该应用程序 ID 的已发布版本,否则将返回错误代码“MD1000”。
为什么我在启动 OAuth 工作流程时收到 MD1000 错误代码?
点击此处可展开答案。
如果您的 SP-API 应用程序尚未发布,但 OAuth 工作流程指向生产工作流程,则会返回此错误。要解决此问题,请确认应用程序处于草稿阶段。如果处于草稿阶段,请将 version=beta
参数添加到构建的 OAuth 授权 URI 中。应用程序发布后,可以删除此参数。
为什么我会收到 MD5100 错误代码?
点击此处可展开答案。
MD5100 可能是由以下问题引起的:
- OAuth 授权 URL 中存在错误。
- 应用程序中缺少重定向链接。
- URL 中的片段。
试试以下解决方案能否解决 MD5100 错误:
- 检查应用程序状态:
- 如果应用程序处于草稿状态,请验证 URL 是否包含 version=beta。
- 如果应用程序已发布,请确认 URL 中不包含 version=beta。如果 URL 中包含 version=beta,则针对草稿状态的应用程序而不是已发布状态的应用程序启动 OAuth 进程。
- 确认您已完成授权销售伙伴 API 应用程序的所有步骤。
- 验证您的应用程序是否有登录 URI 和重定向 URI。您可以通过在中编辑应用程序来更新登录 URI 和重定向 URI 解决方案提供商门户 并更新登录 URI 和重定向 URI 的详细信息。
- 验证应用程序支持开发者获得授权的市场。在 解决方案提供商门户,选择 Edit 为您的应用程序提供列表选项,然后在 “定价” 部分中,选择应用程序应支持的商城。
如果在查看这些详细信息后问题仍然存在,请提交支持 case。
为什么我会收到 SPDC8143 错误代码?
点击此处可展开答案。
当您尝试以次级用户身份授权应用程序时,会发生此错误。为避免此错误,请联系账户所有者并要求他们为您执行此操作。
当我启动 OAuth 工作流程时,为什么我还能看到 MWS 授权页面而不是 SP-API 同意页面?
点击此处可展开答案。
检查您的应用程序是否缺少登录 URI 和重定向 URI。您可以通过编辑应用程序来更新登录 URI 和重定向 URI。导航至 Appstore > Develop Apps 然后选择 Edit App 对于您正在使用的应用程序,您可以查看应用程序注册表单并更新登录 URI 和重定向 URI 的详细信息。
为什么我在使用带有特殊字符的 SKU 时收到错误消息?
点击此处可展开答案。
您使用的 SKU 可能包含特殊字符,例如反斜杠或正斜线 ( \
, /
),这需要 URL 编码。这可以通过多种语言以编程方式完成。以下是 Java 中的一个示例:
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.io.UnsupportedEncodingException*;*
// Method to encode a SKU using the UTF-8 encoding scheme
private static String encodeSKU(String sSKU) {
try {
return URLEncoder.encode(sSKU, StandardCharsets.UTF_8.toString());
} catch (UnsupportedEncodingException ex) {
e*.*printStackTrace*();*
}
}
有关更多信息,请参阅 网址编码。
我收到了 400 错误,我该怎么办?
点击此处可展开答案。
有关更多信息,请参阅 解决 400 个错误。
需要更多帮助?
如需更多支持,请联系 销售合作伙伴 API 开发者支持。
Updated 23 days ago