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
(PowerShell) effectconnect Create or Replace Product CatalogUse this call to create or replace a product catalog in EffectConnect. This is always a purge and replace action for the entire catalog.
Add-Type -Path "C:\chilkat\ChilkatDotNet47-9.5.0-x64\ChilkatDotNet47.dll" # This example assumes the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. $uri = "/products" $apiVersion = "2.0" $http = New-Object Chilkat.Http $req = New-Object Chilkat.HttpRequest # Use your effectconnect public key here... $req.AddHeader("KEY","PUBLIC_KEY") $req.AddHeader("VERSION",$apiVersion) $req.AddHeader("URI",$uri) $req.AddHeader("RESPONSETYPE","XML") $req.AddHeader("RESPONSELANGUAGE","en") # Get the current date/time in timestamp format. $dt = New-Object Chilkat.CkDateTime $dt.SetFromCurrentSystemTime() $timestamp = $dt.GetAsTimestamp($true) $req.AddHeader("TIME",$timestamp) $("timestamp = " + $timestamp) $sbXml = New-Object Chilkat.StringBuilder $success = $sbXml.LoadFile("qa_data/xml/effectconnect/effconCreate.xml","utf-8") $("length = " + $sbXml.Length) $req.HttpVerb = "POST" $req.Path = $uri $req.ContentType = "multipart/form-data" $success = $req.AddStringForUpload("payload","effcon.xml",$sbXml.GetAsString(),"utf-8") if ($success -eq $false) { $($req.LastErrorText) exit } # Build a string-to-sign and sign it using our effectconnect private key $sbStringToSign = New-Object Chilkat.StringBuilder $sbStringToSign.AppendInt($sbXml.Length) $sbStringToSign.Append("POST") $sbStringToSign.Append($uri) $sbStringToSign.Append($apiVersion) $sbStringToSign.Append($timestamp) $crypt = New-Object Chilkat.Crypt2 $crypt.MacAlgorithm = "hmac" $crypt.HashAlgorithm = "sha512" $crypt.EncodingMode = "base64" # Use your effectconnect private key here: $crypt.SetMacKeyString("PRIVATE_KEY") $req.AddHeader("SIGNATURE",$crypt.MacStringENC($sbStringToSign.GetAsString())) $resp = $http.SynchronousRequest("submit.effectconnect.com",443,$true,$req) if ($http.LastMethodSuccess -eq $false) { $($http.LastErrorText) exit } $("response status code = " + $resp.StatusCode) # Examine the response. The response status code can be 200 for both errors and success. # The success or error is based on the XML returned in the response body. $xmlResp = New-Object Chilkat.Xml $xmlResp.LoadXml($resp.BodyStr) $("response body:") $($xmlResp.GetXml()) # A sample response: # <?xml version="1.0" encoding="utf-8"?> # <ApiResponseContainer> # <Request> # <RequestType>Products</RequestType> # <RequestAction>Create</RequestAction> # <RequestVersion>2.0</RequestVersion> # <RequestIdentifier/> # <ProcessedAt>2019-04-18T15:28:55+02:00</ProcessedAt> # </Request> # <Response> # <Result>Success</Result> # <ProductsCreateResponseContainer> # <ProcessID><![CDATA[J048hgS4OkNn0JnH]]></ProcessID> # </ProductsCreateResponseContainer> # </Response> # </ApiResponseContainer> # Parsing the response... $RequestType = $xmlResp.GetChildContent("Request|RequestType") $RequestAction = $xmlResp.GetChildContent("Request|RequestAction") $RequestVersion = $xmlResp.GetChildContent("Request|RequestVersion") $ProcessedAt = $xmlResp.GetChildContent("Request|ProcessedAt") $Result = $xmlResp.GetChildContent("Response|Result") $ProcessID = $xmlResp.GetChildContent("Response|ProductsCreateResponseContainer|ProcessID") |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.