Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PHP ActiveX) ETrade v1 View PortfolioGet portfolio information for a selected brokerage account.
<?php // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.Http') $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 3-Legged Authorization examples Step1 and Step2. // For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.JsonObject') $json = new COM("Chilkat.JsonObject"); $success = $json->LoadFile('qa_data/tokens/etrade.json'); if ($success != 1) { print 'Failed to load OAuth1 token' . "\n"; exit; } $http->OAuthToken = $json->stringOf('oauth_token'); $http->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}/portfolio'); if ($http->LastMethodSuccess != 1) { print $http->LastErrorText . "\n"; exit; } // A 200 status code indicates success. $statusCode = $http->LastStatus; print 'statusCode = ' . $statusCode . "\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... // For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.Xml') $xml = new COM("Chilkat.Xml"); $xml->LoadXml($respStr); $accountId = $xml->GetChildIntValue('AccountPortfolio|accountId'); $i = 0; $count_i = $xml->NumChildrenHavingTag('AccountPortfolio|Position'); while ($i < $count_i) { $xml->I = $i; $positionId = $xml->getChildContent('AccountPortfolio|Position[i]|positionId'); $expiryDay = $xml->GetChildIntValue('AccountPortfolio|Position[i]|Product|expiryDay'); $expiryMonth = $xml->GetChildIntValue('AccountPortfolio|Position[i]|Product|expiryMonth'); $expiryYear = $xml->GetChildIntValue('AccountPortfolio|Position[i]|Product|expiryYear'); $securityType = $xml->getChildContent('AccountPortfolio|Position[i]|Product|securityType'); $strikePrice = $xml->GetChildIntValue('AccountPortfolio|Position[i]|Product|strikePrice'); $symbol = $xml->getChildContent('AccountPortfolio|Position[i]|Product|symbol'); $symbolDescription = $xml->getChildContent('AccountPortfolio|Position[i]|symbolDescription'); $dateAcquired = $xml->GetChildIntValue('AccountPortfolio|Position[i]|dateAcquired'); $pricePaid = $xml->GetChildIntValue('AccountPortfolio|Position[i]|pricePaid'); $commissions = $xml->GetChildIntValue('AccountPortfolio|Position[i]|commissions'); $otherFees = $xml->GetChildIntValue('AccountPortfolio|Position[i]|otherFees'); $quantity = $xml->GetChildIntValue('AccountPortfolio|Position[i]|quantity'); $positionIndicator = $xml->getChildContent('AccountPortfolio|Position[i]|positionIndicator'); $positionType = $xml->getChildContent('AccountPortfolio|Position[i]|positionType'); $daysGain = $xml->getChildContent('AccountPortfolio|Position[i]|daysGain'); $daysGainPct = $xml->getChildContent('AccountPortfolio|Position[i]|daysGainPct'); $marketValue = $xml->getChildContent('AccountPortfolio|Position[i]|marketValue'); $totalCost = $xml->GetChildIntValue('AccountPortfolio|Position[i]|totalCost'); $totalGain = $xml->getChildContent('AccountPortfolio|Position[i]|totalGain'); $totalGainPct = $xml->GetChildIntValue('AccountPortfolio|Position[i]|totalGainPct'); $pctOfPortfolio = $xml->getChildContent('AccountPortfolio|Position[i]|pctOfPortfolio'); $costPerShare = $xml->GetChildIntValue('AccountPortfolio|Position[i]|costPerShare'); $todayCommissions = $xml->GetChildIntValue('AccountPortfolio|Position[i]|todayCommissions'); $todayFees = $xml->GetChildIntValue('AccountPortfolio|Position[i]|todayFees'); $todayPricePaid = $xml->GetChildIntValue('AccountPortfolio|Position[i]|todayPricePaid'); $todayQuantity = $xml->GetChildIntValue('AccountPortfolio|Position[i]|todayQuantity'); $adjPrevClose = $xml->getChildContent('AccountPortfolio|Position[i]|adjPrevClose'); $change = $xml->getChildContent('AccountPortfolio|Position[i]|Quick|change'); $changePct = $xml->getChildContent('AccountPortfolio|Position[i]|Quick|changePct'); $lastTrade = $xml->getChildContent('AccountPortfolio|Position[i]|Quick|lastTrade'); $lastTradeTime = $xml->GetChildIntValue('AccountPortfolio|Position[i]|Quick|lastTradeTime'); $quoteStatus = $xml->getChildContent('AccountPortfolio|Position[i]|Quick|quoteStatus'); $volume = $xml->GetChildIntValue('AccountPortfolio|Position[i]|Quick|volume'); $lotsDetails = $xml->getChildContent('AccountPortfolio|Position[i]|lotsDetails'); $quoteDetails = $xml->getChildContent('AccountPortfolio|Position[i]|quoteDetails'); $i = $i + 1; } $totalPages = $xml->GetChildIntValue('AccountPortfolio|totalPages'); // <?xml version="1.0" encoding="UTF-8"?> // <PortfolioResponse> // <AccountPortfolio> // <accountId>83554788</accountId> // <Position> // <positionId>10087531</positionId> // <Product> // <expiryDay>0</expiryDay> // <expiryMonth>0</expiryMonth> // <expiryYear>0</expiryYear> // <securityType>EQ</securityType> // <strikePrice>0</strikePrice> // <symbol>A</symbol> // </Product> // <symbolDescription>A</symbolDescription> // <dateAcquired>-68400000</dateAcquired> // <pricePaid>0</pricePaid> // <commissions>0</commissions> // <otherFees>0</otherFees> // <quantity>-120</quantity> // <positionIndicator>TYPE2</positionIndicator> // <positionType>SHORT</positionType> // <daysGain>190.80</daysGain> // <daysGainPct>2.4472</daysGainPct> // <marketValue>-7605.60</marketValue> // <totalCost>0</totalCost> // <totalGain>-7605.60</totalGain> // <totalGainPct>0</totalGainPct> // <pctOfPortfolio>-0.0008</pctOfPortfolio> // <costPerShare>0</costPerShare> // <todayCommissions>0</todayCommissions> // <todayFees>0</todayFees> // <todayPricePaid>0</todayPricePaid> // <todayQuantity>0</todayQuantity> // <adjPrevClose>64.970000</adjPrevClose> // <Quick> // <change>-1.59</change> // <changePct>-2.4472</changePct> // <lastTrade>63.38</lastTrade> // <lastTradeTime>1529429280</lastTradeTime> // <quoteStatus>DELAYED</quoteStatus> // <volume>2431617</volume> // </Quick> // <lotsDetails>https://api.etrade.com/v1/accounts/JDIozUumZpHdgbIjMnAAHQ/portfolio/10087531</lotsDetails> // <quoteDetails>https://api.etrade.com/v1/market/quote/A</quoteDetails> // </Position> // <Position> // <positionId>140357348131</positionId> // <Product> // <expiryDay>0</expiryDay> // <expiryMonth>0</expiryMonth> // <expiryYear>0</expiryYear> // <securityType>EQ</securityType> // <strikePrice>0</strikePrice> // <symbol>TWTR</symbol> // </Product> // <symbolDescription>TWTR</symbolDescription> // <dateAcquired>-68400000</dateAcquired> // <pricePaid>0</pricePaid> // <commissions>0</commissions> // <otherFees>0</otherFees> // <quantity>3</quantity> // <positionIndicator>TYPE2</positionIndicator> // <positionType>LONG</positionType> // <daysGain>-3.915</daysGain> // <daysGainPct>-2.8369</daysGainPct> // <marketValue>134.085</marketValue> // <totalCost>0</totalCost> // <totalGain>134.085</totalGain> // <totalGainPct>0</totalGainPct> // <pctOfPortfolio>0.0235</pctOfPortfolio> // <costPerShare>0</costPerShare> // <todayCommissions>0</todayCommissions> // <todayFees>0</todayFees> // <todayPricePaid>0</todayPricePaid> // <todayQuantity>0</todayQuantity> // <adjPrevClose>46.000000</adjPrevClose> // <Quick> // <change>-1.305</change> // <changePct>-2.8369</changePct> // <lastTrade>44.695</lastTrade> // <lastTradeTime>1529429280</lastTradeTime> // <quoteStatus>DELAYED</quoteStatus> // <volume>26582141</volume> // </Quick> // <lotsDetails>https://api.etrade.com/v1/accounts/yIFaUoJ81qyAhgxLWRQ42g/portfolio/140357348131</lotsDetails> // <quoteDetails>https://api.etrade.com/v1/market/quote/TWTR</quoteDetails> // </Position> // <totalPages>1</totalPages> // </AccountPortfolio> // </PortfolioResponse> ?> |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.