Visual FoxPro
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
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