Perl
Perl
ETrade List Transactions
See more ETrade Examples
Gets transactions for the selected brokerage account.Chilkat Perl Downloads
use chilkat();
$success = 0;
# This 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 Authorization
$jsonToken = chilkat::CkJsonObject->new();
$success = $jsonToken->LoadFile("qa_data/tokens/etrade.json");
if ($success != 1) {
print "Failed to load OAuth1 token" . "\r\n";
exit;
}
$http->put_OAuthToken($jsonToken->stringOf("oauth_token"));
$http->put_OAuthTokenSecret($jsonToken->stringOf("oauth_token_secret"));
$sandboxUrl = "https://apisb.etrade.com/v1/accounts/{$accountIdKey}/transactions";
$liveUrl = "https://api.etrade.com/v1/accounts/{$accountIdKey}/transactions";
$http->SetUrlVar("accountIdKey","6_Dpy0rmuQ9cu9IbTfvF2A");
$resp = chilkat::CkHttpResponse->new();
$success = $http->HttpNoBody("GET",$sandboxUrl,$resp);
if ($success == 0) {
print $http->lastErrorText() . "\r\n";
exit;
}
# Make sure a successful response was received.
if ($resp->get_StatusCode() > 200) {
print $resp->statusLine() . "\r\n";
print $resp->header() . "\r\n";
print $resp->bodyStr() . "\r\n";
exit;
}
# 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"?>
# <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>
$xml = chilkat::CkXml->new();
$xml->LoadXml($resp->bodyStr());
print $xml->getXml() . "\r\n";
$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");
print "Success." . "\r\n";