Sample code for 30+ languages & platforms
React Native

ETrade v1 List Accounts

See more HTTP Misc Examples

List ETrade accounts using the ETrade v1 API.

Chilkat React Native Downloads

React Native
import { Http, JsonObject, Xml } from '@chilkat/react-native'

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

  const http = new Http();

  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.
  const json = new JsonObject();
  try {
    json.loadFile('qa_data/tokens/etrade.json');
  } catch {
    console.log('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.

  let respStr: string;
  try {
    respStr = await http.quickGetStrAsync('https://apisb.etrade.com/v1/accounts/list');
  } catch {
    console.log(http.lastErrorText);
    return;
  }

  // A 200 status code indicates success.
  const statusCode = http.lastStatus;
  console.log(`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...

  const xml = new Xml();
  xml.loadXml(respStr);

  let i = 0;
  const tagPath = '';
  let accountId = 0;
  let accountIdKey = '';
  let accountMode = '';
  let accountDesc = '';
  let accountName = '';
  let accountType = '';
  let institutionType = '';
  let accountStatus = '';
  let closedDate = 0;

  i = 0;
  const countI = xml.numChildrenHavingTag('Accounts|Account');
  while (i < countI) {
    xml.i = i;
    accountId = xml.getChildIntValue('Accounts|Account[i]|accountId');
    accountIdKey = xml.getChildContent('Accounts|Account[i]|accountIdKey');
    accountMode = xml.getChildContent('Accounts|Account[i]|accountMode');
    accountDesc = xml.getChildContent('Accounts|Account[i]|accountDesc');
    accountName = xml.getChildContent('Accounts|Account[i]|accountName');
    accountType = xml.getChildContent('Accounts|Account[i]|accountType');
    institutionType = xml.getChildContent('Accounts|Account[i]|institutionType');
    accountStatus = xml.getChildContent('Accounts|Account[i]|accountStatus');
    closedDate = xml.getChildIntValue('Accounts|Account[i]|closedDate');
    i++;
  }

  // <?xml version="1.0" encoding="UTF-8"?>
  // <AccountListResponse>
  //    <Accounts>
  //       <Account>
  //          <accountId>84010429</accountId>
  //          <accountIdKey>JIdOIAcSpwR1Jva7RQBraQ</accountIdKey>
  //          <accountMode>MARGIN</accountMode>
  //          <accountDesc>INDIVIDUAL</accountDesc>
  //          <accountName>Individual Brokerage</accountName>
  //          <accountType>INDIVIDUAL</accountType>
  //          <institutionType>BROKERAGE</institutionType>
  //          <accountStatus>ACTIVE</accountStatus>
  //          <closedDate>0</closedDate>
  //       </Account>
  //       <Account>
  //          <accountId>84010430</accountId>
  //          <accountIdKey>JAAOIAcSpwR1Jva7RQBraQ</accountIdKey>
  //          <accountMode>MARGIN</accountMode>
  //          <accountDesc>INDIVIDUAL</accountDesc>
  //          <accountName>Individual Brokerage</accountName>
  //          <accountType>INDIVIDUAL</accountType>
  //          <institutionType>BROKERAGE</institutionType>
  //          <accountStatus>ACTIVE</accountStatus>
  //          <closedDate>0</closedDate>
  //       </Account>
  //    </Accounts>
  // </AccountListResponse>
}