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
(Perl) effectconnect Read OrderlistGet a set of orders filtered by the parameters in the XML payload.
use chilkat(); # 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 = chilkat::CkHttp->new(); # 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 = chilkat::CkDateTime->new(); $dt->SetFromCurrentSystemTime(); $timestamp = $dt->getAsTimestamp(1); $http->SetRequestHeader("TIME",$timestamp); print "timestamp = " . $timestamp . "\r\n"; # 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 = chilkat::CkXml->new(); $xml->put_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->put_EmitCompact(1); $sbXml = chilkat::CkStringBuilder->new(); $xml->GetXmlSb($sbXml); # Build a string-to-sign and sign it using our effectconnect private key $sbStringToSign = chilkat::CkStringBuilder->new(); $sbStringToSign->AppendInt($sbXml->get_Length()); $sbStringToSign->Append("POST"); $sbStringToSign->Append($uri); $sbStringToSign->Append($apiVersion); $sbStringToSign->Append($timestamp); $crypt = chilkat::CkCrypt2->new(); $crypt->put_MacAlgorithm("hmac"); $crypt->put_HashAlgorithm("sha512"); $crypt->put_EncodingMode("base64"); # Use your effectconnect private key here: $crypt->SetMacKeyString("PRIVATE_KEY"); $http->SetRequestHeader("SIGNATURE",$crypt->macStringENC($sbStringToSign->getAsString())); # Send the POST.. # resp is a HttpResponse $resp = $http->PostXml($fullUri,$xml->getXml(),"utf-8"); if ($http->get_LastMethodSuccess() == 0) { print $http->lastErrorText() . "\r\n"; exit; } print "response status code = " . $resp->get_StatusCode() . "\r\n"; # 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 = chilkat::CkXml->new(); $xmlResp->LoadXml($resp->bodyStr()); print "response body:" . "\r\n"; print $xmlResp->getXml() . "\r\n"; # 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.