API 响应 - 意外响应和错误代码

定价响应与 DigiKey 网站上的不同吗?

将 API 定价响应与 DigiKey 网站相匹配:

  1. 使用 PartSearch API 的产品详情操作
  2. 验证请求是否提供了正确的本地信息(如网站上设置的信息)。
  3. 验证请求是否在 API 请求中提供了相同的客户 ID(与在 DigiKey 网站上注册的相同)

这是唯一能提供零件准确定价的过程。

提交请求至:

/Search/v3/Products/p5555-nd

用本地信息刷新 API 请求:

	--header 'x-digikey-locale-currency: REPLACE_THIS_VALUE' 
	--header 'x-digikey-locale-language: REPLACE_THIS_VALUE' 
	--header 'x-digikey-locale-shiptocountry: REPLACE_THIS_VALUE' 
	--header 'x-digikey-locale-site: REPLACE_THIS_VALUE'

当在开发者入口使用测试工具时收到 400 错误消息 - 如何修复?

在使用开发者入口测试工具时,如果没有输入所有的报头必填字段,就会收到 400 错误,或者收到乱码消息。

我的客户端应用程序收到套接字异常/连接重置消息,哪里出问题了?

这很可能是由于所使用的 TLS 协议版本造成的。 请确保您的应用程序使用的是 TLSv1.2。

我收到错误代码 429,我什么时候可以再次发出请求?

每个 API 响应都伴随着以下一组报头,以确定客户端应用程序的使用状态。

 

报头描述
X-RateLimit-Limit允许客户每天发出请求的最大数量。
X-RateLimit-Remaining当前速率限制窗口中剩余的请求数量。

 

一旦应用程序超出速率限制窗口,该应用程序就会收到一个状态码:

429 请求过多

 

当超过触发限值时,响应报头会变为:

报头描述
Retry-After再次请求前需等待的秒数
X-BurstLimit-LimitAPI 允许的最大请求数,用“每分钟次数”表示
X-BurstLimit-Remaining当前速率限制窗口中剩余的请求数量。
X-BurstLimit-Reset等待触发限值窗口重置的秒数
X-BurstLimit-ResetTime触发限值窗口重置时的时间,用 GMT(格林威治标准时间) 表示

 

并收到如下 JSON 响应消息:

{
    "ErrorResponseVersion": "3.0.0.0",
    "StatusCode": 429,
    "ErrorMessage": "BurstLimit exceeded",
    "ErrorDetails": "Please try again after the number of seconds in the Retry-After header",
    "RequestId": "fa3e4d88-bfc4-4565-c6d5-a567633c091b",
    "ValidationErrors": []
}

 

当超过每日限值时,响应报头会变为:

报头描述
Retry-After再次请求前需等待的秒数
X-RateLimit-LimitAPI 允许的最大请求数量
X-RateLimit-Remaining当前速率限制窗口中剩余的请求数量。
X-RateLimit-Reset等待已超速率限制窗口重置的秒数
X-RateLimit-ResetTime速率限制窗口重置的时间,用 GMT(格林威治标准时间) 表示

 

并收到如下 JSON 响应消息:

{
    "ErrorResponseVersion": "3.0.0.0",
    "StatusCode": 429,
    "ErrorMessage": "Daily Ratelimit exceeded",
    "ErrorDetails": "Please try again after the number of seconds in the Retry-After header",
    "RequestId": "f4a0c1ab-8b47-4a72-e010-8ebe5d78f96c",
    "ValidationErrors": []
}

我收到一个错误代码 (400,401,405,429) 。这些代码的含义是什么?

HTTP 状态代码描述
200 OK成功。
400 错误请求输入参数错误。 错误消息应指明哪一个以及原因。 不知何故,您的客户端请求格式错误/无效。 也可能是请求的零件未找到,但这种可能性极小。
401 未授权客户端传入无效访问令牌。 客户端应刷新此令牌,然后重试。 或者您还没有将客户端应用订阅至 DK API 产品。
404 未发现资源未找到。
405 方法不允许资源不支持指定的 HTTP 动词。 您提交的请求使用了非预期格式。 例如,当需要以 POST 方式提供数据时,提交的却是 GET 请求。
429 请求过多请求次数过多,超出速率限制。 在特定时间内请求数量过多(>120 /分钟),或超过当前速率限制窗口允许的值。
500 内部服务器错误服务器未按预期运行。 请求可能有效,但需要稍后重新请求。
503 服务不可用服务不可用。