Sample code for 30+ languages & platforms
B4X

ETrade Cancel Order

See more ETrade Examples

The cancel order API is used to cancel an existing order.

Chilkat B4X Downloads

B4X
Dim success As Boolean = False

'  This requires the Chilkat API to have been previously unlocked.
'  See Global Unlock Sample for sample code.

Dim http As ChilkatHttp
http.Initialize("http")

http.OAuth1 = True
http.OAuthVerifier = ""
http.OAuthConsumerKey = "ETRADE_CONSUMER_KEY"
http.OAuthConsumerSecret = "ETRADE_CONSUMER_SECRET"

'  Load the access token previously obtained via the OAuth1 Authorization
Dim jsonToken As ChilkatJsonObject
jsonToken.Initialize
success = jsonToken.LoadFile("qa_data/tokens/etrade.json")
If success <> True Then
    Log("Failed to load OAuth1 token")
    Return
End If


http.OAuthToken = jsonToken.StringOf("oauth_token")
http.OAuthTokenSecret = jsonToken.StringOf("oauth_token_secret")

Dim sandboxUrl As String = "https://apisb.etrade.com/v1/accounts/{$accountIdKey}/orders/cancel"
Dim liveUrl As String = "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>

Dim xml As ChilkatXml
xml.Initialize
xml.Tag = "CancelOrderRequest"
xml.UpdateChildContent("orderId", "11")
xml.EmitCompact = True

Dim httpRequestBody As String = xml.GetXml
Dim resp As ChilkatHttpResponse
resp.Initialize
success = http.HttpStr("PUT", sandboxUrl, httpRequestBody, "utf-8", "application/xml", resp)
If success = False Then
    Log(http.LastErrorText)
    Return
End If


'  Make sure a successful response was received.
If resp.StatusCode > 200 Then
    Log(resp.StatusLine)
    Log(resp.Header)
    Log(resp.BodyStr)
    Return
End If


'  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)
Log(xml.GetXml)

Dim accountId As Int
Dim orderId As Int
Dim cancelTime As String
Dim code As Int
Dim description As String
Dim v_type As 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")

Log("Success.")