Sample code for 30+ languages & platforms
PureBasic

MWS List Orders by Next Token (Amazon Marketplace Web Service)

See more Amazon MWS Examples

Returns the next page of orders using the NextToken parameter.

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.

    ; See MWS List Orders By Next Token for additional details 

    ; We need to send a GET request like this:

    ; https://mws.amazonservices.jp/Orders/2013-09-01
    ;   ?AWSAccessKeyId=0PB842EXAMPLE7N4ZTR2
    ;   &Action=ListOrdersByNextToken
    ;   &MWSAuthToken=amzn.mws.4ea38b7b-f563-7709-4bae-87aeaEXAMPLE
    ;   &SellerId=A2986ZQ066CH2F
    ;   &Signature=ZQLpf8vEXAMPLE0iC265pf18n0%3D
    ;   &SignatureVersion=2
    ;   &SignatureMethod=HmacSHA256
    ;   &NextToken=2YgYW55IGNhcm5hbCBwbGVhc3VyZS4%3D
    ;   &Timestamp=2017-02-05T18%3A12%3A21.687Z
    ;   &Version=2013-09-01

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

    ; 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,"NextToken","THE_NEXT_TOKEN_FROM_THE_PREVIOUS_REPLY")
    CkRest::ckAddQueryParam(rest,"Action","ListOrdersByNextToken")
    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