Unable to submit order fulfilment feed amazon mws

2k views Asked by At

I am trying to update shipping information through the feed API and here is my xml feed

<?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.01</DocumentVersion> 
<MerchantIdentifier>Merchant id</MerchantIdentifier> 
</Header> 
<MessageType>OrderFulfillment</MessageType> 
<Message> 
<MessageID>1</MessageID> 
<OrderFulfillment> 
<MerchantOrderID>AmazonOrderId</MerchantOrderID> 
<FulfillmentDate>2015-05-23T04:57:09+00:00</FulfillmentDate> 
<FulfillmentData> 
<CarrierCode>Fedex</CarrierCode> 
<ShipperTrackingNumber>78066505</ShipperTrackingNumber> 
</FulfillmentData> 
<Item> 
<MerchantOrderItemID>OrderItemId</MerchantOrderItemID> 
</Item> 
</OrderFulfillment> 
</Message> 
</AmazonEnvelope> 

When I submit the feed getting response as We are unable to process the XML feed because one or more items are invalid. Please re-submit the feed. But both the order id and order item id is valid one.

In the sample feed provided by amazon I can see <MerchantFulfillmentID>1234567</MerchantFulfillmentID> and <MerchantFulfillmentItemID>1234567</MerchantFulfillmentItemID> but where can I find these ids.

1

There are 1 answers

0
Daniel Walter On

As stated here Selling on Amazon Guide to XML:

You can send your own unique order and item identifiers (MerchantOrderID and MerchantOrderItemID) rather than Amazon's order and item identifiers, if you established your own in the OrderAcknowledgement feed.

MerchantOrderID:

Optional seller supplied order ID. The first step is to establish the MerchantOrderID in the acknowledgem ent feed. Amazon will map the MerchantOrderID to the AmazonOrderID, and you can then use your own order ID (MerchantOrderID) for subsequent feeds relating to that order. See the base XSD for the definition.

MerchantFulfillmentID:

Seller supplied unique identifier for the shipment (not used by Amazon)

If you did not established your own ID´s in the OrderAcknowledgement feed, you can not use this fields in the Order Fulfillment feed. Instead you have to speficy AmazonOrderID and Item.AmazonOrderItemCode. The AmazonOrderItemCode is an code for this specific product in this specific order. It has nothing todo with the famous ASIN or something.

Working example for an _POST_ORDER_FULFILLMENT_DATA_ feed would like like:

<AmazonEnvelope>
  <Header>
    <DocumentVersion>1.01</DocumentVersion>
    <MerchantIdentifier>M_TESTSHOP_1337</MerchantIdentifier>
  </Header>
  <MessageType>OrderFulfillment</MessageType>
  <Message>
    <MessageID>1</MessageID>
    <OrderFulfillment>
      <AmazonOrderID>110-64133780-1337563</AmazonOrderID>
      <FulfillmentDate>2015-11-02T13:02:14</FulfillmentDate>
      <FulfillmentData>
        <CarrierName>DHL</CarrierName>
        <ShippingMethod>Paket</ShippingMethod>
        <ShipperTrackingNumber>1337</ShipperTrackingNumber>
      </FulfillmentData>
      <Item>
        <AmazonOrderItemCode>033521337643</AmazonOrderItemCode>
        <Quantity>1</Quantity>
      </Item>
    </OrderFulfillment>
  </Message>
</AmazonEnvelope>