VBScript
VBScript
ETrade Get Account Balances
See more ETrade Examples
Retrieves the current account balance and related details for a specified account.Chilkat VBScript Downloads
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 requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
set http = CreateObject("Chilkat.Http")
http.OAuth1 = 1
http.OAuthVerifier = ""
http.OAuthConsumerKey = "ETRADE_CONSUMER_KEY"
http.OAuthConsumerSecret = "ETRADE_CONSUMER_SECRET"
' Load the access token previously obtained via the OAuth1 Authorization
set jsonToken = CreateObject("Chilkat.JsonObject")
success = jsonToken.LoadFile("qa_data/tokens/etrade.json")
If (success <> 1) Then
outFile.WriteLine("Failed to load OAuth1 token")
WScript.Quit
End If
http.OAuthToken = jsonToken.StringOf("oauth_token")
http.OAuthTokenSecret = jsonToken.StringOf("oauth_token_secret")
sandboxUrl = "https://apisb.etrade.com/v1/accounts/{$accountIdKey}/balance?instType={$instType}&realTimeNAV=true"
liveUrl = "https://api.etrade.com/v1/accounts/{$accountIdKey}/balance?instType={$instType}&realTimeNAV=true"
success = http.SetUrlVar("accountIdKey","6_Dpy0rmuQ9cu9IbTfvF2A")
success = http.SetUrlVar("instType","BROKERAGE")
set resp = CreateObject("Chilkat.HttpResponse")
success = http.HttpNoBody("GET",sandboxUrl,resp)
If (success = 0) Then
outFile.WriteLine(http.LastErrorText)
WScript.Quit
End If
' Make sure a successful response was received.
If (resp.StatusCode > 200) Then
outFile.WriteLine(resp.StatusLine)
outFile.WriteLine(resp.Header)
outFile.WriteLine(resp.BodyStr)
WScript.Quit
End If
' Sample XML response:
' Use this online tool to generate parsing code from sample XML:
' Generate Parsing Code from XML
' <?xml version="1.0" encoding="UTF-8"?>
' <BalanceResponse>
' <accountId>83564979</accountId>
' <accountType>PDT_ACCOUNT</accountType>
' <optionLevel>LEVEL_4</optionLevel>
' <accountDescription>KRITHH TT</accountDescription>
' <quoteMode>6</quoteMode>
' <dayTraderStatus>PDT_MIN_EQUITY_RES_1XK</dayTraderStatus>
' <accountMode>PDT ACCOUNT</accountMode>
' <Cash>
' <fundsForOpenOrdersCash>0</fundsForOpenOrdersCash>
' <moneyMktBalance>0</moneyMktBalance>
' </Cash>
' <Computed>
' <cashAvailableForInvestment>0</cashAvailableForInvestment>
' <netCash>93921.44</netCash>
' <cashBalance>93921.44</cashBalance>
' <settledCashForInvestment>0</settledCashForInvestment>
' <unSettledCashForInvestment>0</unSettledCashForInvestment>
' <fundsWithheldFromPurchasePower>0</fundsWithheldFromPurchasePower>
' <fundsWithheldFromWithdrawal>0</fundsWithheldFromWithdrawal>
' <marginBuyingPower>0</marginBuyingPower>
' <cashBuyingPower>93921.44</cashBuyingPower>
' <dtMarginBuyingPower>0</dtMarginBuyingPower>
' <dtCashBuyingPower>0</dtCashBuyingPower>
' <shortAdjustBalance>0</shortAdjustBalance>
' <regtEquity>0</regtEquity>
' <regtEquityPercent>0</regtEquityPercent>
' <accountBalance>0</accountBalance>
' </Computed>
' <Margin>
' <dtCashOpenOrderReserve>0</dtCashOpenOrderReserve>
' <dtMarginOpenOrderReserve>0</dtMarginOpenOrderReserve>
' </Margin>
' </BalanceResponse>
set xml = CreateObject("Chilkat.Xml")
success = xml.LoadXml(resp.BodyStr)
outFile.WriteLine(xml.GetXml())
accountId = xml.GetChildIntValue("accountId")
accountType = xml.GetChildContent("accountType")
optionLevel = xml.GetChildContent("optionLevel")
accountDescription = xml.GetChildContent("accountDescription")
quoteMode = xml.GetChildIntValue("quoteMode")
dayTraderStatus = xml.GetChildContent("dayTraderStatus")
accountMode = xml.GetChildContent("accountMode")
fundsForOpenOrdersCash = xml.GetChildIntValue("Cash|fundsForOpenOrdersCash")
moneyMktBalance = xml.GetChildIntValue("Cash|moneyMktBalance")
cashAvailableForInvestment = xml.GetChildIntValue("Computed|cashAvailableForInvestment")
netCash = xml.GetChildContent("Computed|netCash")
cashBalance = xml.GetChildContent("Computed|cashBalance")
settledCashForInvestment = xml.GetChildIntValue("Computed|settledCashForInvestment")
unSettledCashForInvestment = xml.GetChildIntValue("Computed|unSettledCashForInvestment")
fundsWithheldFromPurchasePower = xml.GetChildIntValue("Computed|fundsWithheldFromPurchasePower")
fundsWithheldFromWithdrawal = xml.GetChildIntValue("Computed|fundsWithheldFromWithdrawal")
marginBuyingPower = xml.GetChildIntValue("Computed|marginBuyingPower")
cashBuyingPower = xml.GetChildContent("Computed|cashBuyingPower")
dtMarginBuyingPower = xml.GetChildIntValue("Computed|dtMarginBuyingPower")
dtCashBuyingPower = xml.GetChildIntValue("Computed|dtCashBuyingPower")
shortAdjustBalance = xml.GetChildIntValue("Computed|shortAdjustBalance")
regtEquity = xml.GetChildIntValue("Computed|regtEquity")
regtEquityPercent = xml.GetChildIntValue("Computed|regtEquityPercent")
accountBalance = xml.GetChildIntValue("Computed|accountBalance")
dtCashOpenOrderReserve = xml.GetChildIntValue("Margin|dtCashOpenOrderReserve")
dtMarginOpenOrderReserve = xml.GetChildIntValue("Margin|dtMarginOpenOrderReserve")
outFile.WriteLine("Success.")
outFile.Close