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
(PowerShell) 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.
Add-Type -Path "C:\chilkat\ChilkatDotNet47-9.5.0-x64\ChilkatDotNet47.dll" # This example assumes the Chilkat HTTP API to have been previously unlocked. # See Global Unlock Sample for sample code. $http = New-Object 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 $jsonToken = New-Object Chilkat.JsonObject $success = $jsonToken.LoadFile("qa_data/tokens/etrade.json") if ($success -ne $true) { $("Failed to load OAuth1 token") exit } $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.. $sbUrl = New-Object Chilkat.StringBuilder $sbUrl.Append("https://etwssandbox.etrade.com/order/sandbox/rest/orderlist/") $sbUrl.Append("MY_ETRADE_ACCOUNT_ID") $respStr = $http.QuickGetStr($sbUrl.GetAsString()) if ($http.LastMethodSuccess -ne $true) { $($http.LastErrorText) exit } # Examine the response status code. $statusCode = $http.LastStatus $("Status Code = " + $statusCode) # The response is JSON. A sample response is shown below. $json = New-Object Chilkat.JsonObject $json.Load($respStr) $json.EmitCompact = $false # If the status code was not 200, then it was an error.. if ($statusCode -ne 200) { $($json.Emit()) $("List orders failed.") exit } # Iterate over the orders. $i = 0 $numOrders = $json.SizeOfArray("GetOrderListResponse.orderListResponse.orderDetails") $orderList = $json.ObjectOf("GetOrderListResponse.orderListResponse") while ($i -lt $numOrders) { $orderList.I = $i $("orderId: " + $orderList.IntOf("orderDetails[i].order.orderId")) $("orderStatus: " + $orderList.StringOf("orderDetails[i].order.orderStatus")) if ($orderList.HasMember("orderDetails[i].order.legDetails.executedPrice") -eq $true) { $("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 -gt 0) { $j = 0 while ($j -lt $szLegDetails) { $orderList.J = $j $("-- legNumber: " + $orderList.IntOf("orderDetails[i].order.legDetails[j].legNumber")) $(" orderAction: " + $orderList.StringOf("orderDetails[i].order.legDetails[j].orderAction")) $(" orderedQuantity: " + $orderList.IntOf("orderDetails[i].order.legDetails[j].orderedQuantity")) $j = $j + 1 } } $("----") $i = $i + 1 } $("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.