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
(Perl) ETrade Get Account BalancesRetrieves the current account balance and related details for a specified account. For more information, see https://apisb.etrade.com/docs/api/account/api-balance-v1.html
use chilkat(); # 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}/balance?instType={$instType}&realTimeNAV=true"; $liveUrl = "https://api.etrade.com/v1/accounts/{$accountIdKey}/balance?instType={$instType}&realTimeNAV=true"; $http->SetUrlVar("accountIdKey","6_Dpy0rmuQ9cu9IbTfvF2A"); $http->SetUrlVar("instType","BROKERAGE"); # resp is a HttpResponse $resp = $http->QuickGetObj($sandboxUrl); if ($http->get_LastMethodSuccess() != 1) { 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"?> # <BalanceResponse> # <accountId>83564979</accountId> # <accountType>PDT_ACCOUNT</accountType> # <optionLevel>LEVEL_4</optionLevel> # <accountDescription>KRITHH TT</accountDescription> # <quoteMode>6</quoteMode> # <dayTraderStatus>PDT_MIN_EQUITY_RES_1XK</dayTraderStatus> # <accountMode>PDT ACCOUNT</accountMode> # <Cash> # <fundsForOpenOrdersCash>0</fundsForOpenOrdersCash> # <moneyMktBalance>0</moneyMktBalance> # </Cash> # <Computed> # <cashAvailableForInvestment>0</cashAvailableForInvestment> # <netCash>93921.44</netCash> # <cashBalance>93921.44</cashBalance> # <settledCashForInvestment>0</settledCashForInvestment> # <unSettledCashForInvestment>0</unSettledCashForInvestment> # <fundsWithheldFromPurchasePower>0</fundsWithheldFromPurchasePower> # <fundsWithheldFromWithdrawal>0</fundsWithheldFromWithdrawal> # <marginBuyingPower>0</marginBuyingPower> # <cashBuyingPower>93921.44</cashBuyingPower> # <dtMarginBuyingPower>0</dtMarginBuyingPower> # <dtCashBuyingPower>0</dtCashBuyingPower> # <shortAdjustBalance>0</shortAdjustBalance> # <regtEquity>0</regtEquity> # <regtEquityPercent>0</regtEquityPercent> # <accountBalance>0</accountBalance> # </Computed> # <Margin> # <dtCashOpenOrderReserve>0</dtCashOpenOrderReserve> # <dtMarginOpenOrderReserve>0</dtMarginOpenOrderReserve> # </Margin> # </BalanceResponse> $xml = chilkat::CkXml->new(); $xml->LoadXml($resp->bodyStr()); print $xml->getXml() . "\r\n"; $accountId = $xml->GetChildIntValue("accountId"); $accountType = $xml->getChildContent("accountType"); $optionLevel = $xml->getChildContent("optionLevel"); $accountDescription = $xml->getChildContent("accountDescription"); $quoteMode = $xml->GetChildIntValue("quoteMode"); $dayTraderStatus = $xml->getChildContent("dayTraderStatus"); $accountMode = $xml->getChildContent("accountMode"); $fundsForOpenOrdersCash = $xml->GetChildIntValue("Cash|fundsForOpenOrdersCash"); $moneyMktBalance = $xml->GetChildIntValue("Cash|moneyMktBalance"); $cashAvailableForInvestment = $xml->GetChildIntValue("Computed|cashAvailableForInvestment"); $netCash = $xml->getChildContent("Computed|netCash"); $cashBalance = $xml->getChildContent("Computed|cashBalance"); $settledCashForInvestment = $xml->GetChildIntValue("Computed|settledCashForInvestment"); $unSettledCashForInvestment = $xml->GetChildIntValue("Computed|unSettledCashForInvestment"); $fundsWithheldFromPurchasePower = $xml->GetChildIntValue("Computed|fundsWithheldFromPurchasePower"); $fundsWithheldFromWithdrawal = $xml->GetChildIntValue("Computed|fundsWithheldFromWithdrawal"); $marginBuyingPower = $xml->GetChildIntValue("Computed|marginBuyingPower"); $cashBuyingPower = $xml->getChildContent("Computed|cashBuyingPower"); $dtMarginBuyingPower = $xml->GetChildIntValue("Computed|dtMarginBuyingPower"); $dtCashBuyingPower = $xml->GetChildIntValue("Computed|dtCashBuyingPower"); $shortAdjustBalance = $xml->GetChildIntValue("Computed|shortAdjustBalance"); $regtEquity = $xml->GetChildIntValue("Computed|regtEquity"); $regtEquityPercent = $xml->GetChildIntValue("Computed|regtEquityPercent"); $accountBalance = $xml->GetChildIntValue("Computed|accountBalance"); $dtCashOpenOrderReserve = $xml->GetChildIntValue("Margin|dtCashOpenOrderReserve"); $dtMarginOpenOrderReserve = $xml->GetChildIntValue("Margin|dtMarginOpenOrderReserve"); print "Success." . "\r\n"; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.