Sample code for 30+ languages & platforms
Tcl

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 Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

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

set rest [new_CkRest]

# ------------------------------------------------------------
# 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 
# 
set bTls 1
set port 443
set bAutoReconnect 1
set success [CkRest_Connect $rest "mws.amazonservices.com" $port $bTls $bAutoReconnect]

CkRest_put_Host $rest "mws.amazonservices.com"

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

# Add the MWS Signature param.  (Also adds the Timestamp parameter using the curent system date/time.)
CkRest_AddMwsSignature $rest "POST" "/Orders/2013-09-01" "mws.amazonservices.com" "MWS_SECRET_ACCESS_KEY_ID"

set responseXml [CkRest_fullRequestFormUrlEncoded $rest "POST" "/Orders/2013-09-01"]
if {[CkRest_get_LastMethodSuccess $rest] != 1} then {
    puts [CkRest_lastErrorText $rest]
    delete_CkRest $rest
    exit
}

if {[CkRest_get_ResponseStatusCode $rest] != 200} then {
    # Examine the request/response to see what happened.
    puts "response status code = [CkRest_get_ResponseStatusCode $rest]"
    puts "response status text = [CkRest_responseStatusText $rest]"
    puts "response header: [CkRest_responseHeader $rest]"
    puts "response body: $responseXml"
    puts "---"
    puts "LastRequestStartLine: [CkRest_lastRequestStartLine $rest]"
    puts "LastRequestHeader: [CkRest_lastRequestHeader $rest]"
}

# Examine the XML returned in the response body.
puts "$responseXml"
puts "----"
puts "Success."

delete_CkRest $rest