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 Read OrderlistGet a set of orders filtered by the parameters in the XML payload.
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. $fullUri = "https://submit.effectconnect.com/orderlist" $uri = "/orderlist" $apiVersion = "2.0" $http = New-Object Chilkat.Http # Use your effectconnect public key here.. $http.SetRequestHeader("KEY","PUBLIC_KEY") $http.SetRequestHeader("VERSION",$apiVersion) $http.SetRequestHeader("URI",$uri) $http.SetRequestHeader("RESPONSETYPE","XML") $http.SetRequestHeader("RESPONSELANGUAGE","en") # Get the current date/time in timestamp format. $dt = New-Object Chilkat.CkDateTime $dt.SetFromCurrentSystemTime() $timestamp = $dt.GetAsTimestamp($true) $http.SetRequestHeader("TIME",$timestamp) $("timestamp = " + $timestamp) # Create the following XML request body: # <?xml version="1.0" encoding="utf-8"?> # <list> # <filters> # <fromDateFilter> # <filterValue>2018-09-14T12:12:12+01:00</filterValue> # </fromDateFilter> # <toDateFilter> # <filterValue>2019-04-13T23:59:59+01:00</filterValue> # </toDateFilter> # <hasStatusFilter> # <filterValue>paid</filterValue> # </hasStatusFilter> # <hasTagFilter> # <filterValue> # <tagName>Test</tagName> # <exclude>false</exclude> # </filterValue> # </hasTagFilter> # </filters> # </list> # Use this online tool to generate the code from sample XML: # Generate Code to Create XML $xml = New-Object Chilkat.Xml $xml.Tag = "list" $xml.UpdateChildContent("filters|fromDateFilter|filterValue","2018-09-14T12:12:12+01:00") $xml.UpdateChildContent("filters|toDateFilter|filterValue","2019-04-13T23:59:59+01:00") $xml.UpdateChildContent("filters|hasStatusFilter|filterValue","paid") $xml.UpdateChildContent("filters|hasTagFilter|filterValue|tagName","Test") $xml.UpdateChildContent("filters|hasTagFilter|filterValue|exclude","false") $xml.EmitCompact = $true $sbXml = New-Object Chilkat.StringBuilder $xml.GetXmlSb($sbXml) # 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") $http.SetRequestHeader("SIGNATURE",$crypt.MacStringENC($sbStringToSign.GetAsString())) # Send the POST.. $resp = $http.PostXml($fullUri,$xml.GetXml(),"utf-8") 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()) # Remove previously set headers (unless we want the same headers for the next request, # in which case we may remove or update individual headers by calling SetRequestHeader. $http.ClearHeaders() |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.