Sample code for 30+ languages & platforms
Ruby

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

Ruby
require 'chilkat'

success = false

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

rest = Chilkat::CkRest.new()

# ------------------------------------------------------------
# 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 = true
port = 443
bAutoReconnect = true
success = rest.Connect("mws.amazonservices.com",port,bTls,bAutoReconnect)

rest.put_Host("mws.amazonservices.com")

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

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

responseXml = rest.fullRequestFormUrlEncoded("POST","/Orders/2013-09-01")
if (rest.get_LastMethodSuccess() != true)
    print rest.lastErrorText() + "\n";
    exit
end

if (rest.get_ResponseStatusCode() != 200)
    # Examine the request/response to see what happened.
    print "response status code = " + rest.get_ResponseStatusCode().to_s() + "\n";
    print "response status text = " + rest.responseStatusText() + "\n";
    print "response header: " + rest.responseHeader() + "\n";
    print "response body: " + responseXml + "\n";
    print "---" + "\n";
    print "LastRequestStartLine: " + rest.lastRequestStartLine() + "\n";
    print "LastRequestHeader: " + rest.lastRequestHeader() + "\n";
end

# Examine the XML returned in the response body.
print responseXml + "\n";
print "----" + "\n";
print "Success." + "\n";