Sample code for 30+ languages & platforms
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

Classic ASP
<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>