Correct Amazon MWS flow for item with existing ASIN

The process of listing an item on Amazon is actually very similar for existing ASINs and new ones.

Listing items can consist of these steps:

  1. Call SubmitFeed() to send a _POST_PRODUCT_DATA_ feed

    • is mandatory in all cases. You can omit product details if you're adding your listing to an existing item. If you list new products, this feed must be successfully processed before sending any other feed for those same item(s), I'm not sure if the same is true for existing products.
  2. Call SubmitFeed() to send a _POST_PRODUCT_RELATIONSHIP_DATA_ feed

    • This step can be skipped for existing products or products without variants or other parent/child relations
  3. Call SubmitFeed() to send a _POST_PRODUCT_IMAGE_DATA_ feed

    • This step can be skipped for existing products. Amazon is currently in the process of making images mandatory, so for new products or products currently not showing an image, you really should submit at least one image
  4. Call SubmitFeed() to send a _POST_PRODUCT_PRICING_DATA_ feed

    • is mandatory in all cases
  5. Call SubmitFeed() to send a _POST_INVENTORY_AVAILABILITY_DATA_ feed

    • is mandatory in all cases
  6. Call SubmitFeed() to send a _POST_PRODUCT_OVERRIDES_DATA_ feed

    • is optional, and only used for items that have special shipping rates applied (e.g. expedited products)

More information on feeds is available on the Amazon Developer Documentation website and in Selling on Amazon: Guide to XML


It seems in the case of adding a product with an existing ASIN you can actually send a very basic XML request such as this, making sure to include the ASIN:

<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amznenvelope.xsd">
    <Header>
        <DocumentVersion>1.01</DocumentVersion>
        <MerchantIdentifier>MERCHANT_IDENTIFIER</MerchantIdentifier>
    </Header>
    <MessageType>Product</MessageType>
    <PurgeAndReplace>false</PurgeAndReplace>
    <Message>
        <MessageID>1</MessageID>
        <OperationType>Update</OperationType>
        <Product>
            <SKU>UNIQUE-TO-ME-1234</SKU>
            <StandardProductID>
                <Type>ASIN</Type>
                <Value>B000A0S46M</Value>
            </StandardProductID>
            <Condition>
                <ConditionType>New</ConditionType>
            </Condition>
        </Product>
    </Message>
</AmazonEnvelope>

Essentially though, from what i've read elsewhere it seems that Amazon will attempt to match a product to an existing ASIN according to the data within the _POST_PRODUCT_DATA_ feed even if an ASIN isn't provided. It will use elements such as title, manufacturer, brand, and other product specific information to compare that to their catalog and determine if it is an existing item or a new one to be added. If you do know it already has an ASIN though you can provide a very simple XML feed as shown above.