Sample code for 30+ languages & platforms
PureBasic

MWS List Orders (Amazon Marketplace Web Service)

See more Amazon MWS Examples

Send an MWS ListOrders request to return a list of orders created or updated during a time frame.

Important: The Chilkat v9.5.0.75 release accidentally breaks Amazon MWS (not AWS) authentication. If you need MWS with 9.5.0.75, send email to support@chilkatsoft.com for a hotfix, or revert back to v9.5.0.73, or update to a version after 9.5.0.75.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkRest.pb"

Procedure ChilkatExample()

    success.i = 0

    ; This example requires the Chilkat API to have been previously unlocked.
    ; See Global Unlock Sample for sample code.

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

    ; ------------------------------------------------------------
    ; About using Chilkat with Amazon Marketplace SP-API
    ; ------------------------------------------------------------

    ; Connect to the Amazon MWS REST server.
    ; 
    ; Make sure to connect to the correct Amazon MWS Endpoint, otherwise
    ; you'll get an HTTP 401 response code.
    ; 
    ; The possible servers are:
    ; 
    ; North America (NA) 	https://mws.amazonservices.com
    ; Europe (EU) 	https://mws-eu.amazonservices.com
    ; India (IN) 	https://mws.amazonservices.in
    ; China (CN) 	https://mws.amazonservices.com.cn
    ; Japan (JP) 	https://mws.amazonservices.jp 
    ; 
    bTls.i = 1
    port.i = 443
    bAutoReconnect.i = 1
    success = CkRest::ckConnect(rest,"mws.amazonservices.com",port,bTls,bAutoReconnect)

    CkRest::setCkHost(rest, "mws.amazonservices.com")

    ; Add query params
    CkRest::ckAddQueryParam(rest,"Action","ListOrders")
    CkRest::ckAddQueryParam(rest,"CreatedAfter","2016-12-31T23:00:00Z")
    CkRest::ckAddQueryParam(rest,"MarketplaceId.Id.1","MWS_MARKETPLACE_ID")
    CkRest::ckAddQueryParam(rest,"SellerId","MWS_SELLER_ID")
    CkRest::ckAddQueryParam(rest,"AWSAccessKeyId","MWS_ACCESS_KEY_ID")
    CkRest::ckAddQueryParam(rest,"SignatureVersion","2")
    CkRest::ckAddQueryParam(rest,"SignatureMethod","HmacSHA256")
    CkRest::ckAddQueryParam(rest,"Version","2013-09-01")

    ; Add the MWS Signature param.  (Also adds the Timestamp parameter using the curent system date/time.)
    CkRest::ckAddMwsSignature(rest,"POST","/Orders/2013-09-01","mws.amazonservices.com","MWS_SECRET_ACCESS_KEY_ID")

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

    If CkRest::ckResponseStatusCode(rest) <> 200
        ; Examine the request/response to see what happened.
        Debug "response status code = " + Str(CkRest::ckResponseStatusCode(rest))
        Debug "response status text = " + CkRest::ckResponseStatusText(rest)
        Debug "response header: " + CkRest::ckResponseHeader(rest)
        Debug "response body: " + responseXml
        Debug "---"
        Debug "LastRequestStartLine: " + CkRest::ckLastRequestStartLine(rest)
        Debug "LastRequestHeader: " + CkRest::ckLastRequestHeader(rest)
    EndIf

    ; Examine the XML returned in the response body.
    Debug responseXml
    Debug "----"
    Debug "Success."


    CkRest::ckDispose(rest)


    ProcedureReturn
EndProcedure