Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Tcl) ETrade List TransactionsGets transactions for the selected brokerage account. For more information, see https://apisb.etrade.com/docs/api/account/api-transaction-v1.html
load ./chilkat.dll # This 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 Authorization set jsonToken [new_CkJsonObject] set success [CkJsonObject_LoadFile $jsonToken "qa_data/tokens/etrade.json"] if {$success != 1} then { puts "Failed to load OAuth1 token" delete_CkHttp $http delete_CkJsonObject $jsonToken exit } CkHttp_put_OAuthToken $http [CkJsonObject_stringOf $jsonToken "oauth_token"] CkHttp_put_OAuthTokenSecret $http [CkJsonObject_stringOf $jsonToken "oauth_token_secret"] set sandboxUrl "https://apisb.etrade.com/v1/accounts/{$accountIdKey}/transactions" set liveUrl "https://api.etrade.com/v1/accounts/{$accountIdKey}/transactions" CkHttp_SetUrlVar $http "accountIdKey" "6_Dpy0rmuQ9cu9IbTfvF2A" # resp is a CkHttpResponse set resp [CkHttp_QuickGetObj $http $sandboxUrl] if {[CkHttp_get_LastMethodSuccess $http] != 1} then { puts [CkHttp_lastErrorText $http] delete_CkHttp $http delete_CkJsonObject $jsonToken exit } # Make sure a successful response was received. if {[CkHttpResponse_get_StatusCode $resp] > 200} then { puts [CkHttpResponse_statusLine $resp] puts [CkHttpResponse_header $resp] puts [CkHttpResponse_bodyStr $resp] delete_CkHttp $http delete_CkJsonObject $jsonToken exit } # 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> set xml [new_CkXml] CkXml_LoadXml $xml [CkHttpResponse_bodyStr $resp] puts [CkXml_getXml $xml] 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"] puts "Success." delete_CkHttp $http delete_CkJsonObject $jsonToken delete_CkXml $xml |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.