2017-10-26 4 views
0

Ich verwende die Amazon MWS-API-Feeds einen Feed einreichen, hier ist die xml:Wie kann ich eine Bestellung vollständig über MWS Feeds API zurückerstatten?

<?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>xxx</MerchantIdentifier> 
</Header> 
<MessageType>OrderAdjustment</MessageType> 
<Message> 
    <MessageID>1</MessageID> 
    <OrderAdjustment> 
     <AmazonOrderID>xxx</AmazonOrderID> 
     <ActionType>Refund</ActionType> 
     <AdjustedItem> 
      <AmazonOrderItemCode>xxx</AmazonOrderItemCode> 
      <AdjustmentReason>GeneralAdjustment</AdjustmentReason> 
     </AdjustedItem> 
    </OrderAdjustment> 
</Message> 
</AmazonEnvelope> 

Und ich habe die Antwort wie folgt:

<?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>A1B4GJWW9XJ35M</MerchantIdentifier> 
    </Header> 
    <MessageType>ProcessingReport</MessageType> 
    <Message> 
     <MessageID>1</MessageID> 
     <ProcessingReport> 
      <DocumentTransactionID>282020017464</DocumentTransactionID> 
      <StatusCode>Complete</StatusCode> 
      <ProcessingSummary> 
       <MessagesProcessed>1</MessagesProcessed> 
       <MessagesSuccessful>0</MessagesSuccessful> 
       <MessagesWithError>1</MessagesWithError> 
       <MessagesWithWarning>0</MessagesWithWarning> 
      </ProcessingSummary> 
      <Result> 
       <MessageID>1</MessageID> 
       <ResultCode>Error</ResultCode> 
       <ResultMessageCode>25</ResultMessageCode> 
       <ResultDescription>We are unable to process the XML feed because one or more items are invalid. Please re-submit the feed.</ResultDescription> 
      </Result> 
     </ProcessingReport> 
    </Message> 
</AmazonEnvelope> 

Fragen: 1. Wenn ich Möchten Sie diese Bestellung vollständig zurückerstatten, kann ich den Abschnitt ignorieren? 2. In dieser Reihenfolge habe ich nur 1 Punkt, ich bin nicht sicher, ob ich die richtige verwenden, ich habe diese von der Bestellung api

OrderItemId
+0

Diese Bestellung hat nur 1 Artikel. – Jeffrey

Antwort

0

Ihr Fehler sagt

Wir nicht in der Lage sind zu verarbeiten der XML-Feed, weil ein oder mehrere Elemente ungültig sind. Bitte senden Sie den Feed erneut.

Das bedeutet, dass die Struktur Ihres XML in irgendeiner Weise ungültig ist.

Nach dem Blick auf die documentation, scheint es, wenn Sie die Bestellung vollständig stornieren möchten, müssen Sie die order acknowledgement feed verwenden.

Wenn Sie eine Teilrückerstattung vornehmen oder einen Artikel in der Bestellung stornieren möchten, können Sie den Feed zur Bestellungseinstellung verwenden, den Sie in Ihrem Beispiel haben.

Laut der XSD for order adjustments scheinen Sie ItemPriceAdjustments aus dem Feed zu verpassen, den Sie einreichen.

Amazon muss wissen, wie viel Sie die Reihenfolge für jedes Element anpassen müssen und Sie können so granular wie Sie benötigen.

+0

Danke. Ich denke nicht, dass ich den Bestellbestätigungsfeed verwenden sollte, da wir dies nach einer Kundenanfrage tun, um eine Bestellung zu erstatten. – Jeffrey

+0

Ich habe die XSD überprüft https://images-na.ssl-images-amazon.com/images/G/01/rainier/help/xsd/release_4_1/OrderAdjustment.xsd und ich bemerkte, dass die ItemPriceAdjustments keine sein kann. Jedenfalls werde ich einen Test machen, um zu sehen, ob es in Ordnung ist. – Jeffrey

Verwandte Themen