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) Shopware 6 - Get Reviews of a ProductSee more Shopware 6 ExamplesGet the reviews of a single product (specified by product id). For more information, see https://docs.shopware.com/en/shopware-platform-dev-en/store-api-guide/products
load ./chilkat.dll # This example assumes the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. set http [new_CkHttp] # Sends the following POST # POST /store-api/v1/product/07afcfeb9725469cacb0010000731838/reviews # { # "page": 1, # "limit": 3, # "aggregations": [ # { "type": "avg", "field": "points", "name": "rating-average"} # ], # "includes": { # "product_review": ["id", "content", "title", "createdAt", "points"] # } # } # Use this online tool to generate code from sample JSON: # Generate Code to Create JSON set json [new_CkJsonObject] CkJsonObject_UpdateInt $json "page" 1 CkJsonObject_UpdateInt $json "limit" 3 CkJsonObject_UpdateString $json "aggregations[0].type" "avg" CkJsonObject_UpdateString $json "aggregations[0].field" "points" CkJsonObject_UpdateString $json "aggregations[0].name" "rating-average" CkJsonObject_UpdateString $json "includes.product_review[0]" "id" CkJsonObject_UpdateString $json "includes.product_review[1]" "content" CkJsonObject_UpdateString $json "includes.product_review[2]" "title" CkJsonObject_UpdateString $json "includes.product_review[3]" "createdAt" CkJsonObject_UpdateString $json "includes.product_review[4]" "points" # This request simply authenticates with the sw-access-key you can interactively copy from your # sales channel in the Shopware 6 administration web portal. # We do NOT use OAuth2 for Store API requests. CkHttp_SetRequestHeader $http "sw-access-key" "<sales-channel-api-access-key>" CkHttp_SetUrlVar $http "id" "07afcfeb9725469cacb0010000731838" # resp is a CkHttpResponse set resp [CkHttp_PostJson3 $http "https://my-shopware-6-shop.de/store-api/v3/product/{$id}/reviews" "application/json" $json] if {[CkHttp_get_LastMethodSuccess $http] == 0} then { puts [CkHttp_lastErrorText $http] delete_CkHttp $http delete_CkJsonObject $json exit } set sbResponseBody [new_CkStringBuilder] CkHttpResponse_GetBodySb $resp $sbResponseBody set jResp [new_CkJsonObject] CkJsonObject_LoadSb $jResp $sbResponseBody CkJsonObject_put_EmitCompact $jResp 0 puts "Response Body:" puts [CkJsonObject_emit $jResp] # If we get a 401 response, it may be that our access token expired and we need to fetch a new one. set respStatusCode [CkHttpResponse_get_StatusCode $resp] puts "Response Status Code = $respStatusCode" if {$respStatusCode >= 400} then { puts "Response Header:" puts [CkHttpResponse_header $resp] puts "Failed." delete_CkHttpResponse $resp delete_CkHttp $http delete_CkJsonObject $json delete_CkStringBuilder $sbResponseBody delete_CkJsonObject $jResp exit } delete_CkHttpResponse $resp # Sample JSON response: # (Sample code for parsing the JSON response is shown below) # { # "total": 3, # "aggregations": { # "rating-average": { # "avg": 5, # "apiAlias": "rating-average_aggregation" # } # }, # "elements": [ # { # "points": 5, # "content": "Lorem ipsum dolor ... sit amet.", # "title": "Really cool product", # "createdAt": "2020-08-27T09:49:48.776+00:00", # "id": "0fa91ce3e96a4bc2be4bd9ce752c3425", # "apiAlias": "product_review" # }, # { # "points": 5, # "content": "Lorem ipsum dolor ... sit amet.", # "title": "Really cool product", # "createdAt": "2020-08-27T09:49:48.776+00:00", # "id": "211c5785d293434c9ef3c624c675f545", # "apiAlias": "product_review" # }, # { # "points": 5, # "content": "Lorem ipsum dolor ... sit amet.", # "title": "Really cool product", # "createdAt": "2020-08-27T09:49:48.776+00:00", # "id": "2fbb5fe2e29a4d70aa5854ce7ce3e20b", # "apiAlias": "product_review" # } # ], # "apiAlias": "dal_entity_search_result" # } # Sample code for parsing the JSON response... # Use the following online tool to generate parsing code from sample JSON: # Generate Parsing Code from JSON set total [CkJsonObject_IntOf $jResp "total"] set aggregationsRating_averageAvg [CkJsonObject_IntOf $jResp "aggregations.rating-average.avg"] set aggregationsRating_averageApiAlias [CkJsonObject_stringOf $jResp "aggregations.rating-average.apiAlias"] set apiAlias [CkJsonObject_stringOf $jResp "apiAlias"] set i 0 set count_i [CkJsonObject_SizeOfArray $jResp "elements"] while {$i < $count_i} { CkJsonObject_put_I $jResp $i set points [CkJsonObject_IntOf $jResp "elements[i].points"] set content [CkJsonObject_stringOf $jResp "elements[i].content"] set title [CkJsonObject_stringOf $jResp "elements[i].title"] set createdAt [CkJsonObject_stringOf $jResp "elements[i].createdAt"] set id [CkJsonObject_stringOf $jResp "elements[i].id"] set apiAlias [CkJsonObject_stringOf $jResp "elements[i].apiAlias"] set i [expr $i + 1] } delete_CkHttp $http delete_CkJsonObject $json delete_CkStringBuilder $sbResponseBody delete_CkJsonObject $jResp |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.