Sample code for 30+ languages & platforms
Visual FoxPro

ETrade v1 List Orders

See more HTTP Misc Examples

Gets the order details for a selected brokerage account based on the search criteria provided.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loHttp
LOCAL loJson
LOCAL lcRespStr
LOCAL lnStatusCode
LOCAL loXml
LOCAL i
LOCAL lnCount_i
LOCAL lcTagPath
LOCAL lnOrderId
LOCAL lcDetails
LOCAL lcOrderType
LOCAL lcOrderDetail

lnSuccess = 0

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

loHttp = CreateObject('Chilkat.Http')

loHttp.OAuth1 = 1
loHttp.OAuthVerifier = ""
loHttp.OAuthConsumerKey = "ETRADE_CONSUMER_KEY"
loHttp.OAuthConsumerSecret = "ETRADE_CONSUMER_SECRET"

* Load the access token previously obtained via the OAuth1 3-Legged Authorization examples Step1 and Step2.
loJson = CreateObject('Chilkat.JsonObject')
lnSuccess = loJson.LoadFile("qa_data/tokens/etrade.json")
IF (lnSuccess <> 1) THEN
    ? "Failed to load OAuth1 token"
    RELEASE loHttp
    RELEASE loJson
    CANCEL
ENDIF

loHttp.OAuthToken = loJson.StringOf("oauth_token")
loHttp.OAuthTokenSecret = loJson.StringOf("oauth_token_secret")

* See the ETrade v1 API documentation HERE.

loHttp.SetUrlVar("accountIdKey","vsnhtF7d9jXxBy6HyaAC4vQ")
lcRespStr = loHttp.QuickGetStr("https://apisb.etrade.com/v1/accounts/{$accountIdKey}/orders?securityType=EQ&count=100")
IF (loHttp.LastMethodSuccess <> 1) THEN
    ? loHttp.LastErrorText
    RELEASE loHttp
    RELEASE loJson
    CANCEL
ENDIF

* A 200 status code indicates success.
lnStatusCode = loHttp.LastStatus
? "statusCode = " + STR(lnStatusCode)

* Use the following online tool to generate parsing code from sample XML: 
* Generate Parsing Code from XML

* A sample XML response is shown below...

loXml = CreateObject('Chilkat.Xml')
loXml.LoadXml(lcRespStr)

i = 0
lnCount_i = loXml.NumChildrenHavingTag("Order")
DO WHILE i < lnCount_i
    loXml.I = i
    lnOrderId = loXml.GetChildIntValue("Order[i]|orderId")
    lcDetails = loXml.GetChildContent("Order[i]|details")
    lcOrderType = loXml.GetChildContent("Order[i]|orderType")
    lcOrderDetail = loXml.GetChildContent("Order[i]|OrderDetail")
    i = i + 1
ENDDO

* Sample XML Response
* <?xml version="1.0" encoding="UTF-8"?>
* <OrdersResponse>
*    <Order>
*       <orderId>96</orderId>
*       <details>https://api.etrade.com/v1/accounts/ZrnXF-hPu853sBzwHfWGBQ/orders/96</details>
*       <orderType>EQ</orderType>
*       <OrderDetail>�</OrderDetail>
*    </Order>
*    <Order>
*       <orderId>95</orderId>
*       <details>https://api.etrade.com/v1/accounts/ZrnXF-hPu853sBzwHfWGBQ/orders/95</details>
*       <orderType>EQ</orderType>
*       <OrderDetail>�</OrderDetail>
*    </Order>
*    <Order>
*       <orderId>94</orderId>
*       <details>https://api.etrade.com/v1/accounts/ZrnXF-hPu853sBzwHfWGBQ/orders/94</details>
*       <orderType>EQ</orderType>
*       <OrderDetail>�</OrderDetail>
*    </Order>
*    <Order>
*       <orderId>93</orderId>
*       <details>https://api.etrade.com/v1/accounts/ZrnXF-hPu853sBzwHfWGBQ/orders/93</details>
*       <orderType>EQ</orderType>
*       <OrderDetail>�</OrderDetail>
*    </Order>
* </OrdersResponse>

RELEASE loHttp
RELEASE loJson
RELEASE loXml