Openbridge employs a conservative API request strategy, ensuring that we operate within published rate limits and throttling constraints imposed by Amazon. We carefully model each endpoint and how best to request and re-request data in a manner that minimizes our consumption of API rate limits.
Amazon recommends that you do not request reports at a frequency greater than the data for that report can be refreshed, typically once a day.
NO DATA and CANCELED Blocks Historical Data Collection
History data collection (or any data collection) is not possible if the Amazon API is consistently responding with a CANCELED response. Despite numerous attempts and re-attempts to retrieve this data, a CANCELED response from the Amazon API is considered a blocker.
We know there are use cases where other applications are attached to a customer account. Unfortunately, these applications do not properly follow Amazon documentation for limits and throttles. It is not uncommon seeing these applications or tools making requests many times an hour for data Amazon states can only be requested once a day.
How NO DATA and CANCELED impacts data delivery
There are two common outcomes of over-aggressive use of the Amazon API:
CANCELED - The report was canceled.
NO_DATA - The report was generated, but there was no data to report. This happens when there is no new data to report between consecutive report requests.
As a result, these applications fail to properly work within Amazon limits which Openbridge from collecting data on your behalf. Openbridge has no control over the CANCELED or NO_DATA responses from Amazon. We will attempt a series of retries to collect the data, but given API limits, we can only retry for a set time period.
Check Your Seller Accounts
Please review any other applications attached to the seller account in question for usage levels for the Amazon MWS Reporting API. Any applications making calls to this API should be reviewed, and access restricted if the app is no longer used OR it is overly aggressive with API calls. This will unlock additional API capacity.
How To Check For Canceled Reports
One check you can perform is to review your Report logs in the Amazon interface. If you see reports with large numbers of CANCELED reports, it is likely the case you need to audit application access. They may be calling too frequently.
Below is an example of Amazon Fulfilled Inventory requests being canceled:
In the Inventory Health example below, you can see a mix of success and CANCELLED responses in relation to requests for the data:
Lastly, the Received Inventory report below shows most requests return CANCELED:
How To Check For No Data
NO_DATA is another common response from Amazon. For example, the Amazon Orders report indicates there is NO_DATA:
In a different report type, Returns, it also reports NO_DATA:
Here is another example of data sporadically being available for download:
No Data and Canceled Combined
It is possible to get a combination of NO_DATA and CANCELLED responses from the API. The Daily Inventory Report below, highlights both use cases, NO_DATA and CANCELED:
Here is a combination of No Data and Cancelled with no success outputs:
There are cases when Amazon may not be responding to requests and is exceeding the expected timing for the delivery of a report.
In the example below, you can see that order by date reports are working correctly but orders by the last update are "stuck" in an "in-progress" state.
"In-progress" states can impact our ability to deliver data. In these cases, we are dependent on Amazon to return information in accordance with publishes specifications. In these cases, we attempt to re-request in-progress reports, though it is possible that Amazon remains stuck for over 24 hours. Normally it may take a few minutes to provide the report. A delay of this magnitude can cause us to "time out" waiting for them to respond.
Amazon API Limits
As a general rule, most reports are daily and should be requested no more than once a day. Specifically, here is what Amazon will do in response to an application or tool exhausting API limits:
Amazon will return CANCELLED to an API request, or
The report will be generated with no data. It will include a short error message that the report was requested too frequently.
Check your Amazon Seller account for other tools, processes, or systems that are requesting data
If you have other applications OR scheduled processes in the Seller Central UI, it will increase the risk of these errors occurring. Per Amazon, you should not have multiple requests for the same data.
If you have another app or tool exhausting API capacity, it will impact our ability to collect data on your behalf! If Amazon always reports NO_DATA or CANCELLED, we will not be able to collect this data. This is a hard limit that Amazon sets, not Openbridge.
Make sure to check if you have any other applications, or Seller Central reports scheduled. If you do, remove or pause them. This will reduce the number of requests that end in a CANCELLED or NO_DATA state.
Lastly, if reports have been generated from Seller Central UI, these requests will count against API limits. If you have scheduled reports in the Seller Central UI and are attempting to programmatically export via the API, we suggest stopping any scheduled reports in the seller UI.