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
(PHP Extension) 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.
<?php // The version number (9_5_0) should match version of the Chilkat extension used, omitting the micro-version number. // For example, if using Chilkat v9.5.0.48, then include as shown here: include("chilkat_9_5_0.php"); // This example assumes the Chilkat HTTP API to have been previously unlocked. // See Global Unlock Sample for sample code. $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 3-Legged Authorization $jsonToken = new CkJsonObject(); $success = $jsonToken->LoadFile('qa_data/tokens/etrade.json'); if ($success != true) { print 'Failed to load OAuth1 token' . "\n"; 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 = new 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() . "\n"; exit; } // Examine the response status code. $statusCode = $http->get_LastStatus(); print 'Status Code = ' . $statusCode . "\n"; // The response is JSON. A sample response is shown below. $json = new 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() . "\n"; print 'List orders failed.' . "\n"; 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: ' . $orderList->IntOf('orderDetails[i].order.orderId') . "\n"; print 'orderStatus: ' . $orderList->stringOf('orderDetails[i].order.orderStatus') . "\n"; if ($orderList->HasMember('orderDetails[i].order.legDetails.executedPrice') == true) { print 'executedPrice: ' . $orderList->stringOf('orderDetails[i].order.legDetails.executedPrice') . "\n"; } // 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: ' . $orderList->IntOf('orderDetails[i].order.legDetails[j].legNumber') . "\n"; print ' orderAction: ' . $orderList->stringOf('orderDetails[i].order.legDetails[j].orderAction') . "\n"; print ' orderedQuantity: ' . $orderList->IntOf('orderDetails[i].order.legDetails[j].orderedQuantity') . "\n"; $j = $j + 1; } } print '----' . "\n"; $i = $i + 1; } print 'success.' . "\n"; // 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.