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
(CkPython) 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.
import sys import chilkat # This example assumes the Chilkat HTTP API to have been previously unlocked. # See Global Unlock Sample for sample code. http = chilkat.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 3-Legged Authorization jsonToken = chilkat.CkJsonObject() success = jsonToken.LoadFile("qa_data/tokens/etrade.json") if (success != True): print("Failed to load OAuth1 token") sys.exit() http.put_OAuthToken(jsonToken.stringOf("oauth_token")) http.put_OAuthTokenSecret(jsonToken.stringOf("oauth_token_secret")) # Tell ETrade we want a JSON response: http.put_Accept("application/json") # The live URL is https://etws.etrade.com/order/rest/orderlist/{accountId} # We're using the sandbox URL.. sbUrl = chilkat.CkStringBuilder() sbUrl.Append("https://etwssandbox.etrade.com/order/sandbox/rest/orderlist/") sbUrl.Append("MY_ETRADE_ACCOUNT_ID") respStr = http.quickGetStr(sbUrl.getAsString()) if (http.get_LastMethodSuccess() != True): print(http.lastErrorText()) sys.exit() # Examine the response status code. statusCode = http.get_LastStatus() print("Status Code = " + str(statusCode)) # The response is JSON. A sample response is shown below. json = chilkat.CkJsonObject() json.Load(respStr) json.put_EmitCompact(False) # If the status code was not 200, then it was an error.. if (statusCode != 200): print(json.emit()) print("List orders failed.") sys.exit() # Iterate over the orders. i = 0 numOrders = json.SizeOfArray("GetOrderListResponse.orderListResponse.orderDetails") # orderList is a CkJsonObject orderList = json.ObjectOf("GetOrderListResponse.orderListResponse") while i < numOrders : orderList.put_I(i) print("orderId: " + str(orderList.IntOf("orderDetails[i].order.orderId"))) print("orderStatus: " + orderList.stringOf("orderDetails[i].order.orderStatus")) if (orderList.HasMember("orderDetails[i].order.legDetails.executedPrice") == True): print("executedPrice: " + orderList.stringOf("orderDetails[i].order.legDetails.executedPrice")) # Is the legDetails an array? If so, then iterate over it.. szLegDetails = orderList.SizeOfArray("orderDetails[i].order.legDetails") if (szLegDetails > 0): j = 0 while j < szLegDetails : orderList.put_J(j) print("-- legNumber: " + str(orderList.IntOf("orderDetails[i].order.legDetails[j].legNumber"))) print(" orderAction: " + orderList.stringOf("orderDetails[i].order.legDetails[j].orderAction")) print(" orderedQuantity: " + str(orderList.IntOf("orderDetails[i].order.legDetails[j].orderedQuantity"))) j = j + 1 print("----") i = i + 1 print("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.