Sample code for 30+ languages & platforms
Dart

ETrade v1 List Transactions

See more HTTP Misc Examples

Get information about the transactions in an ETrade brokerage account.

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  // This example requires the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  final http = CkHttp();

  http.oAuth1 = true;
  http.oAuthVerifier = '';
  http.oAuthConsumerKey = 'ETRADE_CONSUMER_KEY';
  http.oAuthConsumerSecret = 'ETRADE_CONSUMER_SECRET';

  // Load the access token previously obtained via the OAuth1 3-Legged Authorization examples Step1 and Step2.
  final json = CkJsonObject();
  try {
    json.loadFile('qa_data/tokens/etrade.json');
  } on ChilkatException {
    print('Failed to load OAuth1 token');
    return;
  }

  http.oAuthToken = json.stringOf('oauth_token');
  http.oAuthTokenSecret = json.stringOf('oauth_token_secret');

  // See the ETrade v1 API documentation HERE.

  http.setUrlVar('accountIdKey', 'vsnhtF7d9jXxBy6HyaAC4vQ');
  final String respStr;
  try {
    respStr = http.quickGetStr('https://apisb.etrade.com/v1/accounts/{\$accountIdKey}/transactions');
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  // A 200 status code indicates success.
  final statusCode = http.lastStatus;
  print('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...

  final xml = CkXml();
  xml.loadXml(respStr);

  var i = 0;
  final tagPath = '';
  var transactionId = '';
  var accountId = 0;
  var transactionDate = '';
  var postDate = '';
  var amount = 0;
  var description = '';
  var description2 = 0;
  var transactionType = '';
  var imageFlag = '';
  var instType = '';
  var quantity = 0;
  var price = 0;
  var settlementCurrency = '';
  var paymentCurrency = '';
  var fee = 0;
  var settlementDate = '';
  var detailsURI = '';

  i = 0;
  final countI = xml.numChildrenHavingTag('Transaction');
  while (i < countI) {
    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++;
  }

  final pageMarkers = xml.getChildContent('pageMarkers');
  final moreTransactions = xml.getChildContent('moreTransactions');
  final transactionCount = xml.getChildIntValue('transactionCount');
  final totalCount = xml.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>
}