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) effectconnect Read OrderlistGet a set of orders filtered by the parameters in the XML payload.
load ./chilkat.dll # This example assumes the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. set fullUri "https://submit.effectconnect.com/orderlist" set uri "/orderlist" set apiVersion "2.0" set http [new_CkHttp] # Use your effectconnect public key here.. CkHttp_SetRequestHeader $http "KEY" "PUBLIC_KEY" CkHttp_SetRequestHeader $http "VERSION" $apiVersion CkHttp_SetRequestHeader $http "URI" $uri CkHttp_SetRequestHeader $http "RESPONSETYPE" "XML" CkHttp_SetRequestHeader $http "RESPONSELANGUAGE" "en" # Get the current date/time in timestamp format. set dt [new_CkDateTime] CkDateTime_SetFromCurrentSystemTime $dt set timestamp [CkDateTime_getAsTimestamp $dt 1] CkHttp_SetRequestHeader $http "TIME" $timestamp puts "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 set xml [new_CkXml] CkXml_put_Tag $xml "list" CkXml_UpdateChildContent $xml "filters|fromDateFilter|filterValue" "2018-09-14T12:12:12+01:00" CkXml_UpdateChildContent $xml "filters|toDateFilter|filterValue" "2019-04-13T23:59:59+01:00" CkXml_UpdateChildContent $xml "filters|hasStatusFilter|filterValue" "paid" CkXml_UpdateChildContent $xml "filters|hasTagFilter|filterValue|tagName" "Test" CkXml_UpdateChildContent $xml "filters|hasTagFilter|filterValue|exclude" "false" CkXml_put_EmitCompact $xml 1 set sbXml [new_CkStringBuilder] CkXml_GetXmlSb $xml $sbXml # Build a string-to-sign and sign it using our effectconnect private key set sbStringToSign [new_CkStringBuilder] CkStringBuilder_AppendInt $sbStringToSign [CkStringBuilder_get_Length $sbXml] CkStringBuilder_Append $sbStringToSign "POST" CkStringBuilder_Append $sbStringToSign $uri CkStringBuilder_Append $sbStringToSign $apiVersion CkStringBuilder_Append $sbStringToSign $timestamp set crypt [new_CkCrypt2] CkCrypt2_put_MacAlgorithm $crypt "hmac" CkCrypt2_put_HashAlgorithm $crypt "sha512" CkCrypt2_put_EncodingMode $crypt "base64" # Use your effectconnect private key here: CkCrypt2_SetMacKeyString $crypt "PRIVATE_KEY" CkHttp_SetRequestHeader $http "SIGNATURE" [CkCrypt2_macStringENC $crypt [CkStringBuilder_getAsString $sbStringToSign]] # Send the POST.. # resp is a CkHttpResponse set resp [CkHttp_PostXml $http $fullUri [CkXml_getXml $xml] "utf-8"] if {[CkHttp_get_LastMethodSuccess $http] == 0} then { puts [CkHttp_lastErrorText $http] delete_CkHttp $http delete_CkDateTime $dt delete_CkXml $xml delete_CkStringBuilder $sbXml delete_CkStringBuilder $sbStringToSign delete_CkCrypt2 $crypt exit } puts "response status code = [CkHttpResponse_get_StatusCode $resp]" # 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. set xmlResp [new_CkXml] CkXml_LoadXml $xmlResp [CkHttpResponse_bodyStr $resp] delete_CkHttpResponse $resp puts "response body:" puts [CkXml_getXml $xmlResp] # 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. CkHttp_ClearHeaders $http delete_CkHttp $http delete_CkDateTime $dt delete_CkXml $xml delete_CkStringBuilder $sbXml delete_CkStringBuilder $sbStringToSign delete_CkCrypt2 $crypt delete_CkXml $xmlResp |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.