Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(Excel) 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. Dim http As Chilkat.Http Set http = Chilkat.NewHttp http.OAuth1 = True 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. Dim json As Chilkat.JsonObject Set json = Chilkat.NewJsonObject success = json.LoadFile("qa_data/tokens/etrade.json") If (success <> True) Then Debug.Print "Failed to load OAuth1 token" Exit Sub End If http.OAuthToken = json.StringOf("oauth_token") http.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> Dim xml As Chilkat.Xml Set xml = Chilkat.NewXml xml.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" Set resp = http.PostXml(endpointUrl,xmlContent,"utf-8") If (http.LastMethodSuccess <> True) Then Debug.Print http.LastErrorText Exit Sub End If ' A 200 status code indicates success. statusCode = resp.StatusCode Debug.Print "statusCode = "; statusCode ' Use the following online tool to generate parsing code from sample XML: ' Generate Parsing Code from XML ' A sample XML response is shown below... success = 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") Do While i < count_i xml.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 Loop 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-2022 Chilkat Software, Inc. All Rights Reserved.