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
(Delphi ActiveX) ETrade List TransactionsGets transactions for the selected brokerage account. For more information, see https://apisb.etrade.com/docs/api/account/api-transaction-v1.html
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB; ... procedure TForm1.Button1Click(Sender: TObject); var http: TChilkatHttp; jsonToken: TChilkatJsonObject; success: Integer; sandboxUrl: WideString; liveUrl: WideString; resp: IChilkatHttpResponse; xml: TChilkatXml; transactionId: WideString; accountId: Integer; transactionDate: WideString; postDate: WideString; amount: Integer; description: WideString; description2: Integer; transactionType: WideString; imageFlag: WideString; instType: WideString; quantity: Integer; price: Integer; settlementCurrency: WideString; paymentCurrency: WideString; fee: Integer; settlementDate: WideString; detailsURI: WideString; pageMarkers: WideString; moreTransactions: WideString; transactionCount: Integer; totalCount: Integer; i: Integer; count_i: Integer; begin // This requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. http := TChilkatHttp.Create(Self); http.OAuth1 := 1; http.OAuthVerifier := ''; http.OAuthConsumerKey := 'ETRADE_CONSUMER_KEY'; http.OAuthConsumerSecret := 'ETRADE_CONSUMER_SECRET'; // Load the access token previously obtained via the OAuth1 Authorization jsonToken := TChilkatJsonObject.Create(Self); success := jsonToken.LoadFile('qa_data/tokens/etrade.json'); if (success <> 1) then begin Memo1.Lines.Add('Failed to load OAuth1 token'); Exit; end; http.OAuthToken := jsonToken.StringOf('oauth_token'); http.OAuthTokenSecret := jsonToken.StringOf('oauth_token_secret'); sandboxUrl := 'https://apisb.etrade.com/v1/accounts/{$accountIdKey}/transactions'; liveUrl := 'https://api.etrade.com/v1/accounts/{$accountIdKey}/transactions'; http.SetUrlVar('accountIdKey','6_Dpy0rmuQ9cu9IbTfvF2A'); resp := http.QuickGetObj(sandboxUrl); if (http.LastMethodSuccess <> 1) then begin Memo1.Lines.Add(http.LastErrorText); Exit; end; // Make sure a successful response was received. if (resp.StatusCode > 200) then begin Memo1.Lines.Add(resp.StatusLine); Memo1.Lines.Add(resp.Header); Memo1.Lines.Add(resp.BodyStr); Exit; 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> xml := TChilkatXml.Create(Self); xml.LoadXml(resp.BodyStr); Memo1.Lines.Add(xml.GetXml()); i := 0; count_i := xml.NumChildrenHavingTag('Transaction'); while i < count_i do begin xml.I := i; transactionId := xml.GetChildContent('Transaction[i]|transactionId'); accountId := xml.GetChildIntValue('Transaction[i]|accountId'); transactionDate := xml.GetChildContent('Transaction[i]|transactionDate'); postDate := xml.GetChildContent('Transaction[i]|postDate'); amount := xml.GetChildIntValue('Transaction[i]|amount'); description := xml.GetChildContent('Transaction[i]|description'); description2 := xml.GetChildIntValue('Transaction[i]|description2'); transactionType := xml.GetChildContent('Transaction[i]|transactionType'); imageFlag := xml.GetChildContent('Transaction[i]|imageFlag'); instType := xml.GetChildContent('Transaction[i]|instType'); quantity := xml.GetChildIntValue('Transaction[i]|brokerage|quantity'); price := xml.GetChildIntValue('Transaction[i]|brokerage|price'); settlementCurrency := xml.GetChildContent('Transaction[i]|brokerage|settlementCurrency'); paymentCurrency := xml.GetChildContent('Transaction[i]|brokerage|paymentCurrency'); fee := xml.GetChildIntValue('Transaction[i]|brokerage|fee'); settlementDate := xml.GetChildContent('Transaction[i]|brokerage|settlementDate'); detailsURI := xml.GetChildContent('Transaction[i]|detailsURI'); i := i + 1; end; pageMarkers := xml.GetChildContent('pageMarkers'); moreTransactions := xml.GetChildContent('moreTransactions'); transactionCount := xml.GetChildIntValue('transactionCount'); totalCount := xml.GetChildIntValue('totalCount'); Memo1.Lines.Add('Success.'); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.