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