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
(AutoIt) ETrade v1 Preview OrderGets the order details for a selected brokerage account based on the search criteria provided.
; This example requires the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. $oHttp = ObjCreate("Chilkat.Http") $oHttp.OAuth1 = True $oHttp.OAuthVerifier = "" $oHttp.OAuthConsumerKey = "ETRADE_CONSUMER_KEY" $oHttp.OAuthConsumerSecret = "ETRADE_CONSUMER_SECRET" ; Load the access token previously obtained via the OAuth1 3-Legged Authorization examples Step1 and Step2. $oJson = ObjCreate("Chilkat.JsonObject") Local $bSuccess = $oJson.LoadFile("qa_data/tokens/etrade.json") If ($bSuccess <> True) Then ConsoleWrite("Failed to load OAuth1 token" & @CRLF) Exit EndIf $oHttp.OAuthToken = $oJson.StringOf("oauth_token") $oHttp.OAuthTokenSecret = $oJson.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> $oXml = ObjCreate("Chilkat.Xml") $oXml.Tag = "PreviewOrderRequest" $oXml.UpdateChildContent "orderType","EQ" $oXml.UpdateChildContent "clientOrderId","sdfer333" $oXml.UpdateChildContent "Order|allOrNone","false" $oXml.UpdateChildContent "Order|priceType","LIMIT" $oXml.UpdateChildContent "Order|orderTerm","GOOD_FOR_DAY" $oXml.UpdateChildContent "Order|marketSession","REGULAR" $oXml.UpdateChildContent "Order|stopPrice","" $oXml.UpdateChildContent "Order|limitPrice","188.51" $oXml.UpdateChildContent "Order|Instrument|Product|securityType","EQ" $oXml.UpdateChildContent "Order|Instrument|Product|symbol","FB" $oXml.UpdateChildContent "Order|Instrument|orderAction","BUY" $oXml.UpdateChildContent "Order|Instrument|quantityType","QUANTITY" $oXml.UpdateChildContent "Order|Instrument|quantity","10" Local $sXmlContent = $oXml.GetXml() Local $sEndpointUrl = "https://apisb.etrade.com/v1/accounts/{accountIdKey}/orders/preview" Local $oResp = $oHttp.PostXml($sEndpointUrl,$sXmlContent,"utf-8") If ($oHttp.LastMethodSuccess <> True) Then ConsoleWrite($oHttp.LastErrorText & @CRLF) Exit EndIf ; A 200 status code indicates success. Local $iStatusCode = $oResp.StatusCode ConsoleWrite("statusCode = " & $iStatusCode & @CRLF) ; Use the following online tool to generate parsing code from sample XML: ; Generate Parsing Code from XML ; A sample XML response is shown below... $oXml.LoadXml($oResp.BodyStr) Local $sTagPath Local $sOrderType Local $sTotalOrderValue Local $sOrderTerm Local $sPriceType Local $sLimitPrice Local $iStopPrice Local $sMarketSession Local $sAllOrNone Local $symbol Local $securityType Local $symbolDescription Local $sOrderAction Local $sQuantityType Local $iQuantity Local $sCancelQuantity Local $sReserveOrder Local $sReserveQuantity Local $i Local $iCount_i Local $iCode Local $sDescription Local $sV_type Local $sEgQual Local $sEstimatedCommission Local $sEstimatedTotalAmount Local $iNetPrice Local $iNetBid Local $iNetAsk Local $iGcd Local $iPreviewId Local $sPreviewTime Local $sDstFlag Local $iAccountId Local $iOptionLevelCd Local $sMarginLevelCd Local $sAhDisclosureFlag Local $sAoDisclosureFlag Local $sConditionalDisclosureFlag Local $sEhDisclosureFlag Local $sMarginBuyingPower $sOrderType = $oXml.GetChildContent("orderType") $sTotalOrderValue = $oXml.GetChildContent("totalOrderValue") $sOrderTerm = $oXml.GetChildContent("Order|orderTerm") $sPriceType = $oXml.GetChildContent("Order|priceType") $sLimitPrice = $oXml.GetChildContent("Order|limitPrice") $iStopPrice = $oXml.GetChildIntValue("Order|stopPrice") $sMarketSession = $oXml.GetChildContent("Order|marketSession") $sAllOrNone = $oXml.GetChildContent("Order|allOrNone") $symbol = $oXml.GetChildContent("Order|Instrument|Product|symbol") $securityType = $oXml.GetChildContent("Order|Instrument|Product|securityType") $symbolDescription = $oXml.GetChildContent("Order|Instrument|symbolDescription") $sOrderAction = $oXml.GetChildContent("Order|Instrument|orderAction") $sQuantityType = $oXml.GetChildContent("Order|Instrument|quantityType") $iQuantity = $oXml.GetChildIntValue("Order|Instrument|quantity") $sCancelQuantity = $oXml.GetChildContent("Order|Instrument|cancelQuantity") $sReserveOrder = $oXml.GetChildContent("Order|Instrument|reserveOrder") $sReserveQuantity = $oXml.GetChildContent("Order|Instrument|reserveQuantity") $i = 0 $iCount_i = $oXml.NumChildrenHavingTag("Order|messages|Message") While $i < $iCount_i $oXml.I = $i $iCode = $oXml.GetChildIntValue("Order|messages|Message[i]|code") $sDescription = $oXml.GetChildContent("Order|messages|Message[i]|description") $sV_type = $oXml.GetChildContent("Order|messages|Message[i]|type") $i = $i + 1 Wend $sEgQual = $oXml.GetChildContent("Order|egQual") $sEstimatedCommission = $oXml.GetChildContent("Order|estimatedCommission") $sEstimatedTotalAmount = $oXml.GetChildContent("Order|estimatedTotalAmount") $iNetPrice = $oXml.GetChildIntValue("Order|netPrice") $iNetBid = $oXml.GetChildIntValue("Order|netBid") $iNetAsk = $oXml.GetChildIntValue("Order|netAsk") $iGcd = $oXml.GetChildIntValue("Order|gcd") $iPreviewId = $oXml.GetChildIntValue("PreviewIds|previewId") $sPreviewTime = $oXml.GetChildContent("previewTime") $sDstFlag = $oXml.GetChildContent("dstFlag") $iAccountId = $oXml.GetChildIntValue("accountId") $iOptionLevelCd = $oXml.GetChildIntValue("optionLevelCd") $sMarginLevelCd = $oXml.GetChildContent("marginLevelCd") $sAhDisclosureFlag = $oXml.GetChildContent("Disclosure|ahDisclosureFlag") $sAoDisclosureFlag = $oXml.GetChildContent("Disclosure|aoDisclosureFlag") $sConditionalDisclosureFlag = $oXml.GetChildContent("Disclosure|conditionalDisclosureFlag") $sEhDisclosureFlag = $oXml.GetChildContent("Disclosure|ehDisclosureFlag") $sMarginBuyingPower = $oXml.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.