Sample code for 30+ languages & platforms
AutoIt

ETrade List Transactions

See more ETrade Examples

Gets transactions for the selected brokerage account.

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

; This requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.

$oHttp = ObjCreate("Chilkat.Http")

$oHttp.OAuth1 = True
$oHttp.OAuthVerifier = ""
$oHttp.OAuthConsumerKey = "ETRADE_CONSUMER_KEY"
$oHttp.OAuthConsumerSecret = "ETRADE_CONSUMER_SECRET"

; Load the access token previously obtained via the OAuth1 Authorization
$oJsonToken = ObjCreate("Chilkat.JsonObject")
$bSuccess = $oJsonToken.LoadFile("qa_data/tokens/etrade.json")
If ($bSuccess <> True) Then
    ConsoleWrite("Failed to load OAuth1 token" & @CRLF)
    Exit
EndIf

$oHttp.OAuthToken = $oJsonToken.StringOf("oauth_token")
$oHttp.OAuthTokenSecret = $oJsonToken.StringOf("oauth_token_secret")

Local $sandboxUrl = "https://apisb.etrade.com/v1/accounts/{$accountIdKey}/transactions"
Local $sLiveUrl = "https://api.etrade.com/v1/accounts/{$accountIdKey}/transactions"

$oHttp.SetUrlVar("accountIdKey","6_Dpy0rmuQ9cu9IbTfvF2A")

$oResp = ObjCreate("Chilkat.HttpResponse")
$bSuccess = $oHttp.HttpNoBody("GET",$sandboxUrl,$oResp)
If ($bSuccess = False) Then
    ConsoleWrite($oHttp.LastErrorText & @CRLF)
    Exit
EndIf

; Make sure a successful response was received.
If ($oResp.StatusCode > 200) Then
    ConsoleWrite($oResp.StatusLine & @CRLF)
    ConsoleWrite($oResp.Header & @CRLF)
    ConsoleWrite($oResp.BodyStr & @CRLF)
    Exit
EndIf

; 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>

$oXml = ObjCreate("Chilkat.Xml")
$oXml.LoadXml($oResp.BodyStr)
ConsoleWrite($oXml.GetXml() & @CRLF)

Local $sTransactionId
Local $iAccountId
Local $sTransactionDate
Local $sPostDate
Local $iAmount
Local $sDescription
Local $iDescription2
Local $sTransactionType
Local $sImageFlag
Local $sInstType
Local $iQuantity
Local $iPrice
Local $settlementCurrency
Local $sPaymentCurrency
Local $iFee
Local $settlementDate
Local $sDetailsURI
Local $sPageMarkers
Local $sMoreTransactions
Local $iTransactionCount
Local $iTotalCount

Local $i = 0
Local $iCount_i = $oXml.NumChildrenHavingTag("Transaction")
While $i < $iCount_i
    $oXml.I = $i
    $sTransactionId = $oXml.GetChildContent("Transaction[i]|transactionId")
    $iAccountId = $oXml.GetChildIntValue("Transaction[i]|accountId")
    $sTransactionDate = $oXml.GetChildContent("Transaction[i]|transactionDate")
    $sPostDate = $oXml.GetChildContent("Transaction[i]|postDate")
    $iAmount = $oXml.GetChildIntValue("Transaction[i]|amount")
    $sDescription = $oXml.GetChildContent("Transaction[i]|description")
    $iDescription2 = $oXml.GetChildIntValue("Transaction[i]|description2")
    $sTransactionType = $oXml.GetChildContent("Transaction[i]|transactionType")
    $sImageFlag = $oXml.GetChildContent("Transaction[i]|imageFlag")
    $sInstType = $oXml.GetChildContent("Transaction[i]|instType")
    $iQuantity = $oXml.GetChildIntValue("Transaction[i]|brokerage|quantity")
    $iPrice = $oXml.GetChildIntValue("Transaction[i]|brokerage|price")
    $settlementCurrency = $oXml.GetChildContent("Transaction[i]|brokerage|settlementCurrency")
    $sPaymentCurrency = $oXml.GetChildContent("Transaction[i]|brokerage|paymentCurrency")
    $iFee = $oXml.GetChildIntValue("Transaction[i]|brokerage|fee")
    $settlementDate = $oXml.GetChildContent("Transaction[i]|brokerage|settlementDate")
    $sDetailsURI = $oXml.GetChildContent("Transaction[i]|detailsURI")
    $i = $i + 1
Wend
$sPageMarkers = $oXml.GetChildContent("pageMarkers")
$sMoreTransactions = $oXml.GetChildContent("moreTransactions")
$iTransactionCount = $oXml.GetChildIntValue("transactionCount")
$iTotalCount = $oXml.GetChildIntValue("totalCount")

ConsoleWrite("Success." & @CRLF)