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
(Xojo Plugin) ETrade - List Orders (JSON)Shows how to retrieve a list of orders for an ETrade account, and to iterate through the response. See https://developer.etrade.com/ctnt/dev-portal/getDetail?contentUri=V0_Documentation-OrderAPI-ListOrders for more information.
// This example assumes the Chilkat HTTP API to have been previously unlocked. // See Global Unlock Sample for sample code. Dim http As 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 3-Legged Authorization Dim jsonToken As New Chilkat.JsonObject Dim success As Boolean success = jsonToken.LoadFile("qa_data/tokens/etrade.json") If (success <> True) Then System.DebugLog("Failed to load OAuth1 token") Return End If http.OAuthToken = jsonToken.StringOf("oauth_token") http.OAuthTokenSecret = jsonToken.StringOf("oauth_token_secret") // Tell ETrade we want a JSON response: http.Accept = "application/json" // The live URL is https://etws.etrade.com/order/rest/orderlist/{accountId} // We're using the sandbox URL.. Dim sbUrl As New Chilkat.StringBuilder success = sbUrl.Append("https://etwssandbox.etrade.com/order/sandbox/rest/orderlist/") success = sbUrl.Append("MY_ETRADE_ACCOUNT_ID") Dim respStr As String respStr = http.QuickGetStr(sbUrl.GetAsString()) If (http.LastMethodSuccess <> True) Then System.DebugLog(http.LastErrorText) Return End If // Examine the response status code. Dim statusCode As Int32 statusCode = http.LastStatus System.DebugLog("Status Code = " + Str(statusCode)) // The response is JSON. A sample response is shown below. Dim json As New Chilkat.JsonObject success = json.Load(respStr) json.EmitCompact = False // If the status code was not 200, then it was an error.. If (statusCode <> 200) Then System.DebugLog(json.Emit()) System.DebugLog("List orders failed.") Return End If // Iterate over the orders. Dim i As Int32 i = 0 Dim numOrders As Int32 numOrders = json.SizeOfArray("GetOrderListResponse.orderListResponse.orderDetails") Dim orderList As Chilkat.JsonObject orderList = json.ObjectOf("GetOrderListResponse.orderListResponse") While i < numOrders orderList.I = i System.DebugLog("orderId: " + Str(orderList.IntOf("orderDetails[i].order.orderId"))) System.DebugLog("orderStatus: " + orderList.StringOf("orderDetails[i].order.orderStatus")) If (orderList.HasMember("orderDetails[i].order.legDetails.executedPrice") = True) Then System.DebugLog("executedPrice: " + orderList.StringOf("orderDetails[i].order.legDetails.executedPrice")) End If // Is the legDetails an array? If so, then iterate over it.. Dim szLegDetails As Int32 szLegDetails = orderList.SizeOfArray("orderDetails[i].order.legDetails") If (szLegDetails > 0) Then Dim j As Int32 j = 0 While j < szLegDetails orderList.J = j System.DebugLog("-- legNumber: " + Str(orderList.IntOf("orderDetails[i].order.legDetails[j].legNumber"))) System.DebugLog(" orderAction: " + orderList.StringOf("orderDetails[i].order.legDetails[j].orderAction")) System.DebugLog(" orderedQuantity: " + Str(orderList.IntOf("orderDetails[i].order.legDetails[j].orderedQuantity"))) j = j + 1 Wend End If System.DebugLog("----") i = i + 1 Wend System.DebugLog("success.") // Sample JSON response: // { // "GetOrderListResponse": { // "orderListResponse": { // "count": 11, // "marker": "", // "orderDetails": [ // { // "order": { // "orderId": 208, // "orderPlacedTime": 1267660551466, // "orderExecutedTime": 1267660558000, // "orderValue": 0, // "orderStatus": "EXECUTED", // "orderType": "EQ", // "orderTerm": "GOOD_FOR_DAY", // "priceType": "MARKET", // "limitPrice": 0, // "stopPrice": 0, // "legDetails": { // "legNumber": 1, // "symbolInfo": { // "symbol": "CSCO" // }, // "symbolDescription": "CISCO SYS INC COM", // "orderAction": "SELL", // "orderedQuantity": 1, // "filledQuantity": 1, // "executedPrice": 24.84, // "estimatedCommission": 5, // "estimatedFees": 0 // }, // "allOrNone": false // } // }, // { // "order": { // "orderId": 205, // "orderPlacedTime": 1267099216308, // "orderValue": 4999994.21, // "orderStatus": "OPEN", // "orderType": "OPTN", // "orderTerm": "GOOD_FOR_DAY", // "priceType": "LIMIT", // "limitPrice": 50000, // "stopPrice": 0, // "legDetails": { // "legNumber": 1, // "symbolInfo": { // "symbol": "MSQ", // "callPut": "CALL", // "expYear": 2010, // "expMonth": 4, // "expDay": 17, // "strikePrice": 26 // }, // "symbolDescription": "MSFT APR 26 Call", // "orderAction": "SELL_OPEN", // "orderedQuantity": 1, // "filledQuantity": 0, // "executedPrice": 0, // "estimatedCommission": 5.75, // "estimatedFees": 0 // }, // "allOrNone": false // } // }, // { // "order": { // "orderId": 200, // "orderPlacedTime": 1267095453128, // "orderValue": 210.79, // "orderStatus": "CANCEL_REQUESTED", // "orderType": "BUY_WRITES", // "orderTerm": "GOOD_FOR_DAY", // "priceType": "NET_DEBIT", // "limitPrice": 2, // "stopPrice": 0, // "legDetails": [ // { // "legNumber": 1, // "symbolInfo": { // "symbol": "IBM" // }, // "symbolDescription": "INTERNATIONAL BUSINESS MACHS COM\n\t\t\t\t\t\t\t", // "orderAction": "BUY", // "orderedQuantity": 100, // "filledQuantity": 0, // "executedPrice": 0, // "estimatedCommission": 5, // "estimatedFees": 0 // }, // { // "legNumber": 2, // "symbolInfo": { // "symbol": "IBM", // // "callPut": "CALL", // "expYear": 2010, // "expMonth": 4, // "expDay": 17, // "strikePrice": 115 // }, // "symbolDescription": "IBM APR 115 Call", // "orderAction": "SELL_OPEN", // "orderedQuantity": 1, // "filledQuantity": 0, // "executedPrice": 0, // "estimatedCommission": 5.75, // "estimatedFees": 0 // } // ], // "allOrNone": false // } // }, // { // "order": { // "orderId": 192, // "orderPlacedTime": 1267089996809, // "orderValue": 10.79, // "orderStatus": "OPEN", // "orderType": "OPTN", // "orderTerm": "GOOD_FOR_DAY", // "priceType": "LIMIT", // "limitPrice": 0.05, // "stopPrice": 0, // "legDetails": { // "legNumber": 1, // "symbolInfo": { // "symbol": "QQQ", // "callPut": "CALL", // "expYear": 2010, // "expMonth": 3, // "expDay": 20, // "strikePrice": 43 // }, // "symbolDescription": "QQQQ MAR 43 Call", // "orderAction": "BUY_OPEN", // "orderedQuantity": 1, // "filledQuantity": 0, // "executedPrice": 0, // "estimatedCommission": 5.75, // "estimatedFees": 0 // }, // "allOrNone": false // } // }, // { // "order": { // "orderId": 191, // "orderPlacedTime": 1267089623587, // "orderValue": 15, // "orderStatus": "OPEN", // "orderType": "EQ", // "orderTerm": "GOOD_FOR_DAY", // "priceType": "LIMIT", // "limitPrice": 1, // "stopPrice": 0, // "legDetails": { // "legNumber": 1, // "symbolInfo": { // "symbol": "MSFT" // }, // "symbolDescription": "MICROSOFT CORP COM\n\t\t\t\t\t\t\t", // "orderAction": "BUY", // "orderedQuantity": 10, // "filledQuantity": 0, // "executedPrice": 0, // "estimatedCommission": 5, // "estimatedFees": 0 // }, // "allOrNone": false // } // }, // { // "order": { // "orderId": 190, // "orderPlacedTime": 1267089606681, // "orderValue": 15, // "orderStatus": "OPEN", // "orderType": "EQ", // "orderTerm": "GOOD_FOR_DAY", // "priceType": "LIMIT", // "limitPrice": 1, // "stopPrice": 0, // "legDetails": { // "legNumber": 1, // "symbolInfo": { // "symbol": "MSFT" // }, // "symbolDescription": "MICROSOFT CORP COM\n\t\t\t\t\t\t\t", // "orderAction": "BUY", // "orderedQuantity": 10, // "filledQuantity": 0, // "executedPrice": 0, // "estimatedCommission": 5, // "estimatedFees": 0 // }, // "allOrNone": false // } // }, // { // "order": { // "orderId": 189, // "orderPlacedTime": 1267089589812, // "orderValue": 15, // "orderStatus": "OPEN", // "orderType": "EQ", // "orderTerm": "GOOD_FOR_DAY", // "priceType": "LIMIT", // "limitPrice": 1, // "stopPrice": 0, // "legDetails": { // "legNumber": 1, // "symbolInfo": { // "symbol": "IBM" // }, // "symbolDescription": "INTERNATIONAL BUSINESS MACHS COM\n\t\t\t\t\t\t\t", // "orderAction": "BUY", // "orderedQuantity": 10, // "filledQuantity": 0, // "executedPrice": 0, // "estimatedCommission": 5, // "estimatedFees": 0 // }, // "allOrNone": false // } // }, // { // "order": { // "orderId": 188, // "orderPlacedTime": 1267089356773, // "orderValue": 132.59, // "orderStatus": "OPEN", // "orderType": "EQ", // "orderTerm": "GOOD_FOR_DAY", // "priceType": "MARKET", // "limitPrice": 0, // "stopPrice": 0, // "legDetails": { // "legNumber": 1, // "symbolInfo": { // "symbol": "IBM" // }, // "symbolDescription": "INTERNATIONAL BUSINESS MACHS COM\n\t\t\t\t\t\t\t", // "orderAction": "BUY", // "orderedQuantity": 1, // "filledQuantity": 0, // "executedPrice": 0, // "estimatedCommission": 5, // "estimatedFees": 0 // }, // "allOrNone": false // } // }, // { // "order": { // "orderId": 187, // "orderPlacedTime": 1266904795303, // "orderValue": 10.79, // "orderStatus": "OPEN", // "orderType": "OPTN", // "orderTerm": "GOOD_FOR_DAY", // "priceType": "LIMIT", // "limitPrice": 0.05, // "stopPrice": 0, // "legDetails": { // "legNumber": 1, // "symbolInfo": { // "symbol": "MSQ", // "callPut": "CALL", // "expYear": 2010, // "expMonth": 4, // "expDay": 17, // "strikePrice": 27 // }, // "symbolDescription": "MSFT APR 27 Call", // "orderAction": "BUY_OPEN", // "orderedQuantity": 1, // "filledQuantity": 0, // "executedPrice": 0, // "estimatedCommission": 5.75, // "estimatedFees": 0 // }, // "allOrNone": false // } // }, // { // "order": { // "orderId": 170, // "orderPlacedTime": 1266584434221, // "orderValue": 391.944, // "orderStatus": "OPEN", // "orderType": "OPTN", // "orderTerm": "GOOD_FOR_DAY", // "priceType": "LIMIT", // "limitPrice": 1, // "stopPrice": 0, // "legDetails": { // "legNumber": 1, // "symbolInfo": { // "symbol": "IBM", // "callPut": "CALL", // "expYear": 2010, // "expMonth": 2, // "expDay": 20, // "strikePrice": 130 // }, // "symbolDescription": "IBM FEB 130 Call", // "orderAction": "SELL_OPEN", // "orderedQuantity": 4, // "filledQuantity": 0, // "executedPrice": 0, // "estimatedCommission": 8, // "estimatedFees": 0 // }, // "allOrNone": false // } // }, // { // "order": { // "orderId": 166, // "orderPlacedTime": 1266583451241, // "orderValue": 4020.28, // "orderStatus": "OPEN", // "orderType": "OPTN", // "orderTerm": "GOOD_FOR_DAY", // "priceType": "LIMIT", // "limitPrice": 2, // "stopPrice": 0, // "legDetails": { // "legNumber": 1, // "symbolInfo": { // "symbol": "IBM", // "callPut": "CALL", // "expYear": 2010, // "expMonth": 2, // "expDay": 20, // "strikePrice": 130 // }, // "symbolDescription": "IBM FEB 130 Call", // "orderAction": "BUY_CLOSE", // "orderedQuantity": 20, // "filledQuantity": 10, // "executedPrice": 2, // "estimatedCommission": 20, // "estimatedFees": 0 // }, // "allOrNone": false // } // }, // { // "order": { // "orderId": 162, // "orderPlacedTime": 1266581179588, // "orderValue": 4020.28, // "orderStatus": "OPEN", // "orderType": "OPTN", // "orderTerm": "GOOD_FOR_DAY", // "priceType": "LIMIT", // "limitPrice": 2, // "stopPrice": 0, // "legDetails": { // "legNumber": 1, // "symbolInfo": { // "symbol": "GOP", // "callPut": "CALL", // "expYear": 2010, // "expMonth": 3, // "expDay": 20, // "strikePrice": 520 // }, // "symbolDescription": "GOOG MAR 520 Call", // "orderAction": "BUY_CLOSE", // "orderedQuantity": 20, // "filledQuantity": 10, // "executedPrice": 2, // "estimatedCommission": 20, // "estimatedFees": 0 // }, // "allOrNone": false // } // } // ] // } // } // } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.