Lua
Lua
ETrade List Transactions
See more ETrade Examples
Gets transactions for the selected brokerage account.Chilkat Lua Downloads
local chilkat = require("chilkat")
-- This requires the Chilkat API to have been previously unlocked.
-- See Global Unlock Sample for sample code.
local http = chilkat.Http.new()
http.oauth1 = true
http.oauth_verifier = ""
http.oauth_consumer_key = "ETRADE_CONSUMER_KEY"
http.oauth_consumer_secret = "ETRADE_CONSUMER_SECRET"
-- Load the access token previously obtained via the OAuth1 Authorization
local jsonToken = chilkat.JsonObject.new()
local success = jsonToken:load_file("qa_data/tokens/etrade.json")
if not success then
print("Failed to load OAuth1 token")
return
end
http.oauth_token = jsonToken:string_of("oauth_token")
http.oauth_token_secret = jsonToken:string_of("oauth_token_secret")
local sandboxUrl = "https://apisb.etrade.com/v1/accounts/{$accountIdKey}/transactions"
local liveUrl = "https://api.etrade.com/v1/accounts/{$accountIdKey}/transactions"
http:set_url_var("accountIdKey", "6_Dpy0rmuQ9cu9IbTfvF2A")
local resp = chilkat.HttpResponse.new()
success = http:http_no_body("GET", sandboxUrl, resp)
if not success then
print(http.last_error_text)
return
end
-- Make sure a successful response was received.
if resp.status_code > 200 then
print(resp.status_line)
print(resp.header)
print(resp.body_str)
return
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>
local xml = chilkat.Xml.new()
xml:load_xml(resp.body_str)
print(xml:get_xml())
local transactionId = ""
local accountId = 0
local transactionDate = ""
local postDate = ""
local amount = 0
local description = ""
local description2 = 0
local transactionType = ""
local imageFlag = ""
local instType = ""
local quantity = 0
local price = 0
local settlementCurrency = ""
local paymentCurrency = ""
local fee = 0
local settlementDate = ""
local detailsURI = ""
local i = 0
local count_i = xml:num_children_having_tag("Transaction")
while i < count_i do
xml.i = i
transactionId = xml:get_child_content("Transaction[i]|transactionId")
accountId = xml:get_child_int_value("Transaction[i]|accountId")
transactionDate = xml:get_child_content("Transaction[i]|transactionDate")
postDate = xml:get_child_content("Transaction[i]|postDate")
amount = xml:get_child_int_value("Transaction[i]|amount")
description = xml:get_child_content("Transaction[i]|description")
description2 = xml:get_child_int_value("Transaction[i]|description2")
transactionType = xml:get_child_content("Transaction[i]|transactionType")
imageFlag = xml:get_child_content("Transaction[i]|imageFlag")
instType = xml:get_child_content("Transaction[i]|instType")
quantity = xml:get_child_int_value("Transaction[i]|brokerage|quantity")
price = xml:get_child_int_value("Transaction[i]|brokerage|price")
settlementCurrency = xml:get_child_content("Transaction[i]|brokerage|settlementCurrency")
paymentCurrency = xml:get_child_content("Transaction[i]|brokerage|paymentCurrency")
fee = xml:get_child_int_value("Transaction[i]|brokerage|fee")
settlementDate = xml:get_child_content("Transaction[i]|brokerage|settlementDate")
detailsURI = xml:get_child_content("Transaction[i]|detailsURI")
i = i + 1
end
local pageMarkers = xml:get_child_content("pageMarkers")
local moreTransactions = xml:get_child_content("moreTransactions")
local transactionCount = xml:get_child_int_value("transactionCount")
local totalCount = xml:get_child_int_value("totalCount")
print("Success.")