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 Extension) ETrade v1 Preview OrderGets the order details for a selected brokerage account based on the search criteria provided.
<?php // The version number (9_5_0) should match version of the Chilkat extension used, omitting the micro-version number. // For example, if using Chilkat v9.5.0.48, then include as shown here: include("chilkat_9_5_0.php"); // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. $http = new CkHttp(); $http->put_OAuth1(true); $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 = new CkJsonObject(); $success = $json->LoadFile('qa_data/tokens/etrade.json'); if ($success != true) { print 'Failed to load OAuth1 token' . "\n"; exit; } $http->put_OAuthToken($json->stringOf('oauth_token')); $http->put_OAuthTokenSecret($json->stringOf('oauth_token_secret')); // See the ETrade v1 API documentation HERE. // Sample XML Request // Use this online tool to generate the code from sample XML: // Generate Code to Create XML // <?xml version="1.0" encoding="UTF-8"?> // <PreviewOrderRequest> // <orderType>EQ</orderType> // <clientOrderId>sdfer333</clientOrderId> // <Order> // <allOrNone>false</allOrNone> // <priceType>LIMIT</priceType> // <orderTerm>GOOD_FOR_DAY</orderTerm> // <marketSession>REGULAR</marketSession> // <stopPrice /> // <limitPrice>188.51</limitPrice> // <Instrument> // <Product> // <securityType>EQ</securityType> // <symbol>FB</symbol> // </Product> // <orderAction>BUY</orderAction> // <quantityType>QUANTITY</quantityType> // <quantity>10</quantity> // </Instrument> // </Order> // </PreviewOrderRequest> $xml = new CkXml(); $xml->put_Tag('PreviewOrderRequest'); $xml->UpdateChildContent('orderType','EQ'); $xml->UpdateChildContent('clientOrderId','sdfer333'); $xml->UpdateChildContent('Order|allOrNone','false'); $xml->UpdateChildContent('Order|priceType','LIMIT'); $xml->UpdateChildContent('Order|orderTerm','GOOD_FOR_DAY'); $xml->UpdateChildContent('Order|marketSession','REGULAR'); $xml->UpdateChildContent('Order|stopPrice',''); $xml->UpdateChildContent('Order|limitPrice','188.51'); $xml->UpdateChildContent('Order|Instrument|Product|securityType','EQ'); $xml->UpdateChildContent('Order|Instrument|Product|symbol','FB'); $xml->UpdateChildContent('Order|Instrument|orderAction','BUY'); $xml->UpdateChildContent('Order|Instrument|quantityType','QUANTITY'); $xml->UpdateChildContent('Order|Instrument|quantity','10'); $xmlContent = $xml->getXml(); $endpointUrl = 'https://apisb.etrade.com/v1/accounts/{accountIdKey}/orders/preview'; // resp is a CkHttpResponse $resp = $http->PostXml($endpointUrl,$xmlContent,'utf-8'); if ($http->get_LastMethodSuccess() != true) { print $http->lastErrorText() . "\n"; exit; } // A 200 status code indicates success. $statusCode = $resp->get_StatusCode(); 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... $xml->LoadXml($resp->bodyStr()); $orderType = $xml->getChildContent('orderType'); $totalOrderValue = $xml->getChildContent('totalOrderValue'); $orderTerm = $xml->getChildContent('Order|orderTerm'); $priceType = $xml->getChildContent('Order|priceType'); $limitPrice = $xml->getChildContent('Order|limitPrice'); $stopPrice = $xml->GetChildIntValue('Order|stopPrice'); $marketSession = $xml->getChildContent('Order|marketSession'); $allOrNone = $xml->getChildContent('Order|allOrNone'); $symbol = $xml->getChildContent('Order|Instrument|Product|symbol'); $securityType = $xml->getChildContent('Order|Instrument|Product|securityType'); $symbolDescription = $xml->getChildContent('Order|Instrument|symbolDescription'); $orderAction = $xml->getChildContent('Order|Instrument|orderAction'); $quantityType = $xml->getChildContent('Order|Instrument|quantityType'); $quantity = $xml->GetChildIntValue('Order|Instrument|quantity'); $cancelQuantity = $xml->getChildContent('Order|Instrument|cancelQuantity'); $reserveOrder = $xml->getChildContent('Order|Instrument|reserveOrder'); $reserveQuantity = $xml->getChildContent('Order|Instrument|reserveQuantity'); $i = 0; $count_i = $xml->NumChildrenHavingTag('Order|messages|Message'); while ($i < $count_i) { $xml->put_I($i); $code = $xml->GetChildIntValue('Order|messages|Message[i]|code'); $description = $xml->getChildContent('Order|messages|Message[i]|description'); $v_type = $xml->getChildContent('Order|messages|Message[i]|type'); $i = $i + 1; } $egQual = $xml->getChildContent('Order|egQual'); $estimatedCommission = $xml->getChildContent('Order|estimatedCommission'); $estimatedTotalAmount = $xml->getChildContent('Order|estimatedTotalAmount'); $netPrice = $xml->GetChildIntValue('Order|netPrice'); $netBid = $xml->GetChildIntValue('Order|netBid'); $netAsk = $xml->GetChildIntValue('Order|netAsk'); $gcd = $xml->GetChildIntValue('Order|gcd'); $previewId = $xml->GetChildIntValue('PreviewIds|previewId'); $previewTime = $xml->getChildContent('previewTime'); $dstFlag = $xml->getChildContent('dstFlag'); $accountId = $xml->GetChildIntValue('accountId'); $optionLevelCd = $xml->GetChildIntValue('optionLevelCd'); $marginLevelCd = $xml->getChildContent('marginLevelCd'); $ahDisclosureFlag = $xml->getChildContent('Disclosure|ahDisclosureFlag'); $aoDisclosureFlag = $xml->getChildContent('Disclosure|aoDisclosureFlag'); $conditionalDisclosureFlag = $xml->getChildContent('Disclosure|conditionalDisclosureFlag'); $ehDisclosureFlag = $xml->getChildContent('Disclosure|ehDisclosureFlag'); $marginBuyingPower = $xml->getChildContent('marginBuyingPower'); // Sample XML Response // <?xml version="1.0" encoding="UTF-8"?> // <PreviewOrderResponse> // <orderType>EQ</orderType> // <totalOrderValue>1892.05</totalOrderValue> // <Order> // <orderTerm>GOOD_FOR_DAY</orderTerm> // <priceType>LIMIT</priceType> // <limitPrice>188.51</limitPrice> // <stopPrice>0</stopPrice> // <marketSession>REGULAR</marketSession> // <allOrNone>false</allOrNone> // <Instrument> // <Product> // <symbol>FB</symbol> // <securityType>EQ</securityType> // </Product> // <symbolDescription>FACEBOOK INC CL A</symbolDescription> // <orderAction>BUY</orderAction> // <quantityType>QUANTITY</quantityType> // <quantity>10</quantity> // <cancelQuantity>0.0</cancelQuantity> // <reserveOrder>true</reserveOrder> // <reserveQuantity>0.0</reserveQuantity> // </Instrument> // <messages> // <Message> // <code>1042</code> // <description>200|You have an existing open order for this security on the same side of the market. If you did not intend to place a second order for this security, please modify your order now.</description> // <type>WARNING</type> // </Message> // <Message> // <code>3093</code> // <description>Position Concentrated.</description> // <type>WARNING</type> // </Message> // </messages> // <egQual>EG_QUAL_NOT_A_MARKET_ORDER</egQual> // <estimatedCommission>6.95</estimatedCommission> // <estimatedTotalAmount>1892.05</estimatedTotalAmount> // <netPrice>0</netPrice> // <netBid>0</netBid> // <netAsk>0</netAsk> // <gcd>0</gcd> // <ratio /> // </Order> // <PreviewIds> // <previewId>1020563279</previewId> // </PreviewIds> // <previewTime>1529018458516</previewTime> // <dstFlag>true</dstFlag> // <accountId>84246841</accountId> // <optionLevelCd>4</optionLevelCd> // <marginLevelCd>MARGIN_TRADING_ALLOWED</marginLevelCd> // <Disclosure> // <ahDisclosureFlag>false</ahDisclosureFlag> // <aoDisclosureFlag>false</aoDisclosureFlag> // <conditionalDisclosureFlag>true</conditionalDisclosureFlag> // <ehDisclosureFlag>false</ehDisclosureFlag> // </Disclosure> // <marginBuyingPower>86758.05</marginBuyingPower> // </PreviewOrderResponse> ?> |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.