Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(C) ETrade Cancel OrderThe cancel order API is used to cancel an existing order. For more information, see https://apisb.etrade.com/docs/api/order/api-order-v1.html#/definition/cancelOrder
#include <C_CkHttp.h> #include <C_CkJsonObject.h> #include <C_CkXml.h> #include <C_CkHttpResponse.h> void ChilkatSample(void) { HCkHttp http; HCkJsonObject jsonToken; BOOL success; const char *sandboxUrl; const char *liveUrl; HCkXml xml; HCkHttpResponse resp; int accountId; int orderId; const char *cancelTime; int code; const char *description; const char *v_type; // This requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. http = CkHttp_Create(); CkHttp_putOAuth1(http,TRUE); CkHttp_putOAuthVerifier(http,""); CkHttp_putOAuthConsumerKey(http,"ETRADE_CONSUMER_KEY"); CkHttp_putOAuthConsumerSecret(http,"ETRADE_CONSUMER_SECRET"); // Load the access token previously obtained via the OAuth1 Authorization jsonToken = CkJsonObject_Create(); success = CkJsonObject_LoadFile(jsonToken,"qa_data/tokens/etrade.json"); if (success != TRUE) { printf("Failed to load OAuth1 token\n"); CkHttp_Dispose(http); CkJsonObject_Dispose(jsonToken); return; } CkHttp_putOAuthToken(http,CkJsonObject_stringOf(jsonToken,"oauth_token")); CkHttp_putOAuthTokenSecret(http,CkJsonObject_stringOf(jsonToken,"oauth_token_secret")); sandboxUrl = "https://apisb.etrade.com/v1/accounts/{$accountIdKey}/orders/cancel"; liveUrl = "https://api.etrade.com/v1/accounts/{$accountIdKey}/orders/cancel"; CkHttp_SetUrlVar(http,"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> xml = CkXml_Create(); CkXml_putTag(xml,"CancelOrderRequest"); CkXml_UpdateChildContent(xml,"orderId","11"); CkXml_putEmitCompact(xml,TRUE); resp = CkHttp_PText(http,"PUT",sandboxUrl,CkXml_getXml(xml),"utf-8","application/xml",FALSE,FALSE); if (CkHttp_getLastMethodSuccess(http) != TRUE) { printf("%s\n",CkHttp_lastErrorText(http)); CkHttp_Dispose(http); CkJsonObject_Dispose(jsonToken); CkXml_Dispose(xml); return; } // Make sure a successful response was received. if (CkHttpResponse_getStatusCode(resp) > 200) { printf("%s\n",CkHttpResponse_statusLine(resp)); printf("%s\n",CkHttpResponse_header(resp)); printf("%s\n",CkHttpResponse_bodyStr(resp)); CkHttp_Dispose(http); CkJsonObject_Dispose(jsonToken); CkXml_Dispose(xml); 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> CkXml_LoadXml(xml,CkHttpResponse_bodyStr(resp)); printf("%s\n",CkXml_getXml(xml)); accountId = CkXml_GetChildIntValue(xml,"accountId"); orderId = CkXml_GetChildIntValue(xml,"orderId"); cancelTime = CkXml_getChildContent(xml,"cancelTime"); code = CkXml_GetChildIntValue(xml,"Messages|Message|code"); description = CkXml_getChildContent(xml,"Messages|Message|description"); v_type = CkXml_getChildContent(xml,"Messages|Message|type"); printf("Success.\n"); CkHttp_Dispose(http); CkJsonObject_Dispose(jsonToken); CkXml_Dispose(xml); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.