Sample code for 30+ languages & platforms
Perl

ETrade v1 List Transactions

See more HTTP Misc Examples

Get information about the transactions in an ETrade brokerage account.

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.

$http->SetUrlVar("accountIdKey","vsnhtF7d9jXxBy6HyaAC4vQ");
$respStr = $http->quickGetStr("https://apisb.etrade.com/v1/accounts/{$accountIdKey}/transactions");
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("Transaction");
while ($i < $count_i) {
    $xml->put_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;
}

$pageMarkers = $xml->getChildContent("pageMarkers");
$moreTransactions = $xml->getChildContent("moreTransactions");
$transactionCount = $xml->GetChildIntValue("transactionCount");
$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