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 SP-API Create FeedSee more Amazon SP-API ExamplesCreates a feed. Amazon returns a feedDocumentId value, encryption details, and a URL for uploading the feed contents. For more information, see https://developer-docs.amazon.com/sp-api/docs/feeds-api-v2020-09-04-use-case-guide
load ./chilkat.dll # This example requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. set authAws [new_CkAuthAws] CkAuthAws_put_AccessKey $authAws "AWS_ACCESS_KEY" CkAuthAws_put_SecretKey $authAws "AWS_SECRET_KEY" CkAuthAws_put_ServiceName $authAws "execute-api" # Use the region that is correct for your needs. CkAuthAws_put_Region $authAws "eu-west-1" set rest [new_CkRest] set success [CkRest_Connect $rest "sellingpartnerapi-eu.amazon.com" 443 1 1] if {$success == 0} then { puts [CkRest_lastErrorText $rest] delete_CkAuthAws $authAws delete_CkRest $rest exit } set success [CkRest_SetAuthAws $rest $authAws] # Load the previously obtained LWA access token. # See Fetch SP-API LWA Access Token set jsonToken [new_CkJsonObject] set success [CkJsonObject_LoadFile $jsonToken "qa_data/tokens/sp_api_lwa_token.json"] if {$success == 0} then { puts "Failed to load LWA access token." delete_CkAuthAws $authAws delete_CkRest $rest delete_CkJsonObject $jsonToken exit } # Add the x-amz-access-token request header. set lwa_token [CkJsonObject_stringOf $jsonToken "access_token"] set jsonReq [new_CkJsonObject] CkJsonObject_UpdateString $jsonReq "contentType" "text/tab-separated-values; charset=UTF-8" set sbRequest [new_CkStringBuilder] CkJsonObject_EmitSb $jsonReq $sbRequest CkRest_ClearAllQueryParams $rest CkRest_ClearAllHeaders $rest CkRest_AddHeader $rest "x-amz-access-token" $lwa_token set sbResponse [new_CkStringBuilder] set path "/feeds/2021-06-30/documents" set success [CkRest_FullRequestSb $rest "POST" $path $sbRequest $sbResponse] if {$success == 0} then { puts [CkRest_lastErrorText $rest] delete_CkAuthAws $authAws delete_CkRest $rest delete_CkJsonObject $jsonToken delete_CkJsonObject $jsonReq delete_CkStringBuilder $sbRequest delete_CkStringBuilder $sbResponse exit } # Examine the response status. set statusCode [CkRest_get_ResponseStatusCode $rest] puts "statusCode: $statusCode" if {$statusCode != 201} then { puts "Response status text: [CkRest_responseStatusText $rest]" puts "Response body: " puts [CkStringBuilder_getAsString $sbResponse] puts "Failed." delete_CkAuthAws $authAws delete_CkRest $rest delete_CkJsonObject $jsonToken delete_CkJsonObject $jsonReq delete_CkStringBuilder $sbRequest delete_CkStringBuilder $sbResponse exit } puts [CkStringBuilder_getAsString $sbResponse] # If successful, gets a JSON response such as the following: # { # "feedDocumentId": "3d4e42b5-1d6e-44e8-a89c-2abfca0625bb", # "url": "https://d34o8swod1owfl.cloudfront.net/Feed_101__POST_PRODUCT_DATA_.xml" # } # Use this online tool to generate parsing code from sample JSON: # Generate Parsing Code from JSON set json [new_CkJsonObject] CkJsonObject_LoadSb $json $sbResponse set feedDocumentId [CkJsonObject_stringOf $json "feedDocumentId"] set url [CkJsonObject_stringOf $json "url"] # Save the JSON to a file for the example that constructs the XML feed and uploads.. set success [CkJsonObject_WriteFile $json "qa_data/json/sp_api_feed_upload_info.json"] puts "Success!" delete_CkAuthAws $authAws delete_CkRest $rest delete_CkJsonObject $jsonToken delete_CkJsonObject $jsonReq delete_CkStringBuilder $sbRequest delete_CkStringBuilder $sbResponse delete_CkJsonObject $json |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.