PureBasic MWS Orders: List Order Items

Back to Index

Returns order items based on the AmazonOrderId that you specify.

Documentation: http://docs.developer.amazonservices.com/en_US/orders-2013-09-01/Orders_ListOrderItems.html

CURL Command

curl -X POST https://mws.amazonservices.com/Orders/2013-09-01 \
  -d "AWSAccessKeyId=AWS_ACCESS_KEY_ID" \
  -d "Action=ListOrders" \
  -d "MWSAuthToken=MWS_AUTH_TOKEN" \
  -d "MarketplaceId.Id.1=ATVPDKIKX0DER" \
  -d "MarketplaceId.Id.2=A2Q3Y263D00KWC" \
  -d "MarketplaceId.Id.3=A1VC38T7YXB528" \
  -d "FulfillmentChannel.Channel.1=MFN" \
  -d "PaymentMethod.Method.1=COD" \
  -d "PaymentMethod.Method.2=Other" \
  -d "OrderStatus.Status.1=Unshipped" \
  -d "OrderStatus.Status.2=PendingAvailability" \
  -d "SellerId=MWS_SELLER_ID" \
  -d "Signature=MWS_SIGNATURE" \
  -d "SignatureVersion=2" \
  -d "SignatureMethod=HmacSHA256" \
  -d "LastUpdatedAfter=2017-02-01T18:12:21" \
  -d "Timestamp=CURRENT_DATE_TIME" \
  -d "Version=2013-09-01"

PureBasic Example

IncludeFile "CkXml.pb"
IncludeFile "CkRest.pb"

Procedure ChilkatExample()

    rest.i = CkRest::ckCreate()
    If rest.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success.i

    ;  URL: https://mws.amazonservices.com/Orders/2013-09-01
    bTls.i = 1
    port.i = 443
    bAutoReconnect.i = 1
    success = CkRest::ckConnect(rest,"mws.amazonservices.com",port,bTls,bAutoReconnect)
    If success <> 1
        Debug "ConnectFailReason: " + Str(CkRest::ckConnectFailReason(rest))
        Debug CkRest::ckLastErrorText(rest)
        CkRest::ckDispose(rest)
        ProcedureReturn
    EndIf

    CkRest::ckAddQueryParam(rest,"AWSAccessKeyId","AWS_ACCESS_KEY_ID")
    CkRest::ckAddQueryParam(rest,"Action","ListOrders")
    CkRest::ckAddQueryParam(rest,"MWSAuthToken","MWS_AUTH_TOKEN")
    CkRest::ckAddQueryParam(rest,"MarketplaceId.Id.1","ATVPDKIKX0DER")
    CkRest::ckAddQueryParam(rest,"MarketplaceId.Id.2","A2Q3Y263D00KWC")
    CkRest::ckAddQueryParam(rest,"MarketplaceId.Id.3","A1VC38T7YXB528")
    CkRest::ckAddQueryParam(rest,"FulfillmentChannel.Channel.1","MFN")
    CkRest::ckAddQueryParam(rest,"PaymentMethod.Method.1","COD")
    CkRest::ckAddQueryParam(rest,"PaymentMethod.Method.2","Other")
    CkRest::ckAddQueryParam(rest,"OrderStatus.Status.1","Unshipped")
    CkRest::ckAddQueryParam(rest,"OrderStatus.Status.2","PendingAvailability")
    CkRest::ckAddQueryParam(rest,"SellerId","MWS_SELLER_ID")
    CkRest::ckAddQueryParam(rest,"SignatureVersion","2")
    CkRest::ckAddQueryParam(rest,"SignatureMethod","HmacSHA256")
    CkRest::ckAddQueryParam(rest,"LastUpdatedAfter","2017-02-01T18:12:21")
    CkRest::ckAddQueryParam(rest,"Version","2013-09-01")

    CkRest::setCkHost(rest, "mws.amazonservices.com")
    ;  The AddMwsSignature method adds the Timestamp and Signature query params.
    CkRest::ckAddMwsSignature(rest,"POST","/Orders/2013-09-01","mws.amazonservices.com","MWS_SECRET_KEY")

    strResponseBody.s = CkRest::ckFullRequestFormUrlEncoded(rest,"POST","/Orders/2013-09-01")
    If CkRest::ckLastMethodSuccess(rest) <> 1
        Debug CkRest::ckLastErrorText(rest)
        CkRest::ckDispose(rest)
        ProcedureReturn
    EndIf

    xmlResponse.i = CkXml::ckCreate()
    If xmlResponse.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkXml::ckLoadXml(xmlResponse,strResponseBody)

    ListOrderItemsResponse_xmlns.s
    tagPath.s
    NextToken.s
    AmazonOrderId.s
    i.i
    count_i.i
    ASIN.s
    OrderItemId.s
    CustomizedURL.s
    SellerSKU.s
    Title.s
    QuantityOrdered.i
    QuantityShipped.i
    NumberOfItems.i
    PointsNumber.i
    CurrencyCode.s
    Amount.s
    ScheduledDeliveryEndDate.s
    ScheduledDeliveryStartDate.s
    IsGift.s
    GiftMessageText.s
    GiftWrapLevel.s
    PriceDesignation.s
    PromotionId.s
    ConditionId.s
    ConditionSubtypeId.s
    ConditionNote.s
    Model.s
    ResponsibleParty.s
    RequestId.s

    ListOrderItemsResponse_xmlns = CkXml::ckGetAttrValue(xmlResponse,"xmlns")
    NextToken = CkXml::ckGetChildContent(xmlResponse,"ListOrderItemsResult|NextToken")
    AmazonOrderId = CkXml::ckGetChildContent(xmlResponse,"ListOrderItemsResult|AmazonOrderId")
    i = 0
    count_i = CkXml::ckNumChildrenHavingTag(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem")
    While i < count_i
        CkXml::setCkI(xmlResponse, i)
        ASIN = CkXml::ckGetChildContent(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem[i]|ASIN")
        OrderItemId = CkXml::ckGetChildContent(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem[i]|OrderItemId")
        CustomizedURL = CkXml::ckGetChildContent(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem[i]|BuyerCustomizedInfo|CustomizedURL")
        SellerSKU = CkXml::ckGetChildContent(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem[i]|SellerSKU")
        Title = CkXml::ckGetChildContent(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem[i]|Title")
        QuantityOrdered = CkXml::ckGetChildIntValue(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem[i]|QuantityOrdered")
        QuantityShipped = CkXml::ckGetChildIntValue(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem[i]|QuantityShipped")
        NumberOfItems = CkXml::ckGetChildIntValue(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem[i]|ProductInfo|NumberOfItems")
        PointsNumber = CkXml::ckGetChildIntValue(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem[i]|PointsGranted|PointsNumber")
        CurrencyCode = CkXml::ckGetChildContent(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem[i]|PointsGranted|PointsMonetaryValue|CurrencyCode")
        Amount = CkXml::ckGetChildContent(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem[i]|PointsGranted|PointsMonetaryValue|Amount")
        CurrencyCode = CkXml::ckGetChildContent(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem[i]|ItemPrice|CurrencyCode")
        Amount = CkXml::ckGetChildContent(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem[i]|ItemPrice|Amount")
        CurrencyCode = CkXml::ckGetChildContent(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem[i]|ShippingPrice|CurrencyCode")
        Amount = CkXml::ckGetChildContent(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem[i]|ShippingPrice|Amount")
        ScheduledDeliveryEndDate = CkXml::ckGetChildContent(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem[i]|ScheduledDeliveryEndDate")
        ScheduledDeliveryStartDate = CkXml::ckGetChildContent(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem[i]|ScheduledDeliveryStartDate")
        CurrencyCode = CkXml::ckGetChildContent(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem[i]|CODFee|CurrencyCode")
        Amount = CkXml::ckGetChildContent(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem[i]|CODFee|Amount")
        CurrencyCode = CkXml::ckGetChildContent(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem[i]|CODFeeDiscount|CurrencyCode")
        Amount = CkXml::ckGetChildContent(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem[i]|CODFeeDiscount|Amount")
        IsGift = CkXml::ckGetChildContent(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem[i]|IsGift")
        GiftMessageText = CkXml::ckGetChildContent(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem[i]|GiftMessageText")
        CurrencyCode = CkXml::ckGetChildContent(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem[i]|GiftWrapPrice|CurrencyCode")
        Amount = CkXml::ckGetChildContent(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem[i]|GiftWrapPrice|Amount")
        GiftWrapLevel = CkXml::ckGetChildContent(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem[i]|GiftWrapLevel")
        PriceDesignation = CkXml::ckGetChildContent(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem[i]|PriceDesignation")
        PromotionId = CkXml::ckGetChildContent(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem[i]|PromotionIds|PromotionId")
        ConditionId = CkXml::ckGetChildContent(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem[i]|ConditionId")
        ConditionSubtypeId = CkXml::ckGetChildContent(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem[i]|ConditionSubtypeId")
        ConditionNote = CkXml::ckGetChildContent(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem[i]|ConditionNote")
        Model = CkXml::ckGetChildContent(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem[i]|TaxCollection|Model")
        ResponsibleParty = CkXml::ckGetChildContent(xmlResponse,"ListOrderItemsResult|OrderItems|OrderItem[i]|TaxCollection|ResponsibleParty")
        i = i + 1
    Wend
    RequestId = CkXml::ckGetChildContent(xmlResponse,"ResponseMetadata|RequestId")


    CkRest::ckDispose(rest)
    CkXml::ckDispose(xmlResponse)


    ProcedureReturn
EndProcedure

Sample XML Response Body

<?xml version="1.0" encoding="utf-8" ?>
<ListOrderItemsResponse xmlns="https://mws.amazonservices.com
    /Orders/2013-09-01">
    <ListOrderItemsResult>
        <NextToken>MRgZW55IGNhcm5hbCBwbGVhc3VyZS6=</NextToken>
        <AmazonOrderId>058-1233752-8214740</AmazonOrderId>
        <OrderItems>
            <OrderItem>
                <ASIN>BT0093TELA</ASIN>
                <OrderItemId>68828574383266</OrderItemId>
                <BuyerCustomizedInfo>
                    <CustomizedURL>https://zme-caps.amazon.com/t/bR6qHkzSOxuB/
                        J8nbWhze0Bd3DkajkOdY-XQbWkFralegp2sr_QZiKEE/1</CustomizedURL>
                </BuyerCustomizedInfo>
                <SellerSKU>CBA_OTF_1</SellerSKU>
                <Title>Example item name</Title>
                <QuantityOrdered>1</QuantityOrdered>
                <QuantityShipped>1</QuantityShipped>
                <ProductInfo>
                    <NumberOfItems>12</NumberOfItems>
                </ProductInfo>
                <PointsGranted>
                    <PointsNumber>10</PointsNumber>
                    <PointsMonetaryValue>
                        <CurrencyCode>JPY</CurrencyCode>
                        <Amount>10.00</Amount>
                    </PointsMonetaryValue>
                </PointsGranted>
                <ItemPrice>
                    <CurrencyCode>JPY</CurrencyCode>
                    <Amount>25.99</Amount>
                </ItemPrice>
                <ShippingPrice>
                    <CurrencyCode>JPY</CurrencyCode>
                    <Amount>1.26</Amount>
                </ShippingPrice>
                <ScheduledDeliveryEndDate>2013-09-09T01:30:00.000-06:00</ScheduledDeliveryEndDate>
                <ScheduledDeliveryStartDate>2013-09-071T02:00:00.000-06:00</ScheduledDeliveryStartDate>
                <CODFee>
                    <CurrencyCode>JPY</CurrencyCode>
                    <Amount>10.00</Amount>
                </CODFee>
                <CODFeeDiscount>
                    <CurrencyCode>JPY</CurrencyCode>
                    <Amount>1.00</Amount>
                </CODFeeDiscount>
                <IsGift>false</IsGift>
                <GiftMessageText>For you!</GiftMessageText>
                <GiftWrapPrice>
                    <CurrencyCode>JPY</CurrencyCode>
                    <Amount>1.99</Amount>
                </GiftWrapPrice>
                <GiftWrapLevel>Classic</GiftWrapLevel>
                <PriceDesignation>BusinessPrice</PriceDesignation>
            </OrderItem>
            <OrderItem>
                <ASIN>BCTU1104UEFB</ASIN>
                <OrderItemId>79039765272157</OrderItemId>
                <SellerSKU>CBA_OTF_5</SellerSKU>
                <Title>Example item name</Title>
                <QuantityOrdered>2</QuantityOrdered>
                <ItemPrice>
                    <CurrencyCode>JPY</CurrencyCode>
                    <Amount>17.95</Amount>
                </ItemPrice>
                <PromotionIds>
                    <PromotionId>FREESHIP</PromotionId>
                </PromotionIds>
                <ConditionId>Used</ConditionId>
                <ConditionSubtypeId>Mint</ConditionSubtypeId>
                <ConditionNote>Example ConditionNote</ConditionNote>
                <IsGift>false</IsGift>
                <PriceDesignation>BusinessPrice</PriceDesignation>
                <TaxCollection>
                    <Model>MarketplaceFacilitator</Model>
                    <ResponsibleParty>Amazon Services, Inc.</ResponsibleParty>
                </TaxCollection>
            </OrderItem>
        </OrderItems>
    </ListOrderItemsResult>
    <ResponseMetadata>
        <RequestId>88faca76-b600-46d2-b53c-0c8c4533e43a</RequestId>
    </ResponseMetadata>
</ListOrderItemsResponse>