DataFlex
DataFlex
effectconnect Read Orderlist
See more effectconnect Examples
Get a set of orders filtered by the parameters in the XML payload.Chilkat DataFlex Downloads
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
Move False To iSuccess
// 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 Create (RefClass(cComChilkatHttpResponse)) To hoResp
If (Not(IsComObjectCreated(hoResp))) Begin
Send CreateComObject of hoResp
End
Get ComGetXml Of hoXml To sTemp1
Get pvComObject of hoResp to vResp
Get ComHttpStr Of hoHttp "POST" sFullUri sTemp1 "utf-8" "application/xml" vResp To iSuccess
If (iSuccess = 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
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