Sample code for 30+ languages & platforms
C#

ETrade Cancel Order

See more ETrade Examples

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

Chilkat C# Downloads

C#
bool success = false;

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

Chilkat.Http http = new Chilkat.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
Chilkat.JsonObject jsonToken = new Chilkat.JsonObject();
success = jsonToken.LoadFile("qa_data/tokens/etrade.json");
if (success != true) {
    Debug.WriteLine("Failed to load OAuth1 token");
    return;
}

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

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

Chilkat.Xml xml = new Chilkat.Xml();
xml.Tag = "CancelOrderRequest";
xml.UpdateChildContent("orderId","11");
xml.EmitCompact = true;

string httpRequestBody = xml.GetXml();
Chilkat.HttpResponse resp = new Chilkat.HttpResponse();
success = http.HttpStr("PUT",sandboxUrl,httpRequestBody,"utf-8","application/xml",resp);
if (success == false) {
    Debug.WriteLine(http.LastErrorText);
    return;
}

//  Make sure a successful response was received.
if (resp.StatusCode > 200) {
    Debug.WriteLine(resp.StatusLine);
    Debug.WriteLine(resp.Header);
    Debug.WriteLine(resp.BodyStr);
    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);
Debug.WriteLine(xml.GetXml());

int accountId;
int orderId;
string cancelTime;
int code;
string description;
string v_type;

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");

Debug.WriteLine("Success.");