Objective-C
Objective-C
ETrade Cancel Order
See more ETrade Examples
The cancel order API is used to cancel an existing order.Chilkat Objective-C Downloads
#import <CkoHttp.h>
#import <CkoJsonObject.h>
#import <NSString.h>
#import <CkoXml.h>
#import <CkoHttpResponse.h>
BOOL success = NO;
// This requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkoHttp *http = [[CkoHttp alloc] init];
http.OAuth1 = YES;
http.OAuthVerifier = @"";
http.OAuthConsumerKey = @"ETRADE_CONSUMER_KEY";
http.OAuthConsumerSecret = @"ETRADE_CONSUMER_SECRET";
// Load the access token previously obtained via the OAuth1 Authorization
CkoJsonObject *jsonToken = [[CkoJsonObject alloc] init];
success = [jsonToken LoadFile: @"qa_data/tokens/etrade.json"];
if (success != YES) {
NSLog(@"%@",@"Failed to load OAuth1 token");
return;
}
http.OAuthToken = [jsonToken StringOf: @"oauth_token"];
http.OAuthTokenSecret = [jsonToken StringOf: @"oauth_token_secret"];
NSString *sandboxUrl = @"https://apisb.etrade.com/v1/accounts/{$accountIdKey}/orders/cancel";
NSString *liveUrl = @"https://api.etrade.com/v1/accounts/{$accountIdKey}/orders/cancel";
[http SetUrlVar: @"accountIdKey" value: @"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>
CkoXml *xml = [[CkoXml alloc] init];
xml.Tag = @"CancelOrderRequest";
[xml UpdateChildContent: @"orderId" value: @"11"];
xml.EmitCompact = YES;
NSString *httpRequestBody = [xml GetXml];
CkoHttpResponse *resp = [[CkoHttpResponse alloc] init];
success = [http HttpStr: @"PUT" url: sandboxUrl bodyStr: httpRequestBody charset: @"utf-8" contentType: @"application/xml" response: resp];
if (success == NO) {
NSLog(@"%@",http.LastErrorText);
return;
}
// Make sure a successful response was received.
if ([resp.StatusCode intValue] > 200) {
NSLog(@"%@",resp.StatusLine);
NSLog(@"%@",resp.Header);
NSLog(@"%@",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];
NSLog(@"%@",[xml GetXml]);
int accountId;
int orderId;
NSString *cancelTime = 0;
int code;
NSString *description = 0;
NSString *v_type = 0;
accountId = [[xml GetChildIntValue: @"accountId"] intValue];
orderId = [[xml GetChildIntValue: @"orderId"] intValue];
cancelTime = [xml GetChildContent: @"cancelTime"];
code = [[xml GetChildIntValue: @"Messages|Message|code"] intValue];
description = [xml GetChildContent: @"Messages|Message|description"];
v_type = [xml GetChildContent: @"Messages|Message|type"];
NSLog(@"%@",@"Success.");