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
(DataFlex) effectconnect Read OrderlistGet a set of orders filtered by the parameters in the XML payload.
Use ChilkatAx-win32.pkg Procedure Test Boolean iSuccess String sFullUri String sUri String sApiVersion Handle hoHttp Handle hoDt String sTimestamp Handle hoXml Variant vSbXml Handle hoSbXml Handle hoSbStringToSign Handle hoCrypt Variant vResp Handle hoResp Resp Handle hoXmlResp String sTemp1 Integer iTemp1 Boolean bTemp1 // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Move "https://submit.effectconnect.com/orderlist" To sFullUri Move "/orderlist" To sUri Move "2.0" To sApiVersion Get Create (RefClass(cComChilkatHttp)) To hoHttp If (Not(IsComObjectCreated(hoHttp))) Begin Send CreateComObject of hoHttp End // Use your effectconnect public key here.. Send ComSetRequestHeader To hoHttp "KEY" "PUBLIC_KEY" Send ComSetRequestHeader To hoHttp "VERSION" sApiVersion Send ComSetRequestHeader To hoHttp "URI" sUri Send ComSetRequestHeader To hoHttp "RESPONSETYPE" "XML" Send ComSetRequestHeader To hoHttp "RESPONSELANGUAGE" "en" // Get the current date/time in timestamp format. Get Create (RefClass(cComCkDateTime)) To hoDt If (Not(IsComObjectCreated(hoDt))) Begin Send CreateComObject of hoDt End Get ComSetFromCurrentSystemTime Of hoDt To iSuccess Get ComGetAsTimestamp Of hoDt True To sTimestamp Send ComSetRequestHeader To hoHttp "TIME" sTimestamp Showln "timestamp = " sTimestamp // 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 Get Create (RefClass(cComChilkatXml)) To hoXml If (Not(IsComObjectCreated(hoXml))) Begin Send CreateComObject of hoXml End Set ComTag Of hoXml To "list" Send ComUpdateChildContent To hoXml "filters|fromDateFilter|filterValue" "2018-09-14T12:12:12+01:00" Send ComUpdateChildContent To hoXml "filters|toDateFilter|filterValue" "2019-04-13T23:59:59+01:00" Send ComUpdateChildContent To hoXml "filters|hasStatusFilter|filterValue" "paid" Send ComUpdateChildContent To hoXml "filters|hasTagFilter|filterValue|tagName" "Test" Send ComUpdateChildContent To hoXml "filters|hasTagFilter|filterValue|exclude" "false" Set ComEmitCompact Of hoXml To True Get Create (RefClass(cComChilkatStringBuilder)) To hoSbXml If (Not(IsComObjectCreated(hoSbXml))) Begin Send CreateComObject of hoSbXml End Get pvComObject of hoSbXml to vSbXml Get ComGetXmlSb Of hoXml vSbXml To iSuccess // Build a string-to-sign and sign it using our effectconnect private key Get Create (RefClass(cComChilkatStringBuilder)) To hoSbStringToSign If (Not(IsComObjectCreated(hoSbStringToSign))) Begin Send CreateComObject of hoSbStringToSign End Get ComLength Of hoSbXml To iTemp1 Get ComAppendInt Of hoSbStringToSign iTemp1 To iSuccess Get ComAppend Of hoSbStringToSign "POST" To iSuccess Get ComAppend Of hoSbStringToSign sUri To iSuccess Get ComAppend Of hoSbStringToSign sApiVersion To iSuccess Get ComAppend Of hoSbStringToSign sTimestamp To iSuccess Get Create (RefClass(cComChilkatCrypt2)) To hoCrypt If (Not(IsComObjectCreated(hoCrypt))) Begin Send CreateComObject of hoCrypt End Set ComMacAlgorithm Of hoCrypt To "hmac" Set ComHashAlgorithm Of hoCrypt To "sha512" Set ComEncodingMode Of hoCrypt To "base64" // Use your effectconnect private key here: Get ComSetMacKeyString Of hoCrypt "PRIVATE_KEY" To iSuccess Get ComMacStringENC Of hoCrypt (ComGetAsString(hoSbStringToSign)) To sTemp1 Send ComSetRequestHeader To hoHttp "SIGNATURE" sTemp1 // Send the POST.. Get ComGetXml Of hoXml To sTemp1 Get ComPostXml Of hoHttp sFullUri sTemp1 "utf-8" To vResp If (IsComObject(vResp)) Begin Get Create (RefClass(cComChilkatHttpResponse)) To hoResp Set pvComObject Of hoResp To vResp End Get ComLastMethodSuccess Of hoHttp To bTemp1 If (bTemp1 = False) Begin Get ComLastErrorText Of hoHttp To sTemp1 Showln sTemp1 Procedure_Return End Get ComStatusCode Of hoResp To iTemp1 Showln "response status code = " iTemp1 // 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. Get Create (RefClass(cComChilkatXml)) To hoXmlResp If (Not(IsComObjectCreated(hoXmlResp))) Begin Send CreateComObject of hoXmlResp End Get ComBodyStr Of hoResp To sTemp1 Get ComLoadXml Of hoXmlResp sTemp1 To iSuccess Send Destroy of hoResp Showln "response body:" Get ComGetXml Of hoXmlResp To sTemp1 Showln sTemp1 // 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. Send ComClearHeaders To hoHttp End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.