PHP ActiveX
PHP ActiveX
ETrade List Transactions
See more ETrade Examples
Gets transactions for the selected brokerage account.Chilkat PHP ActiveX Downloads
<?php
$success = 0;
// This requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
$http = new COM("Chilkat.Http");
$http->OAuth1 = 1;
$http->OAuthVerifier = '';
$http->OAuthConsumerKey = 'ETRADE_CONSUMER_KEY';
$http->OAuthConsumerSecret = 'ETRADE_CONSUMER_SECRET';
// Load the access token previously obtained via the OAuth1 Authorization
$jsonToken = new COM("Chilkat.JsonObject");
$success = $jsonToken->LoadFile('qa_data/tokens/etrade.json');
if ($success != 1) {
print 'Failed to load OAuth1 token' . "\n";
exit;
}
$http->OAuthToken = $jsonToken->stringOf('oauth_token');
$http->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 = new COM("Chilkat.HttpResponse");
$success = $http->HttpNoBody('GET',$sandboxUrl,$resp);
if ($success == 0) {
print $http->LastErrorText . "\n";
exit;
}
// Make sure a successful response was received.
if ($resp->StatusCode > 200) {
print $resp->StatusLine . "\n";
print $resp->Header . "\n";
print $resp->BodyStr . "\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 = new COM("Chilkat.Xml");
$xml->LoadXml($resp->BodyStr);
print $xml->getXml() . "\n";
$i = 0;
$count_i = $xml->NumChildrenHavingTag('Transaction');
while ($i < $count_i) {
$xml->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.' . "\n";
?>