Ruby
Ruby
ETrade List Transactions
See more ETrade Examples
Gets transactions for the selected brokerage account.Chilkat Ruby Downloads
require 'chilkat'
success = false
# This requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
http = Chilkat::CkHttp.new()
http.put_OAuth1(true)
http.put_OAuthVerifier("")
http.put_OAuthConsumerKey("ETRADE_CONSUMER_KEY")
http.put_OAuthConsumerSecret("ETRADE_CONSUMER_SECRET")
# Load the access token previously obtained via the OAuth1 Authorization
jsonToken = Chilkat::CkJsonObject.new()
success = jsonToken.LoadFile("qa_data/tokens/etrade.json")
if (success != true)
print "Failed to load OAuth1 token" + "\n";
exit
end
http.put_OAuthToken(jsonToken.stringOf("oauth_token"))
http.put_OAuthTokenSecret(jsonToken.stringOf("oauth_token_secret"))
sandboxUrl = "https://apisb.etrade.com/v1/accounts/{$accountIdKey}/transactions"
liveUrl = "https://api.etrade.com/v1/accounts/{$accountIdKey}/transactions"
http.SetUrlVar("accountIdKey","6_Dpy0rmuQ9cu9IbTfvF2A")
resp = Chilkat::CkHttpResponse.new()
success = http.HttpNoBody("GET",sandboxUrl,resp)
if (success == false)
print http.lastErrorText() + "\n";
exit
end
# Make sure a successful response was received.
if (resp.get_StatusCode() > 200)
print resp.statusLine() + "\n";
print resp.header() + "\n";
print resp.bodyStr() + "\n";
exit
end
# 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"?>
# <TransactionListResponse>
# <Transaction>
# <transactionId>18165100001766</transactionId>
# <accountId>83564979</accountId>
# <transactionDate>1528948800000</transactionDate>
# <postDate>1528948800000</postDate>
# <amount>-2</amount>
# <description>ACH WITHDRAWL REFID:109187276;</description>
# <description2>109187276</description2>
# <transactionType>Transfer</transactionType>
# <memo />
# <imageFlag>false</imageFlag>
# <instType>BROKERAGE</instType>
# <brokerage>
# <product />
# <quantity>0</quantity>
# <price>0</price>
# <settlementCurrency>USD</settlementCurrency>
# <paymentCurrency>USD</paymentCurrency>
# <fee>0</fee>
# <settlementDate>1528948800000</settlementDate>
# </brokerage>
# <detailsURI>https://api.etrade.com/v1/accounts/yIFaUoJ81qyAhgxLWRQ42g/transactions/18165100001766</detailsURI>
# </Transaction>
# <Transaction>
# <transactionId>18158100000983</transactionId>
# <accountId>83564979</accountId>
# <transactionDate>1528344000000</transactionDate>
# <postDate>1528344000000</postDate>
# <amount>-2</amount>
# <description>ACH WITHDRAWL REFID:98655276;</description>
# <description2>98655276</description2>
# <transactionType>Transfer</transactionType>
# <memo />
# <imageFlag>false</imageFlag>
# <instType>BROKERAGE</instType>
# <brokerage>
# <product />
# <quantity>0</quantity>
# <price>0</price>
# <settlementCurrency>USD</settlementCurrency>
# <paymentCurrency>USD</paymentCurrency>
# <fee>0</fee>
# <settlementDate>1528344000000</settlementDate>
# </brokerage>
# <detailsURI>https://api.etrade.com/v1/accounts/yIFaUoJ81qyAhgxLWRQ42g/transactions/18158100000983</detailsURI>
# </Transaction>
# <pageMarkers>eNpTsAlITE91zi%2FNK%2FHMc04syi8tTs2xM7TRxybMpWATkl%2BSmBOUmpxflAKWtTO10ccQg6mDmwEyEE0EqAbE8SvNTUotCk4tLE3NS061M9Ax0DEEYgOIA9BkuRQgmjxTfDKLQUYoQAV8E4uyU4vsDC0MzUwNDYDA0NzMrKamBmIKVJYLphpiKsyTUB7IbH1kwwFa7F0D</pageMarkers>
# <moreTransactions>false</moreTransactions>
# <transactionCount>5</transactionCount>
# <totalCount>5</totalCount>
# </TransactionListResponse>
xml = Chilkat::CkXml.new()
xml.LoadXml(resp.bodyStr())
print xml.getXml() + "\n";
i = 0
count_i = xml.NumChildrenHavingTag("Transaction")
while i < count_i
xml.put_I(i)
transactionId = xml.getChildContent("Transaction[i]|transactionId")
accountId = xml.GetChildIntValue("Transaction[i]|accountId")
transactionDate = xml.getChildContent("Transaction[i]|transactionDate")
postDate = xml.getChildContent("Transaction[i]|postDate")
amount = xml.GetChildIntValue("Transaction[i]|amount")
description = xml.getChildContent("Transaction[i]|description")
description2 = xml.GetChildIntValue("Transaction[i]|description2")
transactionType = xml.getChildContent("Transaction[i]|transactionType")
imageFlag = xml.getChildContent("Transaction[i]|imageFlag")
instType = xml.getChildContent("Transaction[i]|instType")
quantity = xml.GetChildIntValue("Transaction[i]|brokerage|quantity")
price = xml.GetChildIntValue("Transaction[i]|brokerage|price")
settlementCurrency = xml.getChildContent("Transaction[i]|brokerage|settlementCurrency")
paymentCurrency = xml.getChildContent("Transaction[i]|brokerage|paymentCurrency")
fee = xml.GetChildIntValue("Transaction[i]|brokerage|fee")
settlementDate = xml.getChildContent("Transaction[i]|brokerage|settlementDate")
detailsURI = xml.getChildContent("Transaction[i]|detailsURI")
i = i + 1
end
pageMarkers = xml.getChildContent("pageMarkers")
moreTransactions = xml.getChildContent("moreTransactions")
transactionCount = xml.GetChildIntValue("transactionCount")
totalCount = xml.GetChildIntValue("totalCount")
print "Success." + "\n";