ChannelEngine: rate limiting
About this article
This article describes the rate-limiting guidelines that apply to ChannelEngine's APIs.
Table of contents
Introduction
To ensure that ChannelEngine can continue serving its customers and partners efficiently and reliably, it is necessary to make use of rate limiting in the Merchant, Channel, and Channel Management APIs. The rate limits defined allow ChannelEngine's customers and partners to perform all calls required to conduct their business in a timely manner.
It is recommended that you make use of dynamic throttling and consider the limits and intervals communicated in the response headers.
Request rate limits
To request the rate limit for each endpoint:
- Go to ChannelEngine's OpenAPI/Swagger page for your environment. If you do not know its URL, replace the term 'example' in the URL https://example.channelengine.net/api/swagger/index.html with the first part of the URL of your ChannelEngine environment. E.g.: if your ChannelEngine environment is Sustainable Suits, its URL should be https://sustainable-suits.channelengine.net/ and its OpenAPI/Swagger URL should be https://sustainable-suits.channelengine.net/api/swagger/index.html.
- Click Authorize and, in the Value field, enter your Merchant API key. To find your Merchant API key, log in to ChannelEngine and click Settings, Merchant API keys.
- Click Close and select the endpoint for which you would like to know the limit.
- Click Try it out. If the selected endpoint requires parameters, make sure to provide them before clicking Execute. Otherwise, click Execute.
- In the Response headers section, check the values provided by the headers:
-
-
x-rate-limit-limit
- the rate limit interval, in minutes. -
x-rate-limit-remaining
- the number of remaining calls within the current interval. -
retry-after
- the number of seconds to wait before making another call.
-
View rate limits
The table below lists the endpoints and their corresponding rate limits and intervals. E.g.: if a rate limit is 5 and its corresponding interval is 15, you can make 5 calls within 15 minutes.
Merchant API
Endpoint | Rate limit | Interval |
POST /v2/cancellations
|
25 |
15 min |
GET /v2/cancellations/merchant
|
5 |
15 min |
GET /v2/channels
|
10 |
15 min |
GET /v2/competitionprices/buyboxprices
|
50 |
15 min |
GET /v2/channels/{channelId}/products
|
15 |
15 min |
GET /v2/notifications
|
15 |
15 min |
PUT /v2/offer
|
10 |
15 min |
PUT /v2/offer/stock
|
10 |
15 min |
GET /v2/offer/stock
|
1000 |
1 min |
GET /v2/orders
|
100 |
15 min |
GET /v2/orders/new
|
15 |
15 min |
POST /v2/orders/acknowledge
|
150 |
15 min |
PUT /v2/orders/comment
|
250 |
15 min |
POST /v2/products
|
15 |
15 min |
GET /v2/products
|
15 |
15 min |
PATCH /v2/products
|
15 |
15 min |
DELETE /v2/products/{merchantProductNo}
|
100 |
15 min |
GET /v2/products/{merchantProductNo}
|
100 |
15 min |
PATCH /v2/products/{merchantProductNo}
|
100 |
15 min |
POST /v2/products/bulkdelete
|
15 |
15 min |
GET /v2/productbundles
|
30 |
15 min |
GET /v2/returns/merchant
|
15 |
15 min |
POST /v2/returns/merchant
|
100 |
15 min |
GET /v2/returns
|
15 |
15 min |
PUT /v2/returns
|
50 |
15 min |
GET /v2/returns/merchant/new
|
3 |
15 min |
GET /v2/returns/merchant/{merchantOrderNo}
|
30 |
15 min |
POST /v2/returns/merchant/acknowledge
|
150 |
15 min |
GET /v2/settings
|
3 |
15 min |
GET /v2/shipments/merchant
|
5 |
15 min |
POST /v2/shipments
|
900 |
15 min |
PUT /v2/shipments/{merchantShipmentNo}
|
900 |
15 min |
POST /v2/carriers/{merchantOrderNo}
|
15 |
15 min |
POST /v2/shipments/channelmethod
|
250 |
15 min |
GET /v2/stocklocations
|
5 |
15 min |
GET /v2/webhooks
|
15 |
15 min |
POST /v2/webhooks
|
15 |
15 min |
PUT /v2/webhooks
|
15 |
15 min |
DELETE /v2/webhooks/{webhookName}
|
15 |
15 min |
POST /v2/stocklocations
|
32 |
15 min |
POST /v2/orders/{merchantOrderNo}/invoice
|
50 |
1 min |
POST /v2/orders/{merchantOrderNo}/invoice-base64 |
50 | 1 min |
POST /v2/orders/mark-export-as-failed |
500 | 1 min |
POST /v2/listings-activation
|
20 |
60 min |
POST /v2/product-attribute-group
|
100 |
15 min |
DELETE /v2/product-attribute-group/{groupName}
|
100 |
15 min |
PUT /v2/product-attribute-group/{groupName}/add
|
15 |
15 min |
PUT /v2/product-attribute-group/{groupName}/remove
|
15 |
15 min |
GET /v2/product-attribute-group
|
5 |
15 min |
GET /v2/product-attribute-group/linked-channels
|
15 |
15 min |
POST /v2/product-attribute-group/rename
|
10 |
60 min |
POST /v2/reports/settlements
|
10 |
10 min |
GET /v2/reports/{reportId}/status
|
15 |
15 min |
GET /v2/reports/{reportId} |
15 |
15 min |
GET /v2/settlements
|
15 |
15 min |
POST /v2/settlements/upload
|
1 |
60 min |
GET /v2/custom-fields |
100 | 1 min |
DELETE /v2/custom-fields |
15 | 15 min |
POST /v2/purchase-orders/invoice |
5 | 60 min |
POST /v2/purchase-orders/invoice/bulk |
5 | 60 min |
GET /v2/purchase-orders/shipments/merchant |
10 | 15 min |
POST /v2/purchase-orders/shipments |
700 | 1 min |
PUT /v2/purchase-orders/shipments |
1,000 | 1 min |
GET /v2/purchase-orders |
3 | 1 min |
POST /v2/purchase-orders/lines/acknowledge |
15 | 60 min |
POST /v2/supportorder |
3 | 1 min |
POST /v2/testshippinglabel |
3 | 1 min |
POST /v2/testorderdocument |
3 | 1 min |
Channel API
Endpoint | Rate limit | Interval |
GET /v2/cancellations
|
15 |
15 min |
POST /v2/cancellations/channel |
5 |
15 min |
POST /v2/cancellations/channel/bulk |
5 |
15 min |
POST /v2/orders |
150 |
15 min |
POST /v2/products/data |
3 |
15 min |
GET /v2/products/data |
3 |
15 min |
POST /v2/products/offers |
15 |
15 min |
GET /v2/products/offers |
15 |
15 min |
GET /v2/products/data/full
|
15 |
15 min |
GET /v2/returns/channel
|
3 |
15 min |
POST /v2/returns/channel |
100 |
15 min |
GET /v2/shipments |
15 |
15 min |
Merchant and Channel API
Endpoint | Rate limit | Interval |
GET /v2/orders/{merchantOrderNo}/invoice |
100 |
15 min |
GET /v2/orders/{merchantOrderNo}/packingslip |
100 |
15 min |
GET /v2/orders/{merchantShipmentNo/shippinglabel |
50 |
15 min |
GET /v2/excludedOrders |
30 |
1 min |
POST /v2/excludedOrders |
30 |
1 min |
DELETE /v2/excludedOrders |
30 |
1 min |
Comments
0 comments
Article is closed for comments.