Tcl
Tcl
ETrade v1 List Transactions
See more HTTP Misc Examples
Get information about the transactions in an ETrade brokerage account.Chilkat Tcl Downloads
load ./chilkat.dll
set success 0
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
set http [new_CkHttp]
CkHttp_put_OAuth1 $http 1
CkHttp_put_OAuthVerifier $http ""
CkHttp_put_OAuthConsumerKey $http "ETRADE_CONSUMER_KEY"
CkHttp_put_OAuthConsumerSecret $http "ETRADE_CONSUMER_SECRET"
# Load the access token previously obtained via the OAuth1 3-Legged Authorization examples Step1 and Step2.
set json [new_CkJsonObject]
set success [CkJsonObject_LoadFile $json "qa_data/tokens/etrade.json"]
if {$success != 1} then {
puts "Failed to load OAuth1 token"
delete_CkHttp $http
delete_CkJsonObject $json
exit
}
CkHttp_put_OAuthToken $http [CkJsonObject_stringOf $json "oauth_token"]
CkHttp_put_OAuthTokenSecret $http [CkJsonObject_stringOf $json "oauth_token_secret"]
# See the ETrade v1 API documentation HERE.
CkHttp_SetUrlVar $http "accountIdKey" "vsnhtF7d9jXxBy6HyaAC4vQ"
set respStr [CkHttp_quickGetStr $http "https://apisb.etrade.com/v1/accounts/{$accountIdKey}/transactions"]
if {[CkHttp_get_LastMethodSuccess $http] != 1} then {
puts [CkHttp_lastErrorText $http]
delete_CkHttp $http
delete_CkJsonObject $json
exit
}
# A 200 status code indicates success.
set statusCode [CkHttp_get_LastStatus $http]
puts "statusCode = $statusCode"
# Use the following online tool to generate parsing code from sample XML:
# Generate Parsing Code from XML
# A sample XML response is shown below...
set xml [new_CkXml]
CkXml_LoadXml $xml $respStr
set i 0
set count_i [CkXml_NumChildrenHavingTag $xml "Transaction"]
while {$i < $count_i} {
CkXml_put_I $xml $i
set transactionId [CkXml_getChildContent $xml "Transaction[i]|transactionId"]
set accountId [CkXml_GetChildIntValue $xml "Transaction[i]|accountId"]
set transactionDate [CkXml_getChildContent $xml "Transaction[i]|transactionDate"]
set postDate [CkXml_getChildContent $xml "Transaction[i]|postDate"]
set amount [CkXml_GetChildIntValue $xml "Transaction[i]|amount"]
set description [CkXml_getChildContent $xml "Transaction[i]|description"]
set description2 [CkXml_GetChildIntValue $xml "Transaction[i]|description2"]
set transactionType [CkXml_getChildContent $xml "Transaction[i]|transactionType"]
set imageFlag [CkXml_getChildContent $xml "Transaction[i]|imageFlag"]
set instType [CkXml_getChildContent $xml "Transaction[i]|instType"]
set quantity [CkXml_GetChildIntValue $xml "Transaction[i]|brokerage|quantity"]
set price [CkXml_GetChildIntValue $xml "Transaction[i]|brokerage|price"]
set settlementCurrency [CkXml_getChildContent $xml "Transaction[i]|brokerage|settlementCurrency"]
set paymentCurrency [CkXml_getChildContent $xml "Transaction[i]|brokerage|paymentCurrency"]
set fee [CkXml_GetChildIntValue $xml "Transaction[i]|brokerage|fee"]
set settlementDate [CkXml_getChildContent $xml "Transaction[i]|brokerage|settlementDate"]
set detailsURI [CkXml_getChildContent $xml "Transaction[i]|detailsURI"]
set i [expr $i + 1]
}
set pageMarkers [CkXml_getChildContent $xml "pageMarkers"]
set moreTransactions [CkXml_getChildContent $xml "moreTransactions"]
set transactionCount [CkXml_GetChildIntValue $xml "transactionCount"]
set totalCount [CkXml_GetChildIntValue $xml "totalCount"]
# <?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
delete_CkHttp $http
delete_CkJsonObject $json
delete_CkXml $xml