Classic ASP
Classic ASP
ETrade v1 Preview Order
See more HTTP Misc Examples
Gets the order details for a selected brokerage account based on the search criteria provided.Chilkat Classic ASP Downloads
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
success = 0
' This example requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
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 3-Legged Authorization examples Step1 and Step2.
set json = Server.CreateObject("Chilkat.JsonObject")
success = json.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 = 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>
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"
xmlContent = xml.GetXml()
endpointUrl = "https://apisb.etrade.com/v1/accounts/{accountIdKey}/orders/preview"
set resp = Server.CreateObject("Chilkat.HttpResponse")
success = http.HttpStr("POST",endpointUrl,xmlContent,"utf-8","application/xml",resp)
If (success = 0) Then
Response.Write "<pre>" & Server.HTMLEncode( http.LastErrorText) & "</pre>"
Response.End
End If
' A 200 status code indicates success.
statusCode = resp.StatusCode
Response.Write "<pre>" & Server.HTMLEncode( "statusCode = " & statusCode) & "</pre>"
' 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>
%>
</body>
</html>