Sample code for 30+ languages & platforms
VB.NET

effectconnect Read Orderlist

See more effectconnect Examples

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

Chilkat VB.NET Downloads

VB.NET
Dim success As Boolean = False

' This example assumes the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.

Dim fullUri As String = "https://submit.effectconnect.com/orderlist"
Dim uri As String = "/orderlist"
Dim apiVersion As String = "2.0"

Dim http As New 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.
Dim dt As New Chilkat.CkDateTime
dt.SetFromCurrentSystemTime()
Dim timestamp As String = dt.GetAsTimestamp(True)

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

Dim xml As New 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 = True

Dim sbXml As New Chilkat.StringBuilder
xml.GetXmlSb(sbXml)

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

Dim crypt As New Chilkat.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..
Dim resp As New Chilkat.HttpResponse
success = http.HttpStr("POST",fullUri,xml.GetXml(),"utf-8","application/xml",resp)
If (success = False) Then
    Debug.WriteLine(http.LastErrorText)
    Exit Sub
End If


Debug.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.
Dim xmlResp As New Chilkat.Xml
xmlResp.LoadXml(resp.BodyStr)

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