B4X
B4X
ETrade Cancel Order
See more ETrade Examples
The cancel order API is used to cancel an existing order.Chilkat B4X Downloads
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.")