我需要将发货日期设置为当前日期,此时我正在尝试确认发货。但我不知道它在哪里设置。在文档示例中,没有此属性 我的XML代码:
<?xml version="1.0" encoding="UTF-8"?>
<AmazonEnvelope xsi:noNamespaceSchemaLocation="amzn-envelope.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Header>
<DocumentVersion>1.02</DocumentVersion>
<MerchantIdentifier>XXXXXXXXXXXX</MerchantIdentifier>
</Header>
<MessageType>OrderFulfillment</MessageType>
<Message>
<MessageID>1</MessageID>
<OperationType>Update</OperationType>
<OrderFulfillment>
<AmazonOrderID>103-8280673-5282661</AmazonOrderID>
<FulfillmentDate>2015-01-22T06:30:00</FulfillmentDate>
<FulfillmentData>
<CarrierName>USPS</CarrierName>
<ShipperTrackingNumber>1234567890</ShipperTrackingNumber>
</FulfillmentData>
<Item>
<AmazonOrderItemCode>18531427322146</AmazonOrderItemCode>
<Quantity>1</Quantity>
</Item>
<Item>
<AmazonOrderItemCode>54419133385610</AmazonOrderItemCode>
<Quantity>1</Quantity>
</Item>
</OrderFulfillment>
</Message>
</AmazonEnvelope>
我尝试将发货日期设置为<OrderFulfillment>
,<FulfillmentData>
- 没有结果。
我试图像<ShipDate>
,<ShippingDate>
,<ShippedDate>
那样写它 - 没有结果。
错误返回:
<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>
也许有人知道如何设置发货日期?
答案 0 :(得分:0)
我使用相同的XML Feed但没有<OperationType>Update</OperationType>
和<item>
代码,因为如果您要发送整个订单,则不需要代码。
然后我正在做以下PHP代码
$feed = trim($feed);
$marketplaceIdArray = array("Id" => array($MARKETPLACE_ID));
$feedHandle = @fopen('php://temp', 'rw+');
fwrite($feedHandle, $feed);
rewind($feedHandle); //Sets file pointer at beginning of file
$parameters = array(
'Merchant' => $MERCHANT_ID,
'MarketplaceIdList' => $marketplaceIdArray,
'FeedType' => '_POST_ORDER_FULFILLMENT_DATA_',
'FeedContent' => $feedHandle,
'PurgeAndReplace' => false, //Leave this PurgeAndReplace to false so that it want replace whole product in amazon inventory
'ContentMd5' => base64_encode(md5(stream_get_contents($feedHandle), true))
);
rewind($feedHandle);
$request = new MarketplaceWebService_Model_SubmitFeedRequest($parameters);
答案 1 :(得分:0)
对此不完全正面,但我们的Feed包含的内容是
<FulfillmentDate>2015-01-22T06:30:00+00:00</FulfillmentDate>
而不是
<FulfillmentDate>2015-01-22T06:30:00</FulfillmentDate>
这是唯一与我们完全不同的东西。
编辑1:我说谎了,你有一个我没有的标签。
<OperationType>Update</OperationType>
答案 2 :(得分:0)
上面应该解决它。而且,FulfillmentDate
也可以是以下格式:
<FulfillmentDate>2015-01-22T06:30:00Z</FulfillmentDate>
删除此标记:
<OperationType>Update</OperationType>