Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Correct Amazon MWS flow for item with existing ASIN

I'm getting started with Amazon MWS and I can't seem to see any real information on the correct flow for listing an item as an existing ASIN. Let's say for example I am selling a "Vulli Sophie the Giraffe Teether". I do an initial lookup using "listMatchingProducts" and find that my item already exists with the ASIN "B000IDSLOG". What is the next stage in the process?. All the documentation talks about the fact that the product feed is intended to match our SKU to the Amazon ASIN but i've not seen any definitive information to suggest how this actually works - especially in the scenario where you already know the ASIN you wish to use.

Ideally i'm interested in seeing the correct flow for each scenario (existing product for search found/not found) in terms of what API calls should be made in what order.

Thanks

like image 817
robjmills Avatar asked Jul 02 '13 10:07

robjmills


2 Answers

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

like image 185
Hazzit Avatar answered Nov 17 '22 09:11

Hazzit


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.

like image 45
robjmills Avatar answered Nov 17 '22 08:11

robjmills