Sample code for 30+ languages & platforms
Perl

ETrade v1 List Accounts

See more HTTP Misc Examples

List ETrade accounts using the ETrade v1 API.

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

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

$http = chilkat::CkHttp->new();

$http->put_OAuth1(1);
$http->put_OAuthVerifier("");
$http->put_OAuthConsumerKey("ETRADE_CONSUMER_KEY");
$http->put_OAuthConsumerSecret("ETRADE_CONSUMER_SECRET");

# Load the access token previously obtained via the OAuth1 3-Legged Authorization examples Step1 and Step2.
$json = chilkat::CkJsonObject->new();
$success = $json->LoadFile("qa_data/tokens/etrade.json");
if ($success != 1) {
    print "Failed to load OAuth1 token" . "\r\n";
    exit;
}

$http->put_OAuthToken($json->stringOf("oauth_token"));
$http->put_OAuthTokenSecret($json->stringOf("oauth_token_secret"));

# See the ETrade v1 API documentation HERE.

$respStr = $http->quickGetStr("https://apisb.etrade.com/v1/accounts/list");
if ($http->get_LastMethodSuccess() != 1) {
    print $http->lastErrorText() . "\r\n";
    exit;
}

# A 200 status code indicates success.
$statusCode = $http->get_LastStatus();
print "statusCode = " . $statusCode . "\r\n";

# Use the following online tool to generate parsing code from sample XML: 
# Generate Parsing Code from XML

# A sample XML response is shown below...

$xml = chilkat::CkXml->new();
$xml->LoadXml($respStr);

$i = 0;
$count_i = $xml->NumChildrenHavingTag("Accounts|Account");
while ($i < $count_i) {
    $xml->put_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;
}

# <?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>