Amazon MWS API - SubmitFeed completed but quantity

2019-02-28 22:44发布

问题:

I need to update quantity for a single product via SubmitFeed API and "_POST_INVENTORY_AVAILABILITY_DATA_" feed type:

<?xml version=""1.0"" encoding=""utf-8"" ?>
        <AmazonEnvelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xsi:noNamespaceSchemaLocation=""amznenvelope.xsd"">
            <Header>
                <DocumentVersion>1.01</DocumentVersion>
                <MerchantIdentifier>MERCHANT_ID</MerchantIdentifier>
            </Header>
            <MessageType>Inventory</MessageType>
            <Message>
                <MessageID>1</MessageID>
                <OperationType>Update</OperationType>
                <Inventory>
                    <SKU>MY_SKU_CODE</SKU>
                    <Quantity>2</Quantity>
                </Inventory>
            </Message>
        </AmazonEnvelope>

Submission was OK (checked from MWS Scratchpad):

<?xml version="1.0" encoding="UTF-8"?>
<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amzn-envelope.xsd">
    <Header>
        <DocumentVersion>1.02</DocumentVersion>
        <MerchantIdentifier>...</MerchantIdentifier>
    </Header>
    <MessageType>ProcessingReport</MessageType>
    <Message>
        <MessageID>1</MessageID>
        <ProcessingReport>
            <DocumentTransactionID>...</DocumentTransactionID>
            <StatusCode>Complete</StatusCode>
            <ProcessingSummary>
                <MessagesProcessed>1</MessagesProcessed>
                <MessagesSuccessful>1</MessagesSuccessful>
                <MessagesWithError>0</MessagesWithError>
                <MessagesWithWarning>0</MessagesWithWarning>
            </ProcessingSummary>
        </ProcessingReport>
    </Message>
</AmazonEnvelope>

but the quantity for that SKU hadn't changed in my inventory (as seen in my Amazon Seller Central back office). Amazon's forums did not help. Any suggestion?

回答1:

When I run into issues where the SKU isn't updating, I include the ASIN which usually does the trick. You'd include it like this:

<SKU>MY_SKU</SKU>
<StandardProductID>
     <Type>ASIN</Type>
     <Value>MY_SKU'S_ASIN</Value>
</StandardProductID>

You can also use GCID, UPC, etc, just by changing the type in the Type field. This usually does the trick for me if fields aren't updating properly



回答2:

I find the feeds api will sometimes silently fail. See my post here for more information.

https://sellercentral.amazon.com/forums/thread.jspa?threadID=347480&tstart=0

My solution (in my case tracking on orders is what I'm trying to update) is to periodically confirm that the action I took actually resulted in the change, and if the change did not happen, to just resend the feed exactly the same.