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
(PureBasic) ETrade v1 List OrdersGets the order details for a selected brokerage account based on the search criteria provided.
IncludeFile "CkHttp.pb" IncludeFile "CkJsonObject.pb" IncludeFile "CkXml.pb" Procedure ChilkatExample() ; This example requires the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. http.i = CkHttp::ckCreate() If http.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkHttp::setCkOAuth1(http, 1) CkHttp::setCkOAuthVerifier(http, "") CkHttp::setCkOAuthConsumerKey(http, "ETRADE_CONSUMER_KEY") CkHttp::setCkOAuthConsumerSecret(http, "ETRADE_CONSUMER_SECRET") ; Load the access token previously obtained via the OAuth1 3-Legged Authorization examples Step1 and Step2. json.i = CkJsonObject::ckCreate() If json.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success.i = CkJsonObject::ckLoadFile(json,"qa_data/tokens/etrade.json") If success <> 1 Debug "Failed to load OAuth1 token" CkHttp::ckDispose(http) CkJsonObject::ckDispose(json) ProcedureReturn EndIf CkHttp::setCkOAuthToken(http, CkJsonObject::ckStringOf(json,"oauth_token")) CkHttp::setCkOAuthTokenSecret(http, CkJsonObject::ckStringOf(json,"oauth_token_secret")) ; See the ETrade v1 API documentation HERE. CkHttp::ckSetUrlVar(http,"accountIdKey","vsnhtF7d9jXxBy6HyaAC4vQ") respStr.s = CkHttp::ckQuickGetStr(http,"https://apisb.etrade.com/v1/accounts/{$accountIdKey}/orders?securityType=EQ&count=100") If CkHttp::ckLastMethodSuccess(http) <> 1 Debug CkHttp::ckLastErrorText(http) CkHttp::ckDispose(http) CkJsonObject::ckDispose(json) ProcedureReturn EndIf ; A 200 status code indicates success. statusCode.i = CkHttp::ckLastStatus(http) Debug "statusCode = " + Str(statusCode) ; Use the following online tool to generate parsing code from sample XML: ; Generate Parsing Code from XML ; A sample XML response is shown below... xml.i = CkXml::ckCreate() If xml.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkXml::ckLoadXml(xml,respStr) i.i count_i.i tagPath.s orderId.i details.s orderType.s OrderDetail.s i = 0 count_i = CkXml::ckNumChildrenHavingTag(xml,"Order") While i < count_i CkXml::setCkI(xml, i) orderId = CkXml::ckGetChildIntValue(xml,"Order[i]|orderId") details = CkXml::ckGetChildContent(xml,"Order[i]|details") orderType = CkXml::ckGetChildContent(xml,"Order[i]|orderType") OrderDetail = CkXml::ckGetChildContent(xml,"Order[i]|OrderDetail") i = i + 1 Wend ; Sample XML Response ; <?xml version="1.0" encoding="UTF-8"?> ; <OrdersResponse> ; <Order> ; <orderId>96</orderId> ; <details>https://api.etrade.com/v1/accounts/ZrnXF-hPu853sBzwHfWGBQ/orders/96</details> ; <orderType>EQ</orderType> ; <OrderDetail></OrderDetail> ; </Order> ; <Order> ; <orderId>95</orderId> ; <details>https://api.etrade.com/v1/accounts/ZrnXF-hPu853sBzwHfWGBQ/orders/95</details> ; <orderType>EQ</orderType> ; <OrderDetail></OrderDetail> ; </Order> ; <Order> ; <orderId>94</orderId> ; <details>https://api.etrade.com/v1/accounts/ZrnXF-hPu853sBzwHfWGBQ/orders/94</details> ; <orderType>EQ</orderType> ; <OrderDetail></OrderDetail> ; </Order> ; <Order> ; <orderId>93</orderId> ; <details>https://api.etrade.com/v1/accounts/ZrnXF-hPu853sBzwHfWGBQ/orders/93</details> ; <orderType>EQ</orderType> ; <OrderDetail></OrderDetail> ; </Order> ; </OrdersResponse> CkHttp::ckDispose(http) CkJsonObject::ckDispose(json) CkXml::ckDispose(xml) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.