Sample code for 30+ languages & platforms
Tcl

HTTPS MWS List Orders (Amazon Marketplace Web Service)

See more HTTP Misc Examples

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

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

# This example assumes the Chilkat HTTP API to have been previously unlocked.
# See Global Unlock Sample for sample code.

set http [new_CkHttp]

# Make sure to connect to the correct Amazon MWS Endpoing, 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 
# 

# Build the HTTP request.
set req [new_CkHttpRequest]

# Add query params
CkHttpRequest_AddParam $req "Action" "ListOrders"
CkHttpRequest_AddParam $req "CreatedAfter" "2016-12-31T23:00:00Z"
CkHttpRequest_AddParam $req "MarketplaceId.Id.1" "MWS_MARKETPLACE_ID"
CkHttpRequest_AddParam $req "SellerId" "MWS_SELLER_ID"
CkHttpRequest_AddParam $req "AWSAccessKeyId" "MWS_ACCESS_KEY_ID"
CkHttpRequest_AddParam $req "SignatureVersion" "2"
CkHttpRequest_AddParam $req "SignatureMethod" "HmacSHA256"
CkHttpRequest_AddParam $req "Version" "2013-09-01"

# Set the HTTP verb and path.
CkHttpRequest_put_Path $req "/Orders/2013-09-01"
CkHttpRequest_put_HttpVerb $req "POST"

# Add the MWS Signature after the verb, path, and all params have been set.
CkHttpRequest_AddMwsSignature $req "mws.amazonservices.com" "MWS_SECRET_ACCESS_KEY_ID"

CkHttpRequest_put_ContentType $req "application/x-www-form-urlencoded"

set resp [new_CkHttpResponse]

set success [CkHttp_HttpReq $http "https://mws.amazonservices.com/Orders/2013-09-01" $req $resp]
if {$success == 0} then {
    puts [CkHttp_lastErrorText $http]
    delete_CkHttp $http
    delete_CkHttpRequest $req
    delete_CkHttpResponse $resp
    exit
}

if {[CkHttpResponse_get_StatusCode $resp] != 200} then {
    puts "Non-success status code: [CkHttpResponse_get_StatusCode $resp]"
    puts [CkHttpResponse_bodyStr $resp]
    delete_CkHttp $http
    delete_CkHttpRequest $req
    delete_CkHttpResponse $resp
    exit
}

# Examine the XML returned in the response body.
puts [CkHttpResponse_bodyStr $resp]
puts "----"
puts "Success."

delete_CkHttp $http
delete_CkHttpRequest $req
delete_CkHttpResponse $resp