|  | 
Chilkat  HOME  Android™  AutoIt  C  C#  C++  Chilkat2-Python  CkPython  Classic ASP  DataFlex  Delphi DLL  Go  Java  Node.js  Objective-C  PHP Extension  Perl  PowerBuilder  PowerShell  PureBasic  Ruby  SQL Server  Swift  Tcl  Unicode C  Unicode C++  VB.NET  VBScript  Visual Basic 6.0  Visual FoxPro  Xojo Plugin
| (Classic ASP) ETrade Preview OrderThe Preview Order API is used to submit an order request for preview before placing it. For more information, see https://apisb.etrade.com/docs/api/order/api-order-v1.html#/definition/orderPreview 
 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <% ' This requires the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.Http") set http = Server.CreateObject("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 Authorization ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.JsonObject") set jsonToken = Server.CreateObject("Chilkat.JsonObject") success = jsonToken.LoadFile("qa_data/tokens/etrade.json") If (success <> 1) Then Response.Write "<pre>" & Server.HTMLEncode( "Failed to load OAuth1 token") & "</pre>" Response.End End If http.OAuthToken = jsonToken.StringOf("oauth_token") http.OAuthTokenSecret = jsonToken.StringOf("oauth_token_secret") sandboxUrl = "https://apisb.etrade.com/v1/accounts/{$accountIdKey}/orders/preview" liveUrl = "https://api.etrade.com/v1/accounts/{$accountIdKey}/orders/preview" success = http.SetUrlVar("accountIdKey","6_Dpy0rmuQ9cu9IbTfvF2A") ' Send a POST with the following XML body ' 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> ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.Xml") set xml = Server.CreateObject("Chilkat.Xml") 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" xml.EmitCompact = 1 http.SetRequestHeader "Content-Type","application/xml" ' resp is a Chilkat.HttpResponse Set resp = http.PostXml(sandboxUrl,xml.GetXml(),"utf-8") If (http.LastMethodSuccess <> 1) Then Response.Write "<pre>" & Server.HTMLEncode( http.LastErrorText) & "</pre>" Response.End End If ' Make sure a successful response was received. If (resp.StatusCode > 200) Then Response.Write "<pre>" & Server.HTMLEncode( resp.StatusLine) & "</pre>" Response.Write "<pre>" & Server.HTMLEncode( resp.Header) & "</pre>" Response.Write "<pre>" & Server.HTMLEncode( resp.BodyStr) & "</pre>" Response.End End If ' 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"?> ' <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> ' <cashBpDetails> ' <settled> ' <currentBp>5000.00</currentBp> ' <currentNetBp>5000.00</currentNetBp> ' <currentOor>0.00</currentOor> ' <currentOrderImpact>64.95</currentOrderImpact> ' <netBp>4935.05</netBp> ' </settled> ' <settledUnsettled> ' <currentBp>5000.00</currentBp> ' <currentNetBp>5000.00</currentNetBp> ' <currentOor>0.00</currentOor> ' <currentOrderImpact>64.95</currentOrderImpact> ' <netBp>4935.05</netBp> ' </settledUnsettled> ' </cashBpDetails> ' </PreviewOrderResponse> success = xml.LoadXml(resp.BodyStr) Response.Write "<pre>" & Server.HTMLEncode( xml.GetXml()) & "</pre>" 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") currentBp = xml.GetChildContent("cashBpDetails|settled|currentBp") currentNetBp = xml.GetChildContent("cashBpDetails|settled|currentNetBp") currentOor = xml.GetChildContent("cashBpDetails|settled|currentOor") currentOrderImpact = xml.GetChildContent("cashBpDetails|settled|currentOrderImpact") netBp = xml.GetChildContent("cashBpDetails|settled|netBp") currentBp = xml.GetChildContent("cashBpDetails|settledUnsettled|currentBp") currentNetBp = xml.GetChildContent("cashBpDetails|settledUnsettled|currentNetBp") currentOor = xml.GetChildContent("cashBpDetails|settledUnsettled|currentOor") currentOrderImpact = xml.GetChildContent("cashBpDetails|settledUnsettled|currentOrderImpact") netBp = xml.GetChildContent("cashBpDetails|settledUnsettled|netBp") Response.Write "<pre>" & Server.HTMLEncode( "Success.") & "</pre>" %> </body> </html> | ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.