Sample code for 30+ languages & platforms
VBScript

effectconnect Read Orderlist

See more effectconnect Examples

Get a set of orders filtered by the parameters in the XML payload.

Chilkat VBScript Downloads

VBScript
Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
'Create a Unicode (utf-16) output text file.
Set outFile = fso.CreateTextFile("output.txt", True, True)

success = 0

' 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"

set http = CreateObject("Chilkat.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.
set dt = CreateObject("Chilkat.CkDateTime")
success = dt.SetFromCurrentSystemTime()
timestamp = dt.GetAsTimestamp(1)

http.SetRequestHeader "TIME",timestamp
outFile.WriteLine("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

set xml = CreateObject("Chilkat.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 = 1

set sbXml = CreateObject("Chilkat.StringBuilder")
success = xml.GetXmlSb(sbXml)

' Build a string-to-sign and sign it using our effectconnect private key
set sbStringToSign = CreateObject("Chilkat.StringBuilder")
success = sbStringToSign.AppendInt(sbXml.Length)
success = sbStringToSign.Append("POST")
success = sbStringToSign.Append(uri)
success = sbStringToSign.Append(apiVersion)
success = sbStringToSign.Append(timestamp)

set crypt = CreateObject("Chilkat.Crypt2")
crypt.MacAlgorithm = "hmac"
crypt.HashAlgorithm = "sha512"
crypt.EncodingMode = "base64"
' Use your effectconnect private key here:
success = crypt.SetMacKeyString("PRIVATE_KEY")
http.SetRequestHeader "SIGNATURE",crypt.MacStringENC(sbStringToSign.GetAsString())

' Send the POST..
set resp = CreateObject("Chilkat.HttpResponse")
success = http.HttpStr("POST",fullUri,xml.GetXml(),"utf-8","application/xml",resp)
If (success = 0) Then
    outFile.WriteLine(http.LastErrorText)
    WScript.Quit
End If

outFile.WriteLine("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.
set xmlResp = CreateObject("Chilkat.Xml")
success = xmlResp.LoadXml(resp.BodyStr)

outFile.WriteLine("response body:")
outFile.WriteLine(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 

outFile.Close