PureBasic MWS Orders: List Orders

Back to Index

Returns orders created or updated during a time frame that you specify.

Documentation: http://docs.developer.amazonservices.com/en_US/orders-2013-09-01/Orders_ListOrders.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)

    ListOrdersResponse_xmlns.s
    tagPath.s
    NextToken.s
    LastUpdatedBefore.s
    i.i
    count_i.i
    AmazonOrderId.s
    PurchaseDate.s
    LastUpdateDate.s
    OrderStatus.s
    FulfillmentChannel.s
    SalesChannel.s
    Name.s
    AddressLine1.s
    City.s
    PostalCode.s
    CountryCode.s
    AddressType.s
    CurrencyCode.s
    Amount.s
    NumberOfItemsShipped.i
    NumberOfItemsUnshipped.i
    PaymentMethod.s
    PaymentMethodDetail.s
    MarketplaceId.s
    BuyerEmail.s
    BuyerName.s
    CompanyLegalName.s
    TaxingRegion.s
    Value.s
    OrderType.s
    EarliestShipDate.s
    LatestShipDate.s
    IsBusinessOrder.s
    PurchaseOrderNumber.s
    IsPrime.s
    IsPremiumOrder.s
    BuyerCounty.s
    ShipServiceLevel.s
    j.i
    count_j.i
    ShipmentServiceLevelCategory.s
    RequestId.s

    ListOrdersResponse_xmlns = CkXml::ckGetAttrValue(xmlResponse,"xmlns")
    NextToken = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|NextToken")
    LastUpdatedBefore = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|LastUpdatedBefore")
    i = 0
    count_i = CkXml::ckNumChildrenHavingTag(xmlResponse,"ListOrdersResult|Orders|Order")
    While i < count_i
        CkXml::setCkI(xmlResponse, i)
        AmazonOrderId = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|AmazonOrderId")
        PurchaseDate = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|PurchaseDate")
        LastUpdateDate = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|LastUpdateDate")
        OrderStatus = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|OrderStatus")
        FulfillmentChannel = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|FulfillmentChannel")
        SalesChannel = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|SalesChannel")
        Name = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|ShippingAddress|Name")
        AddressLine1 = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|ShippingAddress|AddressLine1")
        City = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|ShippingAddress|City")
        PostalCode = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|ShippingAddress|PostalCode")
        CountryCode = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|ShippingAddress|CountryCode")
        AddressType = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|ShippingAddress|AddressType")
        CurrencyCode = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|OrderTotal|CurrencyCode")
        Amount = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|OrderTotal|Amount")
        NumberOfItemsShipped = CkXml::ckGetChildIntValue(xmlResponse,"ListOrdersResult|Orders|Order[i]|NumberOfItemsShipped")
        NumberOfItemsUnshipped = CkXml::ckGetChildIntValue(xmlResponse,"ListOrdersResult|Orders|Order[i]|NumberOfItemsUnshipped")
        PaymentMethod = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|PaymentMethod")
        PaymentMethodDetail = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|PaymentMethodDetails|PaymentMethodDetail")
        MarketplaceId = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|MarketplaceId")
        BuyerEmail = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|BuyerEmail")
        BuyerName = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|BuyerName")
        CompanyLegalName = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|BuyerTaxInfo|CompanyLegalName")
        TaxingRegion = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|BuyerTaxInfo|TaxingRegion")
        Name = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|BuyerTaxInfo|TaxClassifications|TaxClassification|Name")
        Value = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|BuyerTaxInfo|TaxClassifications|TaxClassification|Value")
        OrderType = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|OrderType")
        EarliestShipDate = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|EarliestShipDate")
        LatestShipDate = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|LatestShipDate")
        IsBusinessOrder = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|IsBusinessOrder")
        PurchaseOrderNumber = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|PurchaseOrderNumber")
        IsPrime = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|IsPrime")
        IsPremiumOrder = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|IsPremiumOrder")
        BuyerCounty = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|BuyerCounty")
        ShipServiceLevel = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|ShipServiceLevel")
        j = 0
        count_j = CkXml::ckNumChildrenHavingTag(xmlResponse,"ListOrdersResult|Orders|Order[i]|PaymentExecutionDetail|PaymentExecutionDetailItem")
        While j < count_j
            CkXml::setCkJ(xmlResponse, j)
            Amount = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|PaymentExecutionDetail|PaymentExecutionDetailItem[j]|Payment|Amount")
            CurrencyCode = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|PaymentExecutionDetail|PaymentExecutionDetailItem[j]|Payment|CurrencyCode")
            PaymentMethod = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|PaymentExecutionDetail|PaymentExecutionDetailItem[j]|PaymentMethod")
            j = j + 1
        Wend
        ShipmentServiceLevelCategory = CkXml::ckGetChildContent(xmlResponse,"ListOrdersResult|Orders|Order[i]|ShipmentServiceLevelCategory")
        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" ?>
<ListOrdersResponse xmlns="https://mws.amazonservices.com/
    Orders/2013-09-01">
    <ListOrdersResult>
        <NextToken>2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=</NextToken>
        <LastUpdatedBefore>2017-02-25T18%3A10%3A21.687Z</LastUpdatedBefore>
        <Orders>
            <Order>
                <AmazonOrderId>902-3159896-1390916</AmazonOrderId>
                <PurchaseDate>2017-02-20T19:49:35Z</PurchaseDate>
                <LastUpdateDate>2017-02-20T19:49:35Z</LastUpdateDate>
                <OrderStatus>Unshipped</OrderStatus>
                <FulfillmentChannel>MFN</FulfillmentChannel>
                <SalesChannel>Amazon.com</SalesChannel>
                <ShippingAddress>
                    <Name>Buyer name</Name>
                    <AddressLine1>1234 Any St.</AddressLine1>
                    <City>Seattle</City>
                    <PostalCode>98103</PostalCode>
                    <CountryCode>US</CountryCode>
                    <AddressType>Commercial</AddressType>
                </ShippingAddress>
                <OrderTotal>
                    <CurrencyCode>USD</CurrencyCode>
                    <Amount>25.00</Amount>
                </OrderTotal>
                <NumberOfItemsShipped>0</NumberOfItemsShipped>
                <NumberOfItemsUnshipped>1</NumberOfItemsUnshipped>
                <PaymentMethod>Other</PaymentMethod>
                <PaymentMethodDetails>
                    <PaymentMethodDetail>CreditCard</PaymentMethodDetail>
                </PaymentMethodDetails>
                <MarketplaceId>ATVPDKIKX0DER</MarketplaceId>
                <BuyerEmail>5vlhEXAMPLEh9h5@marketplace.amazon.com</BuyerEmail>
                <BuyerName>Buyer name</BuyerName>
                <BuyerTaxInfo>
                    <CompanyLegalName>Company Name</CompanyLegalName>
                    <TaxingRegion>US</TaxingRegion>
                    <TaxClassifications>
                        <TaxClassification>
                            <Name>VATNumber</Name>
                            <Value>XXX123</Value>
                        </TaxClassification>
                    </TaxClassifications>
                </BuyerTaxInfo>
                <OrderType>StandardOrder</OrderType>
                <EarliestShipDate>2017-02-20T19:51:16Z</EarliestShipDate>
                <LatestShipDate>2017-02-25T19:49:35Z</LatestShipDate>
                <IsBusinessOrder>true</IsBusinessOrder>
                <PurchaseOrderNumber>PO12345678</PurchaseOrderNumber>
                <IsPrime>false</IsPrime>
                <IsPremiumOrder>false</IsPremiumOrder>
            </Order>
            <Order>
                <AmazonOrderId>483-3488972-0896720</AmazonOrderId>
                <PurchaseDate>20178-02-20T19:49:35Z</PurchaseDate>
                <LastUpdateDate>2017-02-20T19:49:35Z</LastUpdateDate>
                <OrderStatus>Unshipped</OrderStatus>
                <FulfillmentChannel>MFN</FulfillmentChannel>
                <ShippingAddress>
                    <Name>Buyer name</Name>
                    <AddressLine1>1234 Avenida Qualquer</AddressLine1>
                    <City>Sao Paulo</City>
                    <PostalCode>08474-130</PostalCode>
                    <CountryCode>BR</CountryCode>
                    <AddressType>Residential</AddressType>
                </ShippingAddress>
                <OrderTotal>
                    <CurrencyCode>BRL</CurrencyCode>
                    <Amount>100.00</Amount>
                </OrderTotal>
                <NumberOfItemsShipped>0</NumberOfItemsShipped>
                <NumberOfItemsUnshipped>1</NumberOfItemsUnshipped>
                <PaymentMethod>Other</PaymentMethod>
                <PaymentMethodDetails>
                    <PaymentMethodDetail>CreditCard</PaymentMethodDetail>
                </PaymentMethodDetails>
                <MarketplaceId>A2Q3Y263D00KWC</MarketplaceId>
                <BuyerEmail>5vlhEXAMPLEh9h5@marketplace.amazon.com.br</BuyerEmail>
                <BuyerName>John Jones</BuyerName>
                <BuyerCounty>Vila Olimpia</BuyerCounty>
                <BuyerTaxInfo>
                    <TaxingRegion>BR</TaxingRegion>
                    <TaxClassifications>
                        <TaxClassification>
                            <Name>CSTNumber</Name>
                            <Value>XXX123</Value>
                        </TaxClassification>
                    </TaxClassifications>
                </BuyerTaxInfo>
                <EarliestShipDate>2017-02-20T19:51:16Z</EarliestShipDate>
                <LatestShipDate>2017-02-25T19:49:35Z</LatestShipDate>
                <IsBusinessOrder>false</IsBusinessOrder>
                <IsPrime>false</IsPrime>
                <IsPremiumOrder>false</IsPremiumOrder>
            </Order>
            <Order>
                <AmazonOrderId>058-1233752-8214740</AmazonOrderId>
                <PurchaseDate>2017-02-05T00%3A06%3A07.000Z</PurchaseDate>
                <LastUpdateDate>2017-02-07T12%3A43%3A16.000Z</LastUpdateDate>
                <OrderStatus>Unshipped</OrderStatus>
                <FulfillmentChannel>MFN</FulfillmentChannel>
                <ShipServiceLevel>Std JP Kanto8</ShipServiceLevel>
                <ShippingAddress>
                    <Name>Jane Smith</Name>
                    <AddressLine1>1-2-10 Akasaka</AddressLine1>
                    <City>Tokyo</City>
                    <PostalCode>107-0053</PostalCode>
                    <CountryCode>JP</CountryCode>
                </ShippingAddress>
                <OrderTotal>
                    <CurrencyCode>JPY</CurrencyCode>
                    <Amount>1507.00</Amount>
                </OrderTotal>
                <NumberOfItemsShipped>0</NumberOfItemsShipped>
                <NumberOfItemsUnshipped>1</NumberOfItemsUnshipped>
                <PaymentExecutionDetail>
                    <PaymentExecutionDetailItem>
                        <Payment>
                            <Amount>10.00</Amount>
                            <CurrencyCode>JPY</CurrencyCode>
                        </Payment>
                        <PaymentMethod>PointsAccount</PaymentMethod>
                    </PaymentExecutionDetailItem>
                    <PaymentExecutionDetailItem>
                        <Payment>
                            <Amount>317.00</Amount>
                            <CurrencyCode>JPY</CurrencyCode>
                        </Payment>
                        <PaymentMethod>GC</PaymentMethod>
                    </PaymentExecutionDetailItem>
                    <PaymentExecutionDetailItem>
                        <Payment>
                            <Amount>1180.00</Amount>
                            <CurrencyCode>JPY</CurrencyCode>
                        </Payment>
                        <PaymentMethod>COD</PaymentMethod>
                    </PaymentExecutionDetailItem>
                </PaymentExecutionDetail>
                <PaymentMethod>COD</PaymentMethod>
                <PaymentMethodDetails>
                    <PaymentMethodDetail>COD</PaymentMethodDetail>
                </PaymentMethodDetails>
                <MarketplaceId>A1VC38T7YXB528</MarketplaceId>
                <BuyerEmail>5vlhEXAMPLEh9h5@marketplace.amazon.co.jp</BuyerEmail>
                <BuyerName>Jane Smith</BuyerName>
                <ShipmentServiceLevelCategory>Standard</ShipmentServiceLevelCategory>
                <OrderType>StandardOrder</OrderType>
                <IsBusinessOrder>false</IsBusinessOrder>
                <IsPrime>false</IsPrime>
                <IsPremiumOrder>false</IsPremiumOrder>
            </Order>
        </Orders>
    </ListOrdersResult>
    <ResponseMetadata>
        <RequestId>88faca76-b600-46d2-b53c-0c8c4533e43a</RequestId>
    </ResponseMetadata>
</ListOrdersResponse>