Sample code for 30+ languages & platforms
Node.js

ETrade List Accounts

See more ETrade Examples

Returns a list of E*TRADE accounts for the current user.

Chilkat Node.js Downloads

Node.js
NODEJS_PRELUDE

function chilkatExample() {

    var success = false;

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

    var http = new chilkat.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 Authorization
    var jsonToken = new chilkat.JsonObject();
    success = jsonToken.LoadFile("qa_data/tokens/etrade.json");
    if (success !== true) {
        console.log("Failed to load OAuth1 token");
        return;
    }

    http.OAuthToken = jsonToken.StringOf("oauth_token");
    http.OAuthTokenSecret = jsonToken.StringOf("oauth_token_secret");

    var sandboxUrl = "https://apisb.etrade.com/v1/accounts/list";
    var liveUrl = "https://api.etrade.com/v1/accounts/list";

    var resp = new chilkat.HttpResponse();
    success = http.HttpNoBody("GET",sandboxUrl,resp);
    if (success == false) {
        console.log(http.LastErrorText);
        return;
    }

    //  Make sure a successful response was received.
    if (resp.StatusCode >= 300) {
        console.log(resp.StatusLine);
        console.log(resp.Header);
        console.log(resp.BodyStr);
        return;
    }

    if (resp.StatusCode == 204) {
        console.log("No records available.");
        return;
    }

    //  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" standalone="yes"?>
    //  <AccountListResponse>
    //      <Accounts>
    //          <Account>
    //              <accountId>82314598</accountId>
    //              <accountIdKey>dBZOKt9xDrtRSAOl4MSiiA</accountIdKey>
    //              <accountMode>IRA</accountMode>
    //              <accountDesc>Brokerage</accountDesc>
    //              <accountName>NickName-1</accountName>
    //              <accountType>MARGIN</accountType>
    //              <institutionType>BROKERAGE</institutionType>
    //              <accountStatus>ACTIVE</accountStatus>
    //              <closedDate>0</closedDate>
    //          </Account>
    //          <Account>
    //              <accountId>58315636</accountId>
    //              <accountIdKey>vQMsebA1H5WltUfDkJP48g</accountIdKey>
    //              <accountMode>BROKERAGE</accountMode>
    //              <accountDesc>Complete Savings</accountDesc>
    //              <accountName>NickName-2</accountName>
    //              <accountType>INDIVIDUAL</accountType>
    //              <institutionType>BROKERAGE</institutionType>
    //              <accountStatus>ACTIVE</accountStatus>
    //              <closedDate>0</closedDate>
    //          </Account>
    //          <Account>
    //              <accountId>70700418</accountId>
    //              <accountIdKey>6_Dpy0rmuQ9cu9IbTfvF2A</accountIdKey>
    //              <accountMode>CASH</accountMode>
    //              <accountDesc>INDIVIDUAL</accountDesc>
    //              <accountName>NickName-3</accountName>
    //              <accountType>INDIVIDUAL</accountType>
    //              <institutionType>BROKERAGE</institutionType>
    //              <accountStatus>ACTIVE</accountStatus>
    //              <closedDate>0</closedDate>
    //          </Account>
    //          <Account>
    //              <accountId>83515143</accountId>
    //              <accountIdKey>xj1Dc18FTqWPqkEEVUr5rw</accountIdKey>
    //              <accountMode>CASH</accountMode>
    //              <accountDesc>INDIVIDUAL</accountDesc>
    //              <accountName/>
    //              <accountType>CASH</accountType>
    //              <institutionType>BROKERAGE</institutionType>
    //              <accountStatus>CLOSED</accountStatus>
    //              <closedDate>1521027780</closedDate>
    //  
    //          </Account>
    //      </Accounts>
    //  </AccountListResponse>

    var xml = new chilkat.Xml();
    xml.LoadXml(resp.BodyStr);
    console.log(xml.GetXml());

    var accountId;
    var accountIdKey;
    var accountMode;
    var accountDesc;
    var accountName;
    var accountType;
    var institutionType;
    var accountStatus;
    var closedDate;

    var i = 0;
    var count_i = xml.NumChildrenHavingTag("Accounts|Account");
    while (i < count_i) {
        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 = i+1;
    }

    console.log("Success.");

}

chilkatExample();