我一直在尝试使用订单调整Feed从亚马逊订单中取消单个商品,但每次我提交请求时都会收到:
错误18028:您使用此项目提交的数据不完整或无效。请重新提交包含所有必填字段的项目,并填写有效数据。
我在我的请求中使用了这个xml:
<?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>XXXXXXXXX</MerchantIdentifier>
</Header>
<MessageType>OrderAdjustment</MessageType>
<Message>
<MessageID>1</MessageID>
<OperationType>Update</OperationType>
<OrderAdjustment>
<AmazonOrderID>305-XXXXXXX-XXXXXXX</AmazonOrderID>
<ActionType>Cancel</ActionType>
<AdjustedItem>
<AmazonOrderItemCode>209XXXXXXXXXXX</AmazonOrderItemCode>
<AdjustmentReason>NoInventory</AdjustmentReason>
<QuantityCancelled>1</QuantityCancelled>
</AdjustedItem>
</OrderAdjustment>
</Message>
</AmazonEnvelope>
我已经仔细检查了我的xml,根据亚马逊的xsd架构它似乎是有效的。
如果有类似问题的人可以分享他们的经验,我将不胜感激。
答案 0 :(得分:0)
TLDR:尝试将ActionType设置为退款,而不是取消。
这涉及商家自己的实现。
我想到了两个场景,一个订单:
逻辑上,部分取消涉及完成一项并取消第二项。
由于MWS API对部分取消没有单一操作,因此应用程序必须先完成第二项并退款。
这意味着首先为第二个项目发送OrderFulfillment消息,然后为其发送OrderAdjustment。
我发现取消的ActionType提供了与原始帖子中看到的相同的错误消息,同时成功处理了退款值。