Lianja
Lianja
ETrade Cancel Order
See more ETrade Examples
The cancel order API is used to cancel an existing order.Chilkat Lianja Downloads
llSuccess = .F.
// This requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
loHttp = createobject("CkHttp")
loHttp.OAuth1 = .T.
loHttp.OAuthVerifier = ""
loHttp.OAuthConsumerKey = "ETRADE_CONSUMER_KEY"
loHttp.OAuthConsumerSecret = "ETRADE_CONSUMER_SECRET"
// Load the access token previously obtained via the OAuth1 Authorization
loJsonToken = createobject("CkJsonObject")
llSuccess = loJsonToken.LoadFile("qa_data/tokens/etrade.json")
if (llSuccess <> .T.) then
? "Failed to load OAuth1 token"
release loHttp
release loJsonToken
return
endif
loHttp.OAuthToken = loJsonToken.StringOf("oauth_token")
loHttp.OAuthTokenSecret = loJsonToken.StringOf("oauth_token_secret")
lcSandboxUrl = "https://apisb.etrade.com/v1/accounts/{$accountIdKey}/orders/cancel"
lcLiveUrl = "https://api.etrade.com/v1/accounts/{$accountIdKey}/orders/cancel"
loHttp.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>
loXml = createobject("CkXml")
loXml.Tag = "CancelOrderRequest"
loXml.UpdateChildContent("orderId","11")
loXml.EmitCompact = .T.
lcHttpRequestBody = loXml.GetXml()
loResp = createobject("CkHttpResponse")
llSuccess = loHttp.HttpStr("PUT",lcSandboxUrl,lcHttpRequestBody,"utf-8","application/xml",loResp)
if (llSuccess = .F.) then
? loHttp.LastErrorText
release loHttp
release loJsonToken
release loXml
release loResp
return
endif
// Make sure a successful response was received.
if (loResp.StatusCode > 200) then
? loResp.StatusLine
? loResp.Header
? loResp.BodyStr
release loHttp
release loJsonToken
release loXml
release loResp
return
endif
// 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>
loXml.LoadXml(loResp.BodyStr)
? loXml.GetXml()
lnAccountId = loXml.GetChildIntValue("accountId")
lnOrderId = loXml.GetChildIntValue("orderId")
lcCancelTime = loXml.GetChildContent("cancelTime")
lnCode = loXml.GetChildIntValue("Messages|Message|code")
lcDescription = loXml.GetChildContent("Messages|Message|description")
lcV_type = loXml.GetChildContent("Messages|Message|type")
? "Success."
release loHttp
release loJsonToken
release loXml
release loResp