请求的限制
请求的限制 Yandex Market API 对于卖家来说,它们分为以下几种类型:
-
全局限制(对同时请求数量的限制);
-
资源限制(长时间内对同一资源的请求数量的限制,例如,每天);
-
功能限制(对单个请求中要发送或返回的数据量的限制)。
全球限制
它们会影响同时(并行)请求的数量。 最多允许同时发出四个请求。
该限制适用于特定实体,具体取决于 URL 请求:
- 对于类似的查询
/campaigns/{campaignId}/...— 到商店(campaignId); - 对于类似的查询
/businesses/{businessId}/...— 到内阁(Businesssid); - 其他要求:
- 登录时 Api-Key-令牌 — 到创建令牌的帐户(BusinessID);
- 登录时 OAuth令牌 — 发给以其名义发出令牌的雇员(用户id).
如果超过限制,服务器将返回一个特殊的HTTP代码。 420 Enhance Your Calm 带有解释性信息:
Hit rate limit of 4 parallel requests for campaignId 12345
资源限制
它们会影响一次登录后长时间内对同一API资源的请求量。
对于不同的方法,限制适用于请求的数量或传输或返回的数据总量。 限制的具体类型及其含义在相应方法的页面上注明。
在对请求的每个响应中,服务器返回指示实体的资源限制状态的特殊HTTP标头:
-
标题
X-RateLimit-Resource-Limit包含限制的数值。 -
标题
X-RateLimit-Resource-Until包含限制适用的日期,格式为RFC822(例如,星期四,2018年7月10日00:42:42格林尼治标准时间); -
标题
X-RateLimit-Resource-Remaining包含超出限制之前剩余的对此资源的请求量的数值。
减少资源限制
请求的成本降低了资源限制。 成本取决于限制的类型:
- 如果请求数量有限制 — 成本为1(每个请求减少一个限制);
- 如果数据量有限制 — 成本等于请求或响应中集合的大小。
减少规则:
- 使用成功响应(2xx),资源限制减少。
- 在客户端错误的情况下(例如4xx
400 Bad Request或404 Not Found)资源限制也降低了; - 如果市场出现错误(5xx,包括500),则不会减少资源限制。
如果超过限制,服务器将发出一个特殊的HTTP代码。 420 Enhance Your Calm 例如,带有解释性消息:
Hit rate limit of 10000 points per 1 day for resource /regions/{regionId}.json for userId 67890
功能限制
它们会影响每个请求为资源发送或返回的数据量。 每个资源的限制都是单独的,它们的值在方法本身的描述中指定。
此外,所有请求都有一个共同的限制:请求正文的最大大小为512KB。 如果卷较大,请将请求拆分为几个。
如果超过限制,服务器将发出一个特殊的HTTP代码。 400 Bad Request 有一个解释性的信息。