Go
Go
effectconnect Read Orderlist
See more effectconnect Examples
Get a set of orders filtered by the parameters in the XML payload.Chilkat Go Downloads
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 := chilkat.NewHttp()
// 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.NewCkDateTime()
dt.SetFromCurrentSystemTime()
timestamp := dt.GetAsTimestamp(true)
http.SetRequestHeader("TIME",*timestamp)
fmt.Println("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 := chilkat.NewXml()
xml.SetTag("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.SetEmitCompact(true)
sbXml := chilkat.NewStringBuilder()
xml.GetXmlSb(sbXml)
// Build a string-to-sign and sign it using our effectconnect private key
sbStringToSign := chilkat.NewStringBuilder()
sbStringToSign.AppendInt(sbXml.Length())
sbStringToSign.Append("POST")
sbStringToSign.Append(uri)
sbStringToSign.Append(apiVersion)
sbStringToSign.Append(*timestamp)
crypt := chilkat.NewCrypt2()
crypt.SetMacAlgorithm("hmac")
crypt.SetHashAlgorithm("sha512")
crypt.SetEncodingMode("base64")
// Use your effectconnect private key here:
crypt.SetMacKeyString("PRIVATE_KEY")
http.SetRequestHeader("SIGNATURE",*crypt.MacStringENC(*sbStringToSign.GetAsString()))
// Send the POST..
resp := chilkat.NewHttpResponse()
success = http.HttpStr("POST",fullUri,*xml.GetXml(),"utf-8","application/xml",resp)
if success == false {
fmt.Println(http.LastErrorText())
http.DisposeHttp()
dt.DisposeCkDateTime()
xml.DisposeXml()
sbXml.DisposeStringBuilder()
sbStringToSign.DisposeStringBuilder()
crypt.DisposeCrypt2()
resp.DisposeHttpResponse()
return
}
fmt.Println("response status code = ", 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 := chilkat.NewXml()
xmlResp.LoadXml(resp.BodyStr())
fmt.Println("response body:")
fmt.Println(*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()
http.DisposeHttp()
dt.DisposeCkDateTime()
xml.DisposeXml()
sbXml.DisposeStringBuilder()
sbStringToSign.DisposeStringBuilder()
crypt.DisposeCrypt2()
resp.DisposeHttpResponse()
xmlResp.DisposeXml()