使用亚马逊商城网络服务取消亚马逊订单

时间:2013-06-29 13:28:06

标签: coldfusion coldfusion-9 amazon-mws

我正在使用此代码在亚马逊上发送订单。此xml请求将发送到亚马逊商城网络服务,我的订单将发货。现在我想使用相同的Web服务取消订单。但我不确定我要对xml进行哪些更改以执行订单取消流程。有人可以帮忙吗?

<cfsavecontent variable="Final_FulFillMent_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.01</DocumentVersion>
        <MerchantIdentifier>xxxxxxxxxxxx</MerchantIdentifier>
    </Header>

    <MessageType>OrderFulfillment</MessageType>
    <Message>
        <MessageID>1</MessageID>
        <OrderFulfillment>
        <AmazonOrderID>#AmazonOrderID#</AmazonOrderID>
        <MerchantFulfillmentID>#MerchantFulfillmentID#</MerchantFulfillmentID>
        <FulfillmentDate>#FulfillmentDate#</FulfillmentDate>
        <FulfillmentData><CarrierCode>#CarrierCode#</CarrierCode>
        <ShippingMethod>#ShippingMethod#</ShippingMethod>
        <ShipperTrackingNumber>#ShippingTrackingNumber#</ShipperTrackingNumber>
        </FulfillmentData></OrderFulfillment>
    </Message>
</AmazonEnvelope>
</cfsavecontent>

<cfhttp method="post" url="#FinalQueryString#">
    <cfhttpparam name="Content-Type" type="header" value="text/xml; charset=iso-8859-1">
   <cfhttpparam name="FeedContent" type="body" value="#Final_FulFillMent_XML#">
   <cfhttpparam type="header" name="Content-MD5" value="#ToBase64(BinaryDecode(Hash(Final_FulFillMent_XML), 'hex'))#">       
</cfhttp>

1 个答案:

答案 0 :(得分:1)

要取消整个订单,您需要修改您可能已发送的“订单确认Feed”并指定StatusCode Failure和{{ {1}},例如CancelReason

要取消部分订单,您需要发送“订单调整Feed”,您可以指定无法发货的商品数量以及原因。

Selling on Amazon: Guide to XML

中描述了两种XML Feed