SQL Server
SQL Server
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 SQL Server Downloads
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls.
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
DECLARE @hr int
DECLARE @iTmp0 int
-- Important: Do not use nvarchar(max). See the warning about using nvarchar(max).
DECLARE @sTmp0 nvarchar(4000)
DECLARE @success int
SELECT @success = 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
DECLARE @rest int
EXEC @hr = sp_OACreate 'Chilkat.Rest', @rest OUT
IF @hr <> 0
BEGIN
PRINT 'Failed to create ActiveX component'
RETURN
END
-- 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
--
DECLARE @bTls int
SELECT @bTls = 1
DECLARE @port int
SELECT @port = 443
DECLARE @bAutoReconnect int
SELECT @bAutoReconnect = 1
EXEC sp_OAMethod @rest, 'Connect', @success OUT, 'mws.amazonservices.com', @port, @bTls, @bAutoReconnect
EXEC sp_OASetProperty @rest, 'Host', 'mws.amazonservices.com'
-- Add query params
EXEC sp_OAMethod @rest, 'AddQueryParam', @success OUT, 'NextToken', 'THE_NEXT_TOKEN_FROM_THE_PREVIOUS_REPLY'
EXEC sp_OAMethod @rest, 'AddQueryParam', @success OUT, 'Action', 'ListOrdersByNextToken'
EXEC sp_OAMethod @rest, 'AddQueryParam', @success OUT, 'MarketplaceId.Id.1', 'MWS_MARKETPLACE_ID'
EXEC sp_OAMethod @rest, 'AddQueryParam', @success OUT, 'SellerId', 'MWS_SELLER_ID'
EXEC sp_OAMethod @rest, 'AddQueryParam', @success OUT, 'AWSAccessKeyId', 'MWS_ACCESS_KEY_ID'
EXEC sp_OAMethod @rest, 'AddQueryParam', @success OUT, 'SignatureVersion', '2'
EXEC sp_OAMethod @rest, 'AddQueryParam', @success OUT, 'SignatureMethod', 'HmacSHA256'
EXEC sp_OAMethod @rest, 'AddQueryParam', @success OUT, 'Version', '2013-09-01'
-- Add the MWS Signature param. (Also adds the Timestamp parameter using the curent system date/time.)
EXEC sp_OAMethod @rest, 'AddMwsSignature', @success OUT, 'POST', '/Orders/2013-09-01', 'mws.amazonservices.com', 'MWS_SECRET_ACCESS_KEY_ID'
DECLARE @responseXml nvarchar(4000)
EXEC sp_OAMethod @rest, 'FullRequestFormUrlEncoded', @responseXml OUT, 'POST', '/Orders/2013-09-01'
EXEC sp_OAGetProperty @rest, 'LastMethodSuccess', @iTmp0 OUT
IF @iTmp0 <> 1
BEGIN
EXEC sp_OAGetProperty @rest, 'LastErrorText', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @rest
RETURN
END
EXEC sp_OAGetProperty @rest, 'ResponseStatusCode', @iTmp0 OUT
IF @iTmp0 <> 200
BEGIN
-- Examine the request/response to see what happened.
EXEC sp_OAGetProperty @rest, 'ResponseStatusCode', @iTmp0 OUT
PRINT 'response status code = ' + @iTmp0
EXEC sp_OAGetProperty @rest, 'ResponseStatusText', @sTmp0 OUT
PRINT 'response status text = ' + @sTmp0
EXEC sp_OAGetProperty @rest, 'ResponseHeader', @sTmp0 OUT
PRINT 'response header: ' + @sTmp0
PRINT 'response body: ' + @responseXml
PRINT '---'
EXEC sp_OAGetProperty @rest, 'LastRequestStartLine', @sTmp0 OUT
PRINT 'LastRequestStartLine: ' + @sTmp0
EXEC sp_OAGetProperty @rest, 'LastRequestHeader', @sTmp0 OUT
PRINT 'LastRequestHeader: ' + @sTmp0
END
-- Examine the XML returned in the response body.
PRINT @responseXml
PRINT '----'
PRINT 'Success.'
EXEC @hr = sp_OADestroy @rest
END
GO