Chilkat Examples

ChilkatHOMEAndroid™Classic ASPCC++C#Mono C#.NET Core C#C# UWP/WinRTDataFlexDelphi ActiveXDelphi DLLVisual FoxProJavaLianjaMFCObjective-CPerlPHP ActiveXPHP ExtensionPowerBuilderPowerShellPureBasicCkPythonChilkat2-PythonRubySQL ServerSwift 2Swift 3,4,5...TclUnicode CUnicode C++Visual Basic 6.0VB.NETVB.NET UWP/WinRTVBScriptXojo PluginNode.jsExcelGo

Android™ Web API Examples

Primary Categories

ABN AMRO
AWS Translate
Activix CRM
Adyen
Amazon MWS
Aruba Fatturazione
Azure Maps
Azure Monitor
Azure OAuth2
Azure Storage Accounts
Bitfinex v2 REST
Bluzone
CardConnect
ClickBank
Clickatell
Cloudfare
DocuSign
ETrade
Etsy
Facebook
GeoOp
GetHarvest
Global Payments
Google People
Google Search Console
Hungary NAV Invoicing
IBM Text to Speech
Jira
MYOB

Magento
MercadoLibre
Microsoft Calendar
Microsoft Group
Microsoft Tasks and Plans
Okta OAuth/OIDC
OneLogin OIDC
PayPal
Peoplevox
Populi
QuickBooks
Rabobank
SOAP finkok.com
Shippo
Shopify
SimpleTexting
Stripe
SugarCRM
Trello
Twilio
Twitter
VoiceBase
Vonage
Walmart
Walmart v3
WhatsApp
WooCommerce
Xero
Yousign
_Miscellaneous_
eBay
effectconnect

 

 

 

(Android™) ETrade Preview Order

The Preview Order API is used to submit an order request for preview before placing it.

For more information, see https://apisb.etrade.com/docs/api/order/api-order-v1.html#/definition/orderPreview

Chilkat Android™ Downloads

Android™ Java Libraries

Android C/C++ Libraries

// Important: Don't forget to include the call to System.loadLibrary
// as shown at the bottom of this code sample.
package com.test;

import android.app.Activity;
import com.chilkatsoft.*;

import android.widget.TextView;
import android.os.Bundle;

public class SimpleActivity extends Activity {

  private static final String TAG = "Chilkat";

  // Called when the activity is first created.
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

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

    CkHttp http = new CkHttp();

    http.put_OAuth1(true);
    http.put_OAuthVerifier("");
    http.put_OAuthConsumerKey("ETRADE_CONSUMER_KEY");
    http.put_OAuthConsumerSecret("ETRADE_CONSUMER_SECRET");

    // Load the access token previously obtained via the OAuth1 Authorization
    CkJsonObject jsonToken = new CkJsonObject();
    boolean success = jsonToken.LoadFile("qa_data/tokens/etrade.json");
    if (success != true) {
        Log.i(TAG, "Failed to load OAuth1 token");
        return;
        }

    http.put_OAuthToken(jsonToken.stringOf("oauth_token"));
    http.put_OAuthTokenSecret(jsonToken.stringOf("oauth_token_secret"));

    String sandboxUrl = "https://apisb.etrade.com/v1/accounts/{$accountIdKey}/orders/preview";
    String liveUrl = "https://api.etrade.com/v1/accounts/{$accountIdKey}/orders/preview";

    http.SetUrlVar("accountIdKey","6_Dpy0rmuQ9cu9IbTfvF2A");

    // Send a POST with the following XML body

    // Use this online tool to generate the code from sample XML: 
    // Generate Code to Create XML

    // <?xml version="1.0" encoding="UTF-8"?>
    // <PreviewOrderRequest>
    //    <orderType>EQ</orderType>
    //    <clientOrderId>sdfer333</clientOrderId>
    //    <Order>
    //       <allOrNone>false</allOrNone>
    //       <priceType>LIMIT</priceType>
    //       <orderTerm>GOOD_FOR_DAY</orderTerm>
    //       <marketSession>REGULAR</marketSession>
    //       <stopPrice />
    //       <limitPrice>188.51</limitPrice>
    //       <Instrument>
    //          <Product>
    //             <securityType>EQ</securityType>
    //             <symbol>FB</symbol>
    //          </Product>
    //          <orderAction>BUY</orderAction>
    //          <quantityType>QUANTITY</quantityType>
    //          <quantity>10</quantity>
    //       </Instrument>
    //    </Order>
    // </PreviewOrderRequest>

    CkXml xml = new CkXml();
    xml.put_Tag("PreviewOrderRequest");
    xml.UpdateChildContent("orderType","EQ");
    xml.UpdateChildContent("clientOrderId","sdfer333");
    xml.UpdateChildContent("Order|allOrNone","false");
    xml.UpdateChildContent("Order|priceType","LIMIT");
    xml.UpdateChildContent("Order|orderTerm","GOOD_FOR_DAY");
    xml.UpdateChildContent("Order|marketSession","REGULAR");
    xml.UpdateChildContent("Order|stopPrice","");
    xml.UpdateChildContent("Order|limitPrice","188.51");
    xml.UpdateChildContent("Order|Instrument|Product|securityType","EQ");
    xml.UpdateChildContent("Order|Instrument|Product|symbol","FB");
    xml.UpdateChildContent("Order|Instrument|orderAction","BUY");
    xml.UpdateChildContent("Order|Instrument|quantityType","QUANTITY");
    xml.UpdateChildContent("Order|Instrument|quantity","10");
    xml.put_EmitCompact(true);

    http.SetRequestHeader("Content-Type","application/xml");

    CkHttpResponse resp = http.PostXml(sandboxUrl,xml.getXml(),"utf-8");
    if (http.get_LastMethodSuccess() != true) {
        Log.i(TAG, http.lastErrorText());
        return;
        }

    // Make sure a successful response was received.
    if (resp.get_StatusCode() > 200) {
        Log.i(TAG, resp.statusLine());
        Log.i(TAG, resp.header());
        Log.i(TAG, resp.bodyStr());
        return;
        }

    // Sample XML response:

    // Use this online tool to generate parsing code from sample XML: 
    // Generate Parsing Code from XML

    // <?xml version="1.0" encoding="UTF-8"?>
    // <PreviewOrderResponse>
    //    <orderType>EQ</orderType>
    //    <totalOrderValue>1892.05</totalOrderValue>
    //    <Order>
    //       <orderTerm>GOOD_FOR_DAY</orderTerm>
    //       <priceType>LIMIT</priceType>
    //       <limitPrice>188.51</limitPrice>
    //       <stopPrice>0</stopPrice>
    //       <marketSession>REGULAR</marketSession>
    //       <allOrNone>false</allOrNone>
    //       <Instrument>
    //          <Product>
    //             <symbol>FB</symbol>
    //             <securityType>EQ</securityType>
    //          </Product>
    //          <symbolDescription>FACEBOOK INC CL A</symbolDescription>
    //          <orderAction>BUY</orderAction>
    //          <quantityType>QUANTITY</quantityType>
    //          <quantity>10</quantity>
    //          <cancelQuantity>0.0</cancelQuantity>
    //          <reserveOrder>true</reserveOrder>
    //          <reserveQuantity>0.0</reserveQuantity>
    //       </Instrument>
    //       <messages>
    //          <Message>
    //             <code>1042</code>
    //             <description>200|You have an existing open order for this security on the same side of the market. If you did not intend to place a second order for this security, please modify your order now.</description>
    //             <type>WARNING</type>
    //          </Message>
    //          <Message>
    //             <code>3093</code>
    //             <description>Position Concentrated.</description>
    //             <type>WARNING</type>
    //          </Message>
    //       </messages>
    //       <egQual>EG_QUAL_NOT_A_MARKET_ORDER</egQual>
    //       <estimatedCommission>6.95</estimatedCommission>
    //       <estimatedTotalAmount>1892.05</estimatedTotalAmount>
    //       <netPrice>0</netPrice>
    //       <netBid>0</netBid>
    //       <netAsk>0</netAsk>
    //       <gcd>0</gcd>
    //       <ratio />
    //    </Order>
    //    <PreviewIds>
    //       <previewId>1020563279</previewId>
    //    </PreviewIds>
    //    <previewTime>1529018458516</previewTime>
    //    <dstFlag>true</dstFlag>
    //    <accountId>84246841</accountId>
    //    <optionLevelCd>4</optionLevelCd>
    //    <marginLevelCd>MARGIN_TRADING_ALLOWED</marginLevelCd>
    //    <Disclosure>
    //       <ahDisclosureFlag>false</ahDisclosureFlag>
    //       <aoDisclosureFlag>false</aoDisclosureFlag>
    //       <conditionalDisclosureFlag>true</conditionalDisclosureFlag>
    //       <ehDisclosureFlag>false</ehDisclosureFlag>
    //    </Disclosure>
    //    <cashBpDetails>
    //      <settled>
    //        <currentBp>5000.00</currentBp>
    //        <currentNetBp>5000.00</currentNetBp>
    //        <currentOor>0.00</currentOor>
    //        <currentOrderImpact>64.95</currentOrderImpact>
    //        <netBp>4935.05</netBp>
    //     </settled>
    //     <settledUnsettled>
    //       <currentBp>5000.00</currentBp>
    //       <currentNetBp>5000.00</currentNetBp>
    //       <currentOor>0.00</currentOor>
    //       <currentOrderImpact>64.95</currentOrderImpact>
    //       <netBp>4935.05</netBp>
    //       </settledUnsettled>
    //    </cashBpDetails>
    // </PreviewOrderResponse>

    xml.LoadXml(resp.bodyStr());
    Log.i(TAG, xml.getXml());

    String orderType;
    String totalOrderValue;
    String orderTerm;
    String priceType;
    String limitPrice;
    int stopPrice;
    String marketSession;
    String allOrNone;
    String symbol;
    String securityType;
    String symbolDescription;
    String orderAction;
    String quantityType;
    int quantity;
    String cancelQuantity;
    String reserveOrder;
    String reserveQuantity;
    int i;
    int count_i;
    int code;
    String description;
    String v_type;
    String egQual;
    String estimatedCommission;
    String estimatedTotalAmount;
    int netPrice;
    int netBid;
    int netAsk;
    int gcd;
    int previewId;
    String previewTime;
    String dstFlag;
    int accountId;
    int optionLevelCd;
    String marginLevelCd;
    String ahDisclosureFlag;
    String aoDisclosureFlag;
    String conditionalDisclosureFlag;
    String ehDisclosureFlag;
    String currentBp;
    String currentNetBp;
    String currentOor;
    String currentOrderImpact;
    String netBp;

    orderType = xml.getChildContent("orderType");
    totalOrderValue = xml.getChildContent("totalOrderValue");
    orderTerm = xml.getChildContent("Order|orderTerm");
    priceType = xml.getChildContent("Order|priceType");
    limitPrice = xml.getChildContent("Order|limitPrice");
    stopPrice = xml.GetChildIntValue("Order|stopPrice");
    marketSession = xml.getChildContent("Order|marketSession");
    allOrNone = xml.getChildContent("Order|allOrNone");
    symbol = xml.getChildContent("Order|Instrument|Product|symbol");
    securityType = xml.getChildContent("Order|Instrument|Product|securityType");
    symbolDescription = xml.getChildContent("Order|Instrument|symbolDescription");
    orderAction = xml.getChildContent("Order|Instrument|orderAction");
    quantityType = xml.getChildContent("Order|Instrument|quantityType");
    quantity = xml.GetChildIntValue("Order|Instrument|quantity");
    cancelQuantity = xml.getChildContent("Order|Instrument|cancelQuantity");
    reserveOrder = xml.getChildContent("Order|Instrument|reserveOrder");
    reserveQuantity = xml.getChildContent("Order|Instrument|reserveQuantity");
    i = 0;
    count_i = xml.NumChildrenHavingTag("Order|messages|Message");
    while (i < count_i) {
        xml.put_I(i);
        code = xml.GetChildIntValue("Order|messages|Message[i]|code");
        description = xml.getChildContent("Order|messages|Message[i]|description");
        v_type = xml.getChildContent("Order|messages|Message[i]|type");
        i = i + 1;
        }

    egQual = xml.getChildContent("Order|egQual");
    estimatedCommission = xml.getChildContent("Order|estimatedCommission");
    estimatedTotalAmount = xml.getChildContent("Order|estimatedTotalAmount");
    netPrice = xml.GetChildIntValue("Order|netPrice");
    netBid = xml.GetChildIntValue("Order|netBid");
    netAsk = xml.GetChildIntValue("Order|netAsk");
    gcd = xml.GetChildIntValue("Order|gcd");
    previewId = xml.GetChildIntValue("PreviewIds|previewId");
    previewTime = xml.getChildContent("previewTime");
    dstFlag = xml.getChildContent("dstFlag");
    accountId = xml.GetChildIntValue("accountId");
    optionLevelCd = xml.GetChildIntValue("optionLevelCd");
    marginLevelCd = xml.getChildContent("marginLevelCd");
    ahDisclosureFlag = xml.getChildContent("Disclosure|ahDisclosureFlag");
    aoDisclosureFlag = xml.getChildContent("Disclosure|aoDisclosureFlag");
    conditionalDisclosureFlag = xml.getChildContent("Disclosure|conditionalDisclosureFlag");
    ehDisclosureFlag = xml.getChildContent("Disclosure|ehDisclosureFlag");
    currentBp = xml.getChildContent("cashBpDetails|settled|currentBp");
    currentNetBp = xml.getChildContent("cashBpDetails|settled|currentNetBp");
    currentOor = xml.getChildContent("cashBpDetails|settled|currentOor");
    currentOrderImpact = xml.getChildContent("cashBpDetails|settled|currentOrderImpact");
    netBp = xml.getChildContent("cashBpDetails|settled|netBp");
    currentBp = xml.getChildContent("cashBpDetails|settledUnsettled|currentBp");
    currentNetBp = xml.getChildContent("cashBpDetails|settledUnsettled|currentNetBp");
    currentOor = xml.getChildContent("cashBpDetails|settledUnsettled|currentOor");
    currentOrderImpact = xml.getChildContent("cashBpDetails|settledUnsettled|currentOrderImpact");
    netBp = xml.getChildContent("cashBpDetails|settledUnsettled|netBp");

    Log.i(TAG, "Success.");

  }

  static {
      System.loadLibrary("chilkat");

      // Note: If the incorrect library name is passed to System.loadLibrary,
      // then you will see the following error message at application startup:
      //"The application <your-application-name> has stopped unexpectedly. Please try again."
  }
}

 

© 2000-2020 Chilkat Software, Inc. All Rights Reserved.