Go
Go
ETrade Cancel Order
See more ETrade Examples
The cancel order API is used to cancel an existing order.Chilkat Go Downloads
success := false
// This requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http := chilkat.NewHttp()
http.SetOAuth1(true)
http.SetOAuthVerifier("")
http.SetOAuthConsumerKey("ETRADE_CONSUMER_KEY")
http.SetOAuthConsumerSecret("ETRADE_CONSUMER_SECRET")
// Load the access token previously obtained via the OAuth1 Authorization
jsonToken := chilkat.NewJsonObject()
success = jsonToken.LoadFile("qa_data/tokens/etrade.json")
if success != true {
fmt.Println("Failed to load OAuth1 token")
http.DisposeHttp()
jsonToken.DisposeJsonObject()
return
}
http.SetOAuthToken(jsonToken.StringOf("oauth_token"))
http.SetOAuthTokenSecret(jsonToken.StringOf("oauth_token_secret"))
sandboxUrl := "https://apisb.etrade.com/v1/accounts/{$accountIdKey}/orders/cancel"
liveUrl := "https://api.etrade.com/v1/accounts/{$accountIdKey}/orders/cancel"
http.SetUrlVar("accountIdKey","6_Dpy0rmuQ9cu9IbTfvF2A")
// Send a PUT with the following XML body
// Use this online tool to generate the code from sample XML:
// Generate Code to Create XML
// <CancelOrderRequest>
// <orderId>11</orderId>
// </CancelOrderRequest>
xml := chilkat.NewXml()
xml.SetTag("CancelOrderRequest")
xml.UpdateChildContent("orderId","11")
xml.SetEmitCompact(true)
httpRequestBody := xml.GetXml()
resp := chilkat.NewHttpResponse()
success = http.HttpStr("PUT",sandboxUrl,*httpRequestBody,"utf-8","application/xml",resp)
if success == false {
fmt.Println(http.LastErrorText())
http.DisposeHttp()
jsonToken.DisposeJsonObject()
xml.DisposeXml()
resp.DisposeHttpResponse()
return
}
// Make sure a successful response was received.
if resp.StatusCode() > 200 {
fmt.Println(resp.StatusLine())
fmt.Println(resp.Header())
fmt.Println(resp.BodyStr())
http.DisposeHttp()
jsonToken.DisposeJsonObject()
xml.DisposeXml()
resp.DisposeHttpResponse()
return
}
// Sample XML response:
// Use this online tool to generate parsing code from sample XML:
// Generate Parsing Code from XML
// <CancelOrderResponse>
// <accountId>63438617</accountId>
// <orderId>11</orderId>
// <cancelTime>1529563499081</cancelTime>
// <Messages>
// <Message>
// <code>5011</code>
// <description>200|Your request to cancel your order is being processed.</description>
// <type>WARNING</type>
// </Message>
// </Messages>
// </CancelOrderResponse>
xml.LoadXml(resp.BodyStr())
fmt.Println(*xml.GetXml())
var accountId int
var orderId int
var cancelTime *string = new(string)
var code int
var description *string = new(string)
var v_type *string = new(string)
accountId = xml.GetChildIntValue("accountId")
orderId = xml.GetChildIntValue("orderId")
cancelTime = xml.GetChildContent("cancelTime")
code = xml.GetChildIntValue("Messages|Message|code")
description = xml.GetChildContent("Messages|Message|description")
v_type = xml.GetChildContent("Messages|Message|type")
fmt.Println("Success.")
http.DisposeHttp()
jsonToken.DisposeJsonObject()
xml.DisposeXml()
resp.DisposeHttpResponse()