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 Product UpdateUse this call to update a product (f.e. stock or price) in EffectConnect.
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/effconUpdate.xml","utf-8") $("length = " + $sbXml.Length) $req.HttpVerb = "PUT" $req.Path = $uri $req.ContentType = "multipart/form-data" $success = $req.AddStringForUpload("payload","effconUpdate.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("PUT") $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>Update</RequestAction> # <RequestVersion>2.0</RequestVersion> # <RequestIdentifier/> # <ProcessedAt>2019-04-18T15:37:32+02:00</ProcessedAt> # </Request> # <Response> # <Result>Success</Result> # <ProductsUpdateResponseContainer> # <ProcessID><![CDATA[f81ngzD2S7gooFk3]]></ProcessID> # </ProductsUpdateResponseContainer> # </Response> # </ApiResponseContainer> # $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|ProductsUpdateResponseContainer|ProcessID") |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.