Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Tcl) Amazon MWS Upload InvoiceDemonstrates how to upload an invoice using _UPLOAD_VAT_INVOICE_FeedType to submit an invoice for an order. For more information, see https://m.media-amazon.com/images/G/03/B2B/invoice-uploader-developer-documentation.pdf
load ./chilkat.dll # This example requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. set rest [new_CkRest] # 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. # # See Amazon MWS endpoints and MarketplaceId values 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" # MarketplaceList.Id parameter This should be the marketplace in which the order was placed. Only one marketplace must be used per order.T # Here are the marketplace ID's # Spain: A1RKKUPIHCS9HS # UK: A1F83G8C2ARO7P # France: A13V1IB3VIYZZH # Germany: A1PA6795UKMFR9 # Italy: APJ6JRA9NG5V4 # ... # (See https://docs.developer.amazonservices.com/en_US/dev_guide/DG_Endpoints.html) # FeedOptions parameter Seller can input key value pairs to give important metadata along with the PDF invoice. CkRest_AddQueryParam $rest "FeedOptions" "metadata:orderid=206-2341234-3455465;metadata:invoicenumber=INT-3431-XJE3;metadata:documenttype=Invoice" # Load the PDF invoice file that is to be the body of the HTTP POST request. set pdfData [new_CkBinData] set success [CkBinData_LoadFile $pdfData "qa_data/pdf/sample.pdf"] # Get the MD5 hash of the PDF data. set crypt [new_CkCrypt2] CkCrypt2_put_HashAlgorithm $crypt "md5" CkCrypt2_put_EncodingMode $crypt "base64" set md5Hash [CkCrypt2_hashBdENC $crypt $pdfData] CkRest_AddQueryParam $rest "AWSAccessKeyId" "0PB842ExampleN4ZTR2" CkRest_AddQueryParam $rest "Action" "SubmitFeed" CkRest_AddQueryParam $rest "FeedType" "_UPLOAD_VAT_INVOICE_" CkRest_AddQueryParam $rest "MWSAuthToken" "EXAMPLE-amzn.mws.4ea38b7b-f563-7709-4bae-87aea-EXAMPLE" CkRest_AddQueryParam $rest "MarketplaceIdList.Id.1" "ATVExampleDER" CkRest_AddQueryParam $rest "SellerId" "A1XExample5E6" CkRest_AddQueryParam $rest "ContentMD5Value" $md5Hash CkRest_AddQueryParam $rest "SignatureMethod" "HmacSHA256" CkRest_AddQueryParam $rest "SignatureVersion" "2" CkRest_AddQueryParam $rest "Version" "2009-01-01" # Add the MWS Signature param. (Also adds the Timestamp parameter using the curent system date/time.) CkRest_AddMwsSignature $rest "POST" "/Feeds/2009-01-01" "mws.amazonservices.com" "YOUR_MWS_SECRET_ACCESS_KEY_ID" CkRest_AddHeader $rest "Content-Type" "application/octet-stream" set sbResponseBody [new_CkStringBuilder] set success [CkRest_FullRequestBd $rest "POST" "/Feeds/2009-01-01" $pdfData $sbResponseBody] if {[CkRest_get_LastMethodSuccess $rest] != 1} then { puts [CkRest_lastErrorText $rest] delete_CkRest $rest delete_CkBinData $pdfData delete_CkCrypt2 $crypt delete_CkStringBuilder $sbResponseBody 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: [CkStringBuilder_getAsString $sbResponseBody]" puts "---" puts "LastRequestStartLine: [CkRest_lastRequestStartLine $rest]" puts "LastRequestHeader: [CkRest_lastRequestHeader $rest]" } # Examine the XML returned in the response body. puts [CkStringBuilder_getAsString $sbResponseBody] puts "----" puts "Success." delete_CkRest $rest delete_CkBinData $pdfData delete_CkCrypt2 $crypt delete_CkStringBuilder $sbResponseBody |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.