Amazon API Migration: SOAP / AIM migration to Amazon MWS

Who uses the Amazon API to sell its products, the need to migrate them to Amazon MWS, because on 8. October 2012 the AIM- and SOAP services are shut down. Until then, there is a transitional period, which applies, if the API of the period 9.9.2011 and 9.10.2011 was used.

Is the official Amazon MWS Developer Guide on the Amazon API here.

The Registration and activation of MWSfor Europe can here be performed. (America here)

Das Request Limit System von Amazon MWS

How many requests you can make per hour depends on Amazon 3 Factors (siehe Amazon MWS Developer Guide S.10):

  1. Request Quote: How many requests can be sent at the same time without delay. It increases according to the restore rate and decreases with each request.
  2. Restore Rate/Recovery Rate: How quickly rises to the Request Quotawieder.
  3. Maximum Request Quota: What can be the maximum quota Rquest (the balance of the requests).

The absolute hourly limit is at 10000 Requestspro Stunde pro Account. A list of Request Limits ist hier find.


Ein RequestReport (Amazon Report abholen) has

Maximum Request Quota:15

Restore Rate: 1 pro Minute

If you use it once 20 Reports abholen will, one can only 15 abrufen, then 5 Minute wait and then the remaining 5 abruretrievecause the restore rate in the 5 Minutes again 5 Reports made possible.


PHP library

The practical PHP library for Amazon u.a. makes migration easy. In the folder Sample There is sample code, For example, with the. Reports can be collected and. Given in the examples have a few lines are uncommented and .config-File is updated with the account settings.

Reports collected by MWS

The procedure for collection of reports from Amazon's 3 Steps divided:

  1. Request to send a report RequestReport. Thus, a Order sent to generate a report. The completion of the report by Amazon is an indefinite period thereafter, d.h. it must be maintained, or the result will be picked up later cronjob.
  2. Status monitoring by GetReportRequestList. Thus, the status and ReportRequestId the report will be determined. If the report on status _DONE_ is set, This can be picked up and he gets a GeneratedReportId.
  3. Download des Reports mit GetReport with the help of GeneratedReportId.

There is an overview of the possible features in the developer guide S. 96 ff.(Feed Types, Report Types).

Skus delete

In addition, there are more steps needed:)

  1. SubmitFeed attach with Type _POST_FLAT_FILE_PRICEANDQUANTITYONLY_UPDATE_DATA_ and to delete data, there will be a FeedProcessingId returned
  2. Using this, the status of the machining FeedProcessingId be queried with GetFeedSubmissionList.
  3. If Amazon has done with the edit, the result can be picked up with GetFeedSubmissionResult.
  4. If no errors in the report are, everything is ok, otherwise correction and all over again.

Debugging  von Requests – Caught Exception: Internal Error Response Status Code: 0 – and now?

Amazon also has safety reasons no ordinary error messages, if the request was not sent correctly. To get an error message, which is useful, the opposite of:

Caught Exception: Internal Error Response Status Code: 0

must be Tip this brilliant follow. In summary, the code should be inserted and the debug URL is opened in the browser:

  private function performRequest($action, array $converted, $dataHandle = null, $contentMd5 = null) {

    $curlOptions = $this->configureCurlOptions($action, $converted, $dataHandle, $contentMd5);

    //if (is_null($curlOptions[CURLOPT_RETURNTRANSFER]) || !$curlOptions[CURLOPT_RETURNTRANSFER]) {
        $curlOptions[CURLOPT_RETURNTRANSFER] = true;
        $curlOptions[CURLOPT_SSL_VERIFYPEER] = false;
        $curlOptions[CURLOPT_VERBOSE] = true;
    $url = $curlOptions['10002']."?".$curlOptions['10015'];
    print_r("DEBUG-URL: <a href='$url'>Link</a><br>");

To make this work must be respected absolutely sure the IF loop uncomment also, then the system runs under locally localhost.

If you have problems you can always be at the Forum Amazon Seller Community turn.

  1. I have heard, that with conversion to Amazon MWS only every 24 Orders can be picked up hours? Who has ever heard this?

    • Hello, There is an hourly limit, but that is enough for several requests per hour for orders.