Xbase++
Xbase++
ETrade v1 List Transactions
See more HTTP Misc Examples
Get information about the transactions in an ETrade brokerage account.Chilkat Xbase++ Downloads
LOCAL nSuccess
LOCAL oHttp
LOCAL oJson
LOCAL cRespStr
LOCAL nStatusCode
LOCAL oXml
LOCAL i
LOCAL nCount_i
LOCAL cTagPath
LOCAL cTransactionId
LOCAL nAccountId
LOCAL cTransactionDate
LOCAL cPostDate
LOCAL nAmount
LOCAL cDescription
LOCAL nDescription2
LOCAL cTransactionType
LOCAL cImageFlag
LOCAL cInstType
LOCAL nQuantity
LOCAL nPrice
LOCAL cSettlementCurrency
LOCAL cPaymentCurrency
LOCAL nFee
LOCAL cSettlementDate
LOCAL cDetailsURI
LOCAL cPageMarkers
LOCAL cMoreTransactions
LOCAL nTransactionCount
LOCAL nTotalCount
nSuccess := 0
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
oHttp := CreateObject("Chilkat.Http")
oHttp:OAuth1 := 1
oHttp:OAuthVerifier := ""
oHttp:OAuthConsumerKey := "ETRADE_CONSUMER_KEY"
oHttp:OAuthConsumerSecret := "ETRADE_CONSUMER_SECRET"
// Load the access token previously obtained via the OAuth1 3-Legged Authorization examples Step1 and Step2.
oJson := CreateObject("Chilkat.JsonObject")
nSuccess := oJson:LoadFile("qa_data/tokens/etrade.json")
IF (nSuccess != 1)
? "Failed to load OAuth1 token"
oHttp:destroy()
oJson:destroy()
RETURN
ENDIF
oHttp:OAuthToken := oJson:StringOf("oauth_token")
oHttp:OAuthTokenSecret := oJson:StringOf("oauth_token_secret")
// See the ETrade v1 API documentation HERE.
oHttp:SetUrlVar("accountIdKey", "vsnhtF7d9jXxBy6HyaAC4vQ")
cRespStr := oHttp:QuickGetStr("https://apisb.etrade.com/v1/accounts/{$accountIdKey}/transactions")
IF (oHttp:LastMethodSuccess != 1)
? oHttp:LastErrorText
oHttp:destroy()
oJson:destroy()
RETURN
ENDIF
// A 200 status code indicates success.
nStatusCode := oHttp:LastStatus
? "statusCode = " + Str(nStatusCode)
// Use the following online tool to generate parsing code from sample XML:
// Generate Parsing Code from XML
// A sample XML response is shown below...
oXml := CreateObject("Chilkat.Xml")
oXml:LoadXml(cRespStr)
i := 0
nCount_i := oXml:NumChildrenHavingTag("Transaction")
DO WHILE i < nCount_i
oXml:I := i
cTransactionId := oXml:GetChildContent("Transaction[i]|transactionId")
nAccountId := oXml:GetChildIntValue("Transaction[i]|accountId")
cTransactionDate := oXml:GetChildContent("Transaction[i]|transactionDate")
cPostDate := oXml:GetChildContent("Transaction[i]|postDate")
nAmount := oXml:GetChildIntValue("Transaction[i]|amount")
cDescription := oXml:GetChildContent("Transaction[i]|description")
nDescription2 := oXml:GetChildIntValue("Transaction[i]|description2")
cTransactionType := oXml:GetChildContent("Transaction[i]|transactionType")
cImageFlag := oXml:GetChildContent("Transaction[i]|imageFlag")
cInstType := oXml:GetChildContent("Transaction[i]|instType")
nQuantity := oXml:GetChildIntValue("Transaction[i]|brokerage|quantity")
nPrice := oXml:GetChildIntValue("Transaction[i]|brokerage|price")
cSettlementCurrency := oXml:GetChildContent("Transaction[i]|brokerage|settlementCurrency")
cPaymentCurrency := oXml:GetChildContent("Transaction[i]|brokerage|paymentCurrency")
nFee := oXml:GetChildIntValue("Transaction[i]|brokerage|fee")
cSettlementDate := oXml:GetChildContent("Transaction[i]|brokerage|settlementDate")
cDetailsURI := oXml:GetChildContent("Transaction[i]|detailsURI")
i := i + 1
ENDDO
cPageMarkers := oXml:GetChildContent("pageMarkers")
cMoreTransactions := oXml:GetChildContent("moreTransactions")
nTransactionCount := oXml:GetChildIntValue("transactionCount")
nTotalCount := oXml:GetChildIntValue("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>
oHttp:destroy()
oJson:destroy()
oXml:destroy()