Chilkat2-Python
Chilkat2-Python
effectconnect Read Orderlist
See more effectconnect Examples
Get a set of orders filtered by the parameters in the XML payload.Chilkat Chilkat2-Python Downloads
import sys
import chilkat2
success = False
# 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 = chilkat2.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 = chilkat2.CkDateTime()
dt.SetFromCurrentSystemTime()
timestamp = dt.GetAsTimestamp(True)
http.SetRequestHeader("TIME",timestamp)
print("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 = chilkat2.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 = chilkat2.StringBuilder()
xml.GetXmlSb(sbXml)
# Build a string-to-sign and sign it using our effectconnect private key
sbStringToSign = chilkat2.StringBuilder()
sbStringToSign.AppendInt(sbXml.Length)
sbStringToSign.Append("POST")
sbStringToSign.Append(uri)
sbStringToSign.Append(apiVersion)
sbStringToSign.Append(timestamp)
crypt = chilkat2.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 = chilkat2.HttpResponse()
success = http.HttpStr("POST",fullUri,xml.GetXml(),"utf-8","application/xml",resp)
if (success == False):
print(http.LastErrorText)
sys.exit()
print("response status code = " + str(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 = chilkat2.Xml()
xmlResp.LoadXml(resp.BodyStr)
print("response body:")
print(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()