snaptrade 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Gemfile +10 -0
- data/Gemfile.lock +84 -0
- data/README.md +254 -0
- data/Rakefile +10 -0
- data/docs/APIStatusApi.md +57 -0
- data/docs/Account.md +36 -0
- data/docs/AccountHoldings.md +24 -0
- data/docs/AccountHoldingsAccount.md +26 -0
- data/docs/AccountInformationApi.md +535 -0
- data/docs/AccountOrderRecord.md +52 -0
- data/docs/AccountOrderRecordStatus.md +15 -0
- data/docs/AccountSimple.md +24 -0
- data/docs/AccountSyncStatus.md +18 -0
- data/docs/Action.md +15 -0
- data/docs/AuthType.md +15 -0
- data/docs/AuthenticationApi.md +314 -0
- data/docs/AuthenticationLoginSnapTradeUser200Response.md +49 -0
- data/docs/Balance.md +20 -0
- data/docs/Brokerage.md +52 -0
- data/docs/BrokerageAuthorization.md +34 -0
- data/docs/BrokerageAuthorizationType.md +18 -0
- data/docs/BrokerageAuthorizationTypeReadOnly.md +24 -0
- data/docs/BrokerageAuthorizationTypeReadOnlyBrokerage.md +22 -0
- data/docs/BrokerageAuthorizationTypeReadOnlyType.md +15 -0
- data/docs/BrokerageAuthorizationTypeType.md +15 -0
- data/docs/BrokerageSymbol.md +26 -0
- data/docs/BrokerageType.md +20 -0
- data/docs/CalculatedTrade.md +20 -0
- data/docs/CashRestriction.md +26 -0
- data/docs/ConnectionType.md +15 -0
- data/docs/ConnectionsApi.md +265 -0
- data/docs/ConnectionsSessionEvents200ResponseInner.md +30 -0
- data/docs/Currency.md +22 -0
- data/docs/DeleteUserResponse.md +20 -0
- data/docs/DividendAtDate.md +22 -0
- data/docs/EncryptedResponse.md +20 -0
- data/docs/EncryptedResponseEncryptedMessageData.md +22 -0
- data/docs/ErrorLogsApi.md +68 -0
- data/docs/Exchange.md +32 -0
- data/docs/ExchangeRatePairs.md +22 -0
- data/docs/ExcludedAsset.md +18 -0
- data/docs/JWT.md +18 -0
- data/docs/LoginRedirectURI.md +20 -0
- data/docs/ManualTrade.md +32 -0
- data/docs/ManualTradeAndImpact.md +22 -0
- data/docs/ManualTradeBalance.md +22 -0
- data/docs/ManualTradeForm.md +32 -0
- data/docs/ManualTradeSymbol.md +28 -0
- data/docs/Model400FailedRequestResponse.md +20 -0
- data/docs/Model401FailedRequestResponse.md +20 -0
- data/docs/Model403FailedRequestResponse.md +20 -0
- data/docs/Model404FailedRequestResponse.md +20 -0
- data/docs/ModelAssetClass.md +20 -0
- data/docs/ModelAssetClassDetails.md +20 -0
- data/docs/ModelAssetClassTarget.md +18 -0
- data/docs/ModelPortfolio.md +22 -0
- data/docs/ModelPortfolioAssetClass.md +20 -0
- data/docs/ModelPortfolioDetails.md +22 -0
- data/docs/ModelPortfolioSecurity.md +20 -0
- data/docs/ModelType.md +15 -0
- data/docs/MonthlyDividends.md +20 -0
- data/docs/NetContributions.md +22 -0
- data/docs/NetDividend.md +22 -0
- data/docs/OptionChainInner.md +26 -0
- data/docs/OptionChainInnerChainPerRootInner.md +22 -0
- data/docs/OptionChainInnerChainPerRootInnerChainPerStrikePriceInner.md +22 -0
- data/docs/OptionLeg.md +22 -0
- data/docs/OptionLegAction.md +15 -0
- data/docs/OptionStrategy.md +26 -0
- data/docs/OptionStrategyLegsInner.md +24 -0
- data/docs/OptionsApi.md +390 -0
- data/docs/OptionsGetOptionStrategyRequest.md +22 -0
- data/docs/OptionsHoldings.md +28 -0
- data/docs/OptionsPlaceOptionStrategyRequest.md +22 -0
- data/docs/OptionsPosition.md +30 -0
- data/docs/OptionsSymbol.md +38 -0
- data/docs/OrderStrategyExecuteBodyOrderType.md +15 -0
- data/docs/OrderStrategyExecuteBodyTimeInForce.md +15 -0
- data/docs/OrderType.md +15 -0
- data/docs/PartnerData.md +40 -0
- data/docs/PastValue.md +22 -0
- data/docs/PerformanceCustom.md +54 -0
- data/docs/PortfolioGroup.md +20 -0
- data/docs/PortfolioGroupInfo.md +38 -0
- data/docs/PortfolioGroupPosition.md +22 -0
- data/docs/PortfolioGroupSettings.md +26 -0
- data/docs/PortfolioManagementApi.md +2014 -0
- data/docs/Position.md +28 -0
- data/docs/PositionSymbol.md +28 -0
- data/docs/RedirectTokenandPin.md +20 -0
- data/docs/ReferenceDataApi.md +595 -0
- data/docs/SecurityType.md +24 -0
- data/docs/SessionEvent.md +30 -0
- data/docs/SessionEventType.md +15 -0
- data/docs/SnapTradeAPIDisclaimerAcceptStatus.md +20 -0
- data/docs/SnapTradeHoldingsAccount.md +32 -0
- data/docs/SnapTradeHoldingsAccountAccountId.md +34 -0
- data/docs/SnapTradeHoldingsTotalValue.md +20 -0
- data/docs/SnapTradeLoginUserRequestBody.md +26 -0
- data/docs/SnapTradeRegisterUserRequestBody.md +20 -0
- data/docs/State.md +15 -0
- data/docs/Status.md +22 -0
- data/docs/StrategyImpact.md +38 -0
- data/docs/StrategyImpactLegsInner.md +30 -0
- data/docs/StrategyOrderPlace.md +20 -0
- data/docs/StrategyOrderPlaceOrdersInner.md +102 -0
- data/docs/StrategyOrderPlaceOrdersInnerLegsInner.md +30 -0
- data/docs/StrategyOrderRecord.md +38 -0
- data/docs/StrategyOrderRecordOrderType.md +15 -0
- data/docs/StrategyOrderRecordStatus.md +15 -0
- data/docs/StrategyOrderRecordTimeInForce.md +15 -0
- data/docs/StrategyQuotes.md +28 -0
- data/docs/StrategyQuotesGreek.md +26 -0
- data/docs/StrategyType.md +15 -0
- data/docs/SubPeriodReturnRate.md +22 -0
- data/docs/Symbol.md +30 -0
- data/docs/SymbolQuery.md +18 -0
- data/docs/SymbolsQuotes.md +28 -0
- data/docs/TargetAsset.md +28 -0
- data/docs/TimeInForce.md +15 -0
- data/docs/Trade.md +32 -0
- data/docs/TradeAction.md +15 -0
- data/docs/TradeExecutionStatus.md +34 -0
- data/docs/TradeExecutionStatusAction.md +15 -0
- data/docs/TradeImpact.md +26 -0
- data/docs/TradingApi.md +799 -0
- data/docs/TradingCancelUserAccountOrderRequest.md +18 -0
- data/docs/TradingPlaceOCOOrderRequest.md +20 -0
- data/docs/TransactionsAndReportingApi.md +183 -0
- data/docs/TransactionsStatus.md +20 -0
- data/docs/Type.md +15 -0
- data/docs/USExchange.md +34 -0
- data/docs/UnderlyingSymbol.md +30 -0
- data/docs/UniversalActivity.md +46 -0
- data/docs/UniversalSymbol.md +32 -0
- data/docs/UniversalSymbolTicker.md +32 -0
- data/docs/UserErrorLog.md +28 -0
- data/docs/UserIDandSecret.md +20 -0
- data/docs/UserSettings.md +36 -0
- data/lib/snaptrade/api/account_information_api.rb +801 -0
- data/lib/snaptrade/api/api_status_api.rb +98 -0
- data/lib/snaptrade/api/authentication_api.rb +481 -0
- data/lib/snaptrade/api/connections_api.rb +398 -0
- data/lib/snaptrade/api/error_logs_api.rb +112 -0
- data/lib/snaptrade/api/options_api.rb +591 -0
- data/lib/snaptrade/api/portfolio_management_api.rb +2791 -0
- data/lib/snaptrade/api/reference_data_api.rb +894 -0
- data/lib/snaptrade/api/trading_api.rb +1150 -0
- data/lib/snaptrade/api/transactions_and_reporting_api.rb +283 -0
- data/lib/snaptrade/api_client.rb +427 -0
- data/lib/snaptrade/api_client_custom.rb +32 -0
- data/lib/snaptrade/api_error.rb +55 -0
- data/lib/snaptrade/configuration.rb +374 -0
- data/lib/snaptrade/models/account.rb +303 -0
- data/lib/snaptrade/models/account_holdings.rb +249 -0
- data/lib/snaptrade/models/account_holdings_account.rb +260 -0
- data/lib/snaptrade/models/account_order_record.rb +382 -0
- data/lib/snaptrade/models/account_order_record_status.rb +56 -0
- data/lib/snaptrade/models/account_simple.rb +245 -0
- data/lib/snaptrade/models/account_sync_status.rb +218 -0
- data/lib/snaptrade/models/action.rb +38 -0
- data/lib/snaptrade/models/auth_type.rb +40 -0
- data/lib/snaptrade/models/authentication_login_snap_trade_user200_response.rb +103 -0
- data/lib/snaptrade/models/balance.rb +228 -0
- data/lib/snaptrade/models/brokerage.rb +377 -0
- data/lib/snaptrade/models/brokerage_authorization.rb +297 -0
- data/lib/snaptrade/models/brokerage_authorization_type.rb +217 -0
- data/lib/snaptrade/models/brokerage_authorization_type_read_only.rb +244 -0
- data/lib/snaptrade/models/brokerage_authorization_type_read_only_brokerage.rb +237 -0
- data/lib/snaptrade/models/brokerage_authorization_type_read_only_type.rb +38 -0
- data/lib/snaptrade/models/brokerage_authorization_type_type.rb +38 -0
- data/lib/snaptrade/models/brokerage_symbol.rb +255 -0
- data/lib/snaptrade/models/brokerage_type.rb +227 -0
- data/lib/snaptrade/models/calculated_trade.rb +229 -0
- data/lib/snaptrade/models/cash_restriction.rb +254 -0
- data/lib/snaptrade/models/connection_type.rb +38 -0
- data/lib/snaptrade/models/connections_session_events200_response_inner.rb +293 -0
- data/lib/snaptrade/models/currency.rb +236 -0
- data/lib/snaptrade/models/delete_user_response.rb +229 -0
- data/lib/snaptrade/models/dividend_at_date.rb +240 -0
- data/lib/snaptrade/models/encrypted_response.rb +227 -0
- data/lib/snaptrade/models/encrypted_response_encrypted_message_data.rb +235 -0
- data/lib/snaptrade/models/exchange.rb +282 -0
- data/lib/snaptrade/models/exchange_rate_pairs.rb +236 -0
- data/lib/snaptrade/models/excluded_asset.rb +218 -0
- data/lib/snaptrade/models/jwt.rb +218 -0
- data/lib/snaptrade/models/login_redirect_uri.rb +228 -0
- data/lib/snaptrade/models/manual_trade.rb +283 -0
- data/lib/snaptrade/models/manual_trade_and_impact.rb +238 -0
- data/lib/snaptrade/models/manual_trade_balance.rb +238 -0
- data/lib/snaptrade/models/manual_trade_form.rb +285 -0
- data/lib/snaptrade/models/manual_trade_symbol.rb +264 -0
- data/lib/snaptrade/models/model400_failed_request_response.rb +229 -0
- data/lib/snaptrade/models/model401_failed_request_response.rb +229 -0
- data/lib/snaptrade/models/model403_failed_request_response.rb +229 -0
- data/lib/snaptrade/models/model404_failed_request_response.rb +229 -0
- data/lib/snaptrade/models/model_asset_class.rb +226 -0
- data/lib/snaptrade/models/model_asset_class_details.rb +228 -0
- data/lib/snaptrade/models/model_asset_class_target.rb +217 -0
- data/lib/snaptrade/models/model_portfolio.rb +237 -0
- data/lib/snaptrade/models/model_portfolio_asset_class.rb +250 -0
- data/lib/snaptrade/models/model_portfolio_details.rb +239 -0
- data/lib/snaptrade/models/model_portfolio_security.rb +250 -0
- data/lib/snaptrade/models/model_type.rb +39 -0
- data/lib/snaptrade/models/monthly_dividends.rb +229 -0
- data/lib/snaptrade/models/net_contributions.rb +237 -0
- data/lib/snaptrade/models/net_dividend.rb +237 -0
- data/lib/snaptrade/models/option_chain_inner.rb +255 -0
- data/lib/snaptrade/models/option_chain_inner_chain_per_root_inner.rb +237 -0
- data/lib/snaptrade/models/option_chain_inner_chain_per_root_inner_chain_per_strike_price_inner.rb +238 -0
- data/lib/snaptrade/models/option_leg.rb +237 -0
- data/lib/snaptrade/models/option_leg_action.rb +40 -0
- data/lib/snaptrade/models/option_strategy.rb +255 -0
- data/lib/snaptrade/models/option_strategy_legs_inner.rb +244 -0
- data/lib/snaptrade/models/options_get_option_strategy_request.rb +252 -0
- data/lib/snaptrade/models/options_holdings.rb +267 -0
- data/lib/snaptrade/models/options_place_option_strategy_request.rb +251 -0
- data/lib/snaptrade/models/options_position.rb +275 -0
- data/lib/snaptrade/models/options_symbol.rb +310 -0
- data/lib/snaptrade/models/order_strategy_execute_body_order_type.rb +40 -0
- data/lib/snaptrade/models/order_strategy_execute_body_time_in_force.rb +38 -0
- data/lib/snaptrade/models/order_type.rb +40 -0
- data/lib/snaptrade/models/partner_data.rb +331 -0
- data/lib/snaptrade/models/past_value.rb +236 -0
- data/lib/snaptrade/models/performance_custom.rb +416 -0
- data/lib/snaptrade/models/portfolio_group.rb +226 -0
- data/lib/snaptrade/models/portfolio_group_info.rb +326 -0
- data/lib/snaptrade/models/portfolio_group_position.rb +238 -0
- data/lib/snaptrade/models/portfolio_group_settings.rb +277 -0
- data/lib/snaptrade/models/position.rb +271 -0
- data/lib/snaptrade/models/position_symbol.rb +264 -0
- data/lib/snaptrade/models/redirect_tokenand_pin.rb +227 -0
- data/lib/snaptrade/models/security_type.rb +245 -0
- data/lib/snaptrade/models/session_event.rb +274 -0
- data/lib/snaptrade/models/session_event_type.rb +43 -0
- data/lib/snaptrade/models/snap_trade_api_disclaimer_accept_status.rb +227 -0
- data/lib/snaptrade/models/snap_trade_holdings_account.rb +284 -0
- data/lib/snaptrade/models/snap_trade_holdings_account_account_id.rb +296 -0
- data/lib/snaptrade/models/snap_trade_holdings_total_value.rb +227 -0
- data/lib/snaptrade/models/snap_trade_login_user_request_body.rb +254 -0
- data/lib/snaptrade/models/snap_trade_register_user_request_body.rb +229 -0
- data/lib/snaptrade/models/state.rb +41 -0
- data/lib/snaptrade/models/status.rb +236 -0
- data/lib/snaptrade/models/strategy_impact.rb +310 -0
- data/lib/snaptrade/models/strategy_impact_legs_inner.rb +271 -0
- data/lib/snaptrade/models/strategy_order_place.rb +229 -0
- data/lib/snaptrade/models/strategy_order_place_orders_inner.rb +597 -0
- data/lib/snaptrade/models/strategy_order_place_orders_inner_legs_inner.rb +271 -0
- data/lib/snaptrade/models/strategy_order_record.rb +312 -0
- data/lib/snaptrade/models/strategy_order_record_order_type.rb +40 -0
- data/lib/snaptrade/models/strategy_order_record_status.rb +55 -0
- data/lib/snaptrade/models/strategy_order_record_time_in_force.rb +38 -0
- data/lib/snaptrade/models/strategy_quotes.rb +265 -0
- data/lib/snaptrade/models/strategy_quotes_greek.rb +253 -0
- data/lib/snaptrade/models/strategy_type.rb +37 -0
- data/lib/snaptrade/models/sub_period_return_rate.rb +239 -0
- data/lib/snaptrade/models/symbol.rb +272 -0
- data/lib/snaptrade/models/symbol_query.rb +218 -0
- data/lib/snaptrade/models/symbols_quotes.rb +263 -0
- data/lib/snaptrade/models/target_asset.rb +290 -0
- data/lib/snaptrade/models/time_in_force.rb +39 -0
- data/lib/snaptrade/models/trade.rb +281 -0
- data/lib/snaptrade/models/trade_action.rb +38 -0
- data/lib/snaptrade/models/trade_execution_status.rb +296 -0
- data/lib/snaptrade/models/trade_execution_status_action.rb +38 -0
- data/lib/snaptrade/models/trade_impact.rb +257 -0
- data/lib/snaptrade/models/trading_cancel_user_account_order_request.rb +217 -0
- data/lib/snaptrade/models/trading_place_oco_order_request.rb +230 -0
- data/lib/snaptrade/models/transactions_status.rb +229 -0
- data/lib/snaptrade/models/type.rb +38 -0
- data/lib/snaptrade/models/underlying_symbol.rb +275 -0
- data/lib/snaptrade/models/universal_activity.rb +349 -0
- data/lib/snaptrade/models/universal_symbol.rb +284 -0
- data/lib/snaptrade/models/universal_symbol_ticker.rb +283 -0
- data/lib/snaptrade/models/us_exchange.rb +291 -0
- data/lib/snaptrade/models/user_error_log.rb +263 -0
- data/lib/snaptrade/models/user_i_dand_secret.rb +229 -0
- data/lib/snaptrade/models/user_settings.rb +299 -0
- data/lib/snaptrade/version.rb +13 -0
- data/lib/snaptrade.rb +214 -0
- data/snaptrade.gemspec +41 -0
- data/spec/api/account_information_api_spec.rb +135 -0
- data/spec/api/api_status_api_spec.rb +42 -0
- data/spec/api/authentication_api_spec.rb +88 -0
- data/spec/api/connections_api_spec.rb +82 -0
- data/spec/api/error_logs_api_spec.rb +43 -0
- data/spec/api/options_api_spec.rb +101 -0
- data/spec/api/portfolio_management_api_spec.rb +395 -0
- data/spec/api/reference_data_api_spec.rb +150 -0
- data/spec/api/trading_api_spec.rb +163 -0
- data/spec/api/transactions_and_reporting_api_spec.rb +67 -0
- data/spec/api_client_spec.rb +193 -0
- data/spec/configuration_spec.rb +40 -0
- data/spec/getting_started_spec.rb +144 -0
- data/spec/models/account_holdings_account_spec.rb +54 -0
- data/spec/models/account_holdings_spec.rb +48 -0
- data/spec/models/account_order_record_spec.rb +132 -0
- data/spec/models/account_order_record_status_spec.rb +24 -0
- data/spec/models/account_simple_spec.rb +48 -0
- data/spec/models/account_spec.rb +84 -0
- data/spec/models/account_sync_status_spec.rb +30 -0
- data/spec/models/action_spec.rb +24 -0
- data/spec/models/auth_type_spec.rb +24 -0
- data/spec/models/authentication_login_snap_trade_user200_response_spec.rb +27 -0
- data/spec/models/balance_spec.rb +36 -0
- data/spec/models/brokerage_authorization_spec.rb +78 -0
- data/spec/models/brokerage_authorization_type_read_only_brokerage_spec.rb +42 -0
- data/spec/models/brokerage_authorization_type_read_only_spec.rb +48 -0
- data/spec/models/brokerage_authorization_type_read_only_type_spec.rb +24 -0
- data/spec/models/brokerage_authorization_type_spec.rb +30 -0
- data/spec/models/brokerage_authorization_type_type_spec.rb +24 -0
- data/spec/models/brokerage_spec.rb +132 -0
- data/spec/models/brokerage_symbol_spec.rb +54 -0
- data/spec/models/brokerage_type_spec.rb +36 -0
- data/spec/models/calculated_trade_spec.rb +36 -0
- data/spec/models/cash_restriction_spec.rb +54 -0
- data/spec/models/connection_type_spec.rb +24 -0
- data/spec/models/connections_session_events200_response_inner_spec.rb +66 -0
- data/spec/models/currency_spec.rb +42 -0
- data/spec/models/delete_user_response_spec.rb +36 -0
- data/spec/models/dividend_at_date_spec.rb +42 -0
- data/spec/models/encrypted_response_encrypted_message_data_spec.rb +42 -0
- data/spec/models/encrypted_response_spec.rb +36 -0
- data/spec/models/exchange_rate_pairs_spec.rb +42 -0
- data/spec/models/exchange_spec.rb +72 -0
- data/spec/models/excluded_asset_spec.rb +30 -0
- data/spec/models/jwt_spec.rb +30 -0
- data/spec/models/login_redirect_uri_spec.rb +36 -0
- data/spec/models/manual_trade_and_impact_spec.rb +42 -0
- data/spec/models/manual_trade_balance_spec.rb +42 -0
- data/spec/models/manual_trade_form_spec.rb +72 -0
- data/spec/models/manual_trade_spec.rb +72 -0
- data/spec/models/manual_trade_symbol_spec.rb +60 -0
- data/spec/models/model400_failed_request_response_spec.rb +36 -0
- data/spec/models/model401_failed_request_response_spec.rb +36 -0
- data/spec/models/model403_failed_request_response_spec.rb +36 -0
- data/spec/models/model404_failed_request_response_spec.rb +36 -0
- data/spec/models/model_asset_class_details_spec.rb +36 -0
- data/spec/models/model_asset_class_spec.rb +36 -0
- data/spec/models/model_asset_class_target_spec.rb +30 -0
- data/spec/models/model_portfolio_asset_class_spec.rb +36 -0
- data/spec/models/model_portfolio_details_spec.rb +42 -0
- data/spec/models/model_portfolio_security_spec.rb +36 -0
- data/spec/models/model_portfolio_spec.rb +42 -0
- data/spec/models/model_type_spec.rb +24 -0
- data/spec/models/monthly_dividends_spec.rb +36 -0
- data/spec/models/net_contributions_spec.rb +42 -0
- data/spec/models/net_dividend_spec.rb +42 -0
- data/spec/models/option_chain_inner_chain_per_root_inner_chain_per_strike_price_inner_spec.rb +42 -0
- data/spec/models/option_chain_inner_chain_per_root_inner_spec.rb +42 -0
- data/spec/models/option_chain_inner_spec.rb +54 -0
- data/spec/models/option_leg_action_spec.rb +24 -0
- data/spec/models/option_leg_spec.rb +42 -0
- data/spec/models/option_strategy_legs_inner_spec.rb +48 -0
- data/spec/models/option_strategy_spec.rb +54 -0
- data/spec/models/options_get_option_strategy_request_spec.rb +42 -0
- data/spec/models/options_holdings_spec.rb +60 -0
- data/spec/models/options_place_option_strategy_request_spec.rb +42 -0
- data/spec/models/options_position_spec.rb +66 -0
- data/spec/models/options_symbol_spec.rb +90 -0
- data/spec/models/order_strategy_execute_body_order_type_spec.rb +24 -0
- data/spec/models/order_strategy_execute_body_time_in_force_spec.rb +24 -0
- data/spec/models/order_type_spec.rb +24 -0
- data/spec/models/partner_data_spec.rb +96 -0
- data/spec/models/past_value_spec.rb +42 -0
- data/spec/models/performance_custom_spec.rb +138 -0
- data/spec/models/portfolio_group_info_spec.rb +90 -0
- data/spec/models/portfolio_group_position_spec.rb +42 -0
- data/spec/models/portfolio_group_settings_spec.rb +54 -0
- data/spec/models/portfolio_group_spec.rb +36 -0
- data/spec/models/position_spec.rb +60 -0
- data/spec/models/position_symbol_spec.rb +60 -0
- data/spec/models/redirect_tokenand_pin_spec.rb +36 -0
- data/spec/models/security_type_spec.rb +48 -0
- data/spec/models/session_event_spec.rb +66 -0
- data/spec/models/session_event_type_spec.rb +24 -0
- data/spec/models/snap_trade_api_disclaimer_accept_status_spec.rb +36 -0
- data/spec/models/snap_trade_holdings_account_account_id_spec.rb +78 -0
- data/spec/models/snap_trade_holdings_account_spec.rb +72 -0
- data/spec/models/snap_trade_holdings_total_value_spec.rb +36 -0
- data/spec/models/snap_trade_login_user_request_body_spec.rb +54 -0
- data/spec/models/snap_trade_register_user_request_body_spec.rb +36 -0
- data/spec/models/state_spec.rb +24 -0
- data/spec/models/status_spec.rb +42 -0
- data/spec/models/strategy_impact_legs_inner_spec.rb +66 -0
- data/spec/models/strategy_impact_spec.rb +90 -0
- data/spec/models/strategy_order_place_orders_inner_legs_inner_spec.rb +66 -0
- data/spec/models/strategy_order_place_orders_inner_spec.rb +282 -0
- data/spec/models/strategy_order_place_spec.rb +36 -0
- data/spec/models/strategy_order_record_order_type_spec.rb +24 -0
- data/spec/models/strategy_order_record_spec.rb +90 -0
- data/spec/models/strategy_order_record_status_spec.rb +24 -0
- data/spec/models/strategy_order_record_time_in_force_spec.rb +24 -0
- data/spec/models/strategy_quotes_greek_spec.rb +54 -0
- data/spec/models/strategy_quotes_spec.rb +60 -0
- data/spec/models/strategy_type_spec.rb +24 -0
- data/spec/models/sub_period_return_rate_spec.rb +42 -0
- data/spec/models/symbol_query_spec.rb +30 -0
- data/spec/models/symbol_spec.rb +66 -0
- data/spec/models/symbols_quotes_spec.rb +60 -0
- data/spec/models/target_asset_spec.rb +60 -0
- data/spec/models/time_in_force_spec.rb +24 -0
- data/spec/models/trade_action_spec.rb +24 -0
- data/spec/models/trade_execution_status_action_spec.rb +24 -0
- data/spec/models/trade_execution_status_spec.rb +78 -0
- data/spec/models/trade_impact_spec.rb +54 -0
- data/spec/models/trade_spec.rb +72 -0
- data/spec/models/trading_cancel_user_account_order_request_spec.rb +30 -0
- data/spec/models/trading_place_oco_order_request_spec.rb +36 -0
- data/spec/models/transactions_status_spec.rb +36 -0
- data/spec/models/type_spec.rb +24 -0
- data/spec/models/underlying_symbol_spec.rb +66 -0
- data/spec/models/universal_activity_spec.rb +114 -0
- data/spec/models/universal_symbol_spec.rb +72 -0
- data/spec/models/universal_symbol_ticker_spec.rb +72 -0
- data/spec/models/us_exchange_spec.rb +78 -0
- data/spec/models/user_error_log_spec.rb +60 -0
- data/spec/models/user_i_dand_secret_spec.rb +36 -0
- data/spec/models/user_settings_spec.rb +84 -0
- data/spec/spec_helper.rb +109 -0
- metadata +664 -0
|
@@ -0,0 +1,1150 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#SnapTrade
|
|
3
|
+
|
|
4
|
+
#Connect brokerage accounts to your app for live positions and trading
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.0
|
|
7
|
+
Contact: api@snaptrade.com
|
|
8
|
+
|
|
9
|
+
=end
|
|
10
|
+
|
|
11
|
+
require 'cgi'
|
|
12
|
+
|
|
13
|
+
module SnapTrade
|
|
14
|
+
class TradingApi
|
|
15
|
+
attr_accessor :api_client
|
|
16
|
+
|
|
17
|
+
def initialize(api_client = ApiClient.default)
|
|
18
|
+
@api_client = api_client
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# Cancel open order in account
|
|
22
|
+
# @param user_id [String]
|
|
23
|
+
# @param user_secret [String]
|
|
24
|
+
# @param account_id [String] The ID of the account get positions.
|
|
25
|
+
# @param brokerage_order_id [String]
|
|
26
|
+
# @param body [TradingCancelUserAccountOrderRequest] The Order ID to be canceled
|
|
27
|
+
# @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
|
|
28
|
+
def cancel_user_account_order(user_id:, user_secret:, account_id:, brokerage_order_id: SENTINEL, extra: {})
|
|
29
|
+
_body = {}
|
|
30
|
+
_body[:brokerage_order_id] = brokerage_order_id if brokerage_order_id != SENTINEL
|
|
31
|
+
trading_cancel_user_account_order_request = _body
|
|
32
|
+
|
|
33
|
+
data, _status_code, _headers = cancel_user_account_order_with_http_info_impl(user_id, user_secret, account_id, trading_cancel_user_account_order_request, extra)
|
|
34
|
+
data
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# Cancel open order in account
|
|
38
|
+
# @param user_id [String]
|
|
39
|
+
# @param user_secret [String]
|
|
40
|
+
# @param account_id [String] The ID of the account get positions.
|
|
41
|
+
# @param brokerage_order_id [String]
|
|
42
|
+
# @param body [TradingCancelUserAccountOrderRequest] The Order ID to be canceled
|
|
43
|
+
# @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
|
|
44
|
+
def cancel_user_account_order_with_http_info(user_id:, user_secret:, account_id:, brokerage_order_id: SENTINEL, extra: {})
|
|
45
|
+
_body = {}
|
|
46
|
+
_body[:brokerage_order_id] = brokerage_order_id if brokerage_order_id != SENTINEL
|
|
47
|
+
trading_cancel_user_account_order_request = _body
|
|
48
|
+
|
|
49
|
+
cancel_user_account_order_with_http_info_impl(user_id, user_secret, account_id, trading_cancel_user_account_order_request, extra)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# Cancel open order in account
|
|
53
|
+
# @param user_id [String]
|
|
54
|
+
# @param user_secret [String]
|
|
55
|
+
# @param account_id [String] The ID of the account get positions.
|
|
56
|
+
# @param trading_cancel_user_account_order_request [TradingCancelUserAccountOrderRequest] The Order ID to be canceled
|
|
57
|
+
# @param [Hash] opts the optional parameters
|
|
58
|
+
# @return [AccountOrderRecord]
|
|
59
|
+
def cancel_user_account_order_impl(user_id, user_secret, account_id, trading_cancel_user_account_order_request, opts = {})
|
|
60
|
+
data, _status_code, _headers = cancel_user_account_order_with_http_info(user_id, user_secret, account_id, trading_cancel_user_account_order_request, opts)
|
|
61
|
+
data
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
# Cancel open order in account
|
|
65
|
+
# @param user_id [String]
|
|
66
|
+
# @param user_secret [String]
|
|
67
|
+
# @param account_id [String] The ID of the account get positions.
|
|
68
|
+
# @param trading_cancel_user_account_order_request [TradingCancelUserAccountOrderRequest] The Order ID to be canceled
|
|
69
|
+
# @param [Hash] opts the optional parameters
|
|
70
|
+
# @return [Array<(AccountOrderRecord, Integer, Hash)>] AccountOrderRecord data, response status code and response headers
|
|
71
|
+
def cancel_user_account_order_with_http_info_impl(user_id, user_secret, account_id, trading_cancel_user_account_order_request, opts = {})
|
|
72
|
+
if @api_client.config.debugging
|
|
73
|
+
@api_client.config.logger.debug 'Calling API: TradingApi.cancel_user_account_order ...'
|
|
74
|
+
end
|
|
75
|
+
# verify the required parameter 'user_id' is set
|
|
76
|
+
if @api_client.config.client_side_validation && user_id.nil?
|
|
77
|
+
fail ArgumentError, "Missing the required parameter 'user_id' when calling TradingApi.cancel_user_account_order"
|
|
78
|
+
end
|
|
79
|
+
# verify the required parameter 'user_secret' is set
|
|
80
|
+
if @api_client.config.client_side_validation && user_secret.nil?
|
|
81
|
+
fail ArgumentError, "Missing the required parameter 'user_secret' when calling TradingApi.cancel_user_account_order"
|
|
82
|
+
end
|
|
83
|
+
# verify the required parameter 'account_id' is set
|
|
84
|
+
if @api_client.config.client_side_validation && account_id.nil?
|
|
85
|
+
fail ArgumentError, "Missing the required parameter 'account_id' when calling TradingApi.cancel_user_account_order"
|
|
86
|
+
end
|
|
87
|
+
# verify the required parameter 'trading_cancel_user_account_order_request' is set
|
|
88
|
+
if @api_client.config.client_side_validation && trading_cancel_user_account_order_request.nil?
|
|
89
|
+
fail ArgumentError, "Missing the required parameter 'trading_cancel_user_account_order_request' when calling TradingApi.cancel_user_account_order"
|
|
90
|
+
end
|
|
91
|
+
# resource path
|
|
92
|
+
local_var_path = '/accounts/{accountId}/orders/cancel'.sub('{' + 'accountId' + '}', CGI.escape(account_id.to_s))
|
|
93
|
+
|
|
94
|
+
# query parameters
|
|
95
|
+
query_params = opts[:query_params] || {}
|
|
96
|
+
query_params[:'userId'] = user_id
|
|
97
|
+
query_params[:'userSecret'] = user_secret
|
|
98
|
+
|
|
99
|
+
# header parameters
|
|
100
|
+
header_params = opts[:header_params] || {}
|
|
101
|
+
# HTTP header 'Accept' (if needed)
|
|
102
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
103
|
+
# HTTP header 'Content-Type'
|
|
104
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
105
|
+
if !content_type.nil?
|
|
106
|
+
header_params['Content-Type'] = content_type
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
# form parameters
|
|
110
|
+
form_params = opts[:form_params] || {}
|
|
111
|
+
|
|
112
|
+
# http body (model)
|
|
113
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(trading_cancel_user_account_order_request)
|
|
114
|
+
|
|
115
|
+
# return_type
|
|
116
|
+
return_type = opts[:debug_return_type] || 'AccountOrderRecord'
|
|
117
|
+
|
|
118
|
+
# auth_names
|
|
119
|
+
auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
|
|
120
|
+
|
|
121
|
+
new_options = opts.merge(
|
|
122
|
+
:operation => :"TradingApi.cancel_user_account_order",
|
|
123
|
+
:header_params => header_params,
|
|
124
|
+
:query_params => query_params,
|
|
125
|
+
:form_params => form_params,
|
|
126
|
+
:body => post_body,
|
|
127
|
+
:auth_names => auth_names,
|
|
128
|
+
:return_type => return_type
|
|
129
|
+
)
|
|
130
|
+
|
|
131
|
+
data, status_code, headers, response = @api_client.call_api(:POST, local_var_path, new_options)
|
|
132
|
+
if @api_client.config.debugging
|
|
133
|
+
@api_client.config.logger.debug "API called: TradingApi#cancel_user_account_order\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
134
|
+
end
|
|
135
|
+
return data, status_code, headers, response
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
# Return details of a specific trade before it's placed
|
|
140
|
+
# @param portfolio_group_id [String] The ID of the PortfolioGroup to perform rebalancing calculations
|
|
141
|
+
# @param calculated_trade_id [String] The ID of calculated trade to get account impact
|
|
142
|
+
# @param trade_id [String] The ID of trade object
|
|
143
|
+
# @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
|
|
144
|
+
def get_calculated_trade_impact_by_id(portfolio_group_id:, calculated_trade_id:, trade_id:, extra: {})
|
|
145
|
+
|
|
146
|
+
data, _status_code, _headers = get_calculated_trade_impact_by_id_with_http_info_impl(portfolio_group_id, calculated_trade_id, trade_id, extra)
|
|
147
|
+
data
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
# Return details of a specific trade before it's placed
|
|
151
|
+
# @param portfolio_group_id [String] The ID of the PortfolioGroup to perform rebalancing calculations
|
|
152
|
+
# @param calculated_trade_id [String] The ID of calculated trade to get account impact
|
|
153
|
+
# @param trade_id [String] The ID of trade object
|
|
154
|
+
# @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
|
|
155
|
+
def get_calculated_trade_impact_by_id_with_http_info(portfolio_group_id:, calculated_trade_id:, trade_id:, extra: {})
|
|
156
|
+
|
|
157
|
+
get_calculated_trade_impact_by_id_with_http_info_impl(portfolio_group_id, calculated_trade_id, trade_id, extra)
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
# Return details of a specific trade before it's placed
|
|
161
|
+
# @param portfolio_group_id [String] The ID of the PortfolioGroup to perform rebalancing calculations
|
|
162
|
+
# @param calculated_trade_id [String] The ID of calculated trade to get account impact
|
|
163
|
+
# @param trade_id [String] The ID of trade object
|
|
164
|
+
# @param [Hash] opts the optional parameters
|
|
165
|
+
# @return [Trade]
|
|
166
|
+
def get_calculated_trade_impact_by_id_impl(portfolio_group_id, calculated_trade_id, trade_id, opts = {})
|
|
167
|
+
data, _status_code, _headers = get_calculated_trade_impact_by_id_with_http_info(portfolio_group_id, calculated_trade_id, trade_id, opts)
|
|
168
|
+
data
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
# Return details of a specific trade before it's placed
|
|
172
|
+
# @param portfolio_group_id [String] The ID of the PortfolioGroup to perform rebalancing calculations
|
|
173
|
+
# @param calculated_trade_id [String] The ID of calculated trade to get account impact
|
|
174
|
+
# @param trade_id [String] The ID of trade object
|
|
175
|
+
# @param [Hash] opts the optional parameters
|
|
176
|
+
# @return [Array<(Trade, Integer, Hash)>] Trade data, response status code and response headers
|
|
177
|
+
def get_calculated_trade_impact_by_id_with_http_info_impl(portfolio_group_id, calculated_trade_id, trade_id, opts = {})
|
|
178
|
+
if @api_client.config.debugging
|
|
179
|
+
@api_client.config.logger.debug 'Calling API: TradingApi.get_calculated_trade_impact_by_id ...'
|
|
180
|
+
end
|
|
181
|
+
# verify the required parameter 'portfolio_group_id' is set
|
|
182
|
+
if @api_client.config.client_side_validation && portfolio_group_id.nil?
|
|
183
|
+
fail ArgumentError, "Missing the required parameter 'portfolio_group_id' when calling TradingApi.get_calculated_trade_impact_by_id"
|
|
184
|
+
end
|
|
185
|
+
# verify the required parameter 'calculated_trade_id' is set
|
|
186
|
+
if @api_client.config.client_side_validation && calculated_trade_id.nil?
|
|
187
|
+
fail ArgumentError, "Missing the required parameter 'calculated_trade_id' when calling TradingApi.get_calculated_trade_impact_by_id"
|
|
188
|
+
end
|
|
189
|
+
# verify the required parameter 'trade_id' is set
|
|
190
|
+
if @api_client.config.client_side_validation && trade_id.nil?
|
|
191
|
+
fail ArgumentError, "Missing the required parameter 'trade_id' when calling TradingApi.get_calculated_trade_impact_by_id"
|
|
192
|
+
end
|
|
193
|
+
# resource path
|
|
194
|
+
local_var_path = '/portfolioGroups/{portfolioGroupId}/calculatedtrades/{calculatedTradeId}/modify/{tradeId}'.sub('{' + 'portfolioGroupId' + '}', CGI.escape(portfolio_group_id.to_s)).sub('{' + 'calculatedTradeId' + '}', CGI.escape(calculated_trade_id.to_s)).sub('{' + 'tradeId' + '}', CGI.escape(trade_id.to_s))
|
|
195
|
+
|
|
196
|
+
# query parameters
|
|
197
|
+
query_params = opts[:query_params] || {}
|
|
198
|
+
|
|
199
|
+
# header parameters
|
|
200
|
+
header_params = opts[:header_params] || {}
|
|
201
|
+
# HTTP header 'Accept' (if needed)
|
|
202
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
203
|
+
|
|
204
|
+
# form parameters
|
|
205
|
+
form_params = opts[:form_params] || {}
|
|
206
|
+
|
|
207
|
+
# http body (model)
|
|
208
|
+
post_body = opts[:debug_body]
|
|
209
|
+
|
|
210
|
+
# return_type
|
|
211
|
+
return_type = opts[:debug_return_type] || 'Trade'
|
|
212
|
+
|
|
213
|
+
# auth_names
|
|
214
|
+
auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
|
|
215
|
+
|
|
216
|
+
new_options = opts.merge(
|
|
217
|
+
:operation => :"TradingApi.get_calculated_trade_impact_by_id",
|
|
218
|
+
:header_params => header_params,
|
|
219
|
+
:query_params => query_params,
|
|
220
|
+
:form_params => form_params,
|
|
221
|
+
:body => post_body,
|
|
222
|
+
:auth_names => auth_names,
|
|
223
|
+
:return_type => return_type
|
|
224
|
+
)
|
|
225
|
+
|
|
226
|
+
data, status_code, headers, response = @api_client.call_api(:GET, local_var_path, new_options)
|
|
227
|
+
if @api_client.config.debugging
|
|
228
|
+
@api_client.config.logger.debug "API called: TradingApi#get_calculated_trade_impact_by_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
229
|
+
end
|
|
230
|
+
return data, status_code, headers, response
|
|
231
|
+
end
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
# Return the impact of placing a series of trades on the portfolio
|
|
235
|
+
# @param portfolio_group_id [String] The ID of the PortfolioGroup to perform rebalancing calculations
|
|
236
|
+
# @param calculated_trade_id [String] The ID of calculated trade to get account impact
|
|
237
|
+
# @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
|
|
238
|
+
def get_calculated_trades_impact(portfolio_group_id:, calculated_trade_id:, extra: {})
|
|
239
|
+
|
|
240
|
+
data, _status_code, _headers = get_calculated_trades_impact_with_http_info_impl(portfolio_group_id, calculated_trade_id, extra)
|
|
241
|
+
data
|
|
242
|
+
end
|
|
243
|
+
|
|
244
|
+
# Return the impact of placing a series of trades on the portfolio
|
|
245
|
+
# @param portfolio_group_id [String] The ID of the PortfolioGroup to perform rebalancing calculations
|
|
246
|
+
# @param calculated_trade_id [String] The ID of calculated trade to get account impact
|
|
247
|
+
# @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
|
|
248
|
+
def get_calculated_trades_impact_with_http_info(portfolio_group_id:, calculated_trade_id:, extra: {})
|
|
249
|
+
|
|
250
|
+
get_calculated_trades_impact_with_http_info_impl(portfolio_group_id, calculated_trade_id, extra)
|
|
251
|
+
end
|
|
252
|
+
|
|
253
|
+
# Return the impact of placing a series of trades on the portfolio
|
|
254
|
+
# @param portfolio_group_id [String] The ID of the PortfolioGroup to perform rebalancing calculations
|
|
255
|
+
# @param calculated_trade_id [String] The ID of calculated trade to get account impact
|
|
256
|
+
# @param [Hash] opts the optional parameters
|
|
257
|
+
# @return [Array<TradeImpact>]
|
|
258
|
+
def get_calculated_trades_impact_impl(portfolio_group_id, calculated_trade_id, opts = {})
|
|
259
|
+
data, _status_code, _headers = get_calculated_trades_impact_with_http_info(portfolio_group_id, calculated_trade_id, opts)
|
|
260
|
+
data
|
|
261
|
+
end
|
|
262
|
+
|
|
263
|
+
# Return the impact of placing a series of trades on the portfolio
|
|
264
|
+
# @param portfolio_group_id [String] The ID of the PortfolioGroup to perform rebalancing calculations
|
|
265
|
+
# @param calculated_trade_id [String] The ID of calculated trade to get account impact
|
|
266
|
+
# @param [Hash] opts the optional parameters
|
|
267
|
+
# @return [Array<(Array<TradeImpact>, Integer, Hash)>] Array<TradeImpact> data, response status code and response headers
|
|
268
|
+
def get_calculated_trades_impact_with_http_info_impl(portfolio_group_id, calculated_trade_id, opts = {})
|
|
269
|
+
if @api_client.config.debugging
|
|
270
|
+
@api_client.config.logger.debug 'Calling API: TradingApi.get_calculated_trades_impact ...'
|
|
271
|
+
end
|
|
272
|
+
# verify the required parameter 'portfolio_group_id' is set
|
|
273
|
+
if @api_client.config.client_side_validation && portfolio_group_id.nil?
|
|
274
|
+
fail ArgumentError, "Missing the required parameter 'portfolio_group_id' when calling TradingApi.get_calculated_trades_impact"
|
|
275
|
+
end
|
|
276
|
+
# verify the required parameter 'calculated_trade_id' is set
|
|
277
|
+
if @api_client.config.client_side_validation && calculated_trade_id.nil?
|
|
278
|
+
fail ArgumentError, "Missing the required parameter 'calculated_trade_id' when calling TradingApi.get_calculated_trades_impact"
|
|
279
|
+
end
|
|
280
|
+
# resource path
|
|
281
|
+
local_var_path = '/portfolioGroups/{portfolioGroupId}/calculatedtrades/{calculatedTradeId}/impact'.sub('{' + 'portfolioGroupId' + '}', CGI.escape(portfolio_group_id.to_s)).sub('{' + 'calculatedTradeId' + '}', CGI.escape(calculated_trade_id.to_s))
|
|
282
|
+
|
|
283
|
+
# query parameters
|
|
284
|
+
query_params = opts[:query_params] || {}
|
|
285
|
+
|
|
286
|
+
# header parameters
|
|
287
|
+
header_params = opts[:header_params] || {}
|
|
288
|
+
# HTTP header 'Accept' (if needed)
|
|
289
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
290
|
+
|
|
291
|
+
# form parameters
|
|
292
|
+
form_params = opts[:form_params] || {}
|
|
293
|
+
|
|
294
|
+
# http body (model)
|
|
295
|
+
post_body = opts[:debug_body]
|
|
296
|
+
|
|
297
|
+
# return_type
|
|
298
|
+
return_type = opts[:debug_return_type] || 'Array<TradeImpact>'
|
|
299
|
+
|
|
300
|
+
# auth_names
|
|
301
|
+
auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
|
|
302
|
+
|
|
303
|
+
new_options = opts.merge(
|
|
304
|
+
:operation => :"TradingApi.get_calculated_trades_impact",
|
|
305
|
+
:header_params => header_params,
|
|
306
|
+
:query_params => query_params,
|
|
307
|
+
:form_params => form_params,
|
|
308
|
+
:body => post_body,
|
|
309
|
+
:auth_names => auth_names,
|
|
310
|
+
:return_type => return_type
|
|
311
|
+
)
|
|
312
|
+
|
|
313
|
+
data, status_code, headers, response = @api_client.call_api(:GET, local_var_path, new_options)
|
|
314
|
+
if @api_client.config.debugging
|
|
315
|
+
@api_client.config.logger.debug "API called: TradingApi#get_calculated_trades_impact\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
316
|
+
end
|
|
317
|
+
return data, status_code, headers, response
|
|
318
|
+
end
|
|
319
|
+
|
|
320
|
+
|
|
321
|
+
# Check impact of trades on account.
|
|
322
|
+
# @param user_id [String]
|
|
323
|
+
# @param user_secret [String]
|
|
324
|
+
# @param account_id [String]
|
|
325
|
+
# @param action [Action]
|
|
326
|
+
# @param order_type [OrderType]
|
|
327
|
+
# @param price [Float] Trade Price if limit or stop limit order
|
|
328
|
+
# @param stop [Float] Stop Price. If stop loss or stop limit order, the price to trigger the stop
|
|
329
|
+
# @param time_in_force [TimeInForce]
|
|
330
|
+
# @param units [Float] Trade Units
|
|
331
|
+
# @param universal_symbol_id [String]
|
|
332
|
+
# @param body [ManualTradeForm]
|
|
333
|
+
# @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
|
|
334
|
+
def get_order_impact(user_id:, user_secret:, account_id: SENTINEL, action: SENTINEL, order_type: SENTINEL, price: SENTINEL, stop: SENTINEL, time_in_force: SENTINEL, units: SENTINEL, universal_symbol_id: SENTINEL, extra: {})
|
|
335
|
+
_body = {}
|
|
336
|
+
_body[:account_id] = account_id if account_id != SENTINEL
|
|
337
|
+
_body[:action] = action if action != SENTINEL
|
|
338
|
+
_body[:order_type] = order_type if order_type != SENTINEL
|
|
339
|
+
_body[:price] = price if price != SENTINEL
|
|
340
|
+
_body[:stop] = stop if stop != SENTINEL
|
|
341
|
+
_body[:time_in_force] = time_in_force if time_in_force != SENTINEL
|
|
342
|
+
_body[:units] = units if units != SENTINEL
|
|
343
|
+
_body[:universal_symbol_id] = universal_symbol_id if universal_symbol_id != SENTINEL
|
|
344
|
+
manual_trade_form = _body
|
|
345
|
+
|
|
346
|
+
data, _status_code, _headers = get_order_impact_with_http_info_impl(user_id, user_secret, manual_trade_form, extra)
|
|
347
|
+
data
|
|
348
|
+
end
|
|
349
|
+
|
|
350
|
+
# Check impact of trades on account.
|
|
351
|
+
# @param user_id [String]
|
|
352
|
+
# @param user_secret [String]
|
|
353
|
+
# @param account_id [String]
|
|
354
|
+
# @param action [Action]
|
|
355
|
+
# @param order_type [OrderType]
|
|
356
|
+
# @param price [Float] Trade Price if limit or stop limit order
|
|
357
|
+
# @param stop [Float] Stop Price. If stop loss or stop limit order, the price to trigger the stop
|
|
358
|
+
# @param time_in_force [TimeInForce]
|
|
359
|
+
# @param units [Float] Trade Units
|
|
360
|
+
# @param universal_symbol_id [String]
|
|
361
|
+
# @param body [ManualTradeForm]
|
|
362
|
+
# @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
|
|
363
|
+
def get_order_impact_with_http_info(user_id:, user_secret:, account_id: SENTINEL, action: SENTINEL, order_type: SENTINEL, price: SENTINEL, stop: SENTINEL, time_in_force: SENTINEL, units: SENTINEL, universal_symbol_id: SENTINEL, extra: {})
|
|
364
|
+
_body = {}
|
|
365
|
+
_body[:account_id] = account_id if account_id != SENTINEL
|
|
366
|
+
_body[:action] = action if action != SENTINEL
|
|
367
|
+
_body[:order_type] = order_type if order_type != SENTINEL
|
|
368
|
+
_body[:price] = price if price != SENTINEL
|
|
369
|
+
_body[:stop] = stop if stop != SENTINEL
|
|
370
|
+
_body[:time_in_force] = time_in_force if time_in_force != SENTINEL
|
|
371
|
+
_body[:units] = units if units != SENTINEL
|
|
372
|
+
_body[:universal_symbol_id] = universal_symbol_id if universal_symbol_id != SENTINEL
|
|
373
|
+
manual_trade_form = _body
|
|
374
|
+
|
|
375
|
+
get_order_impact_with_http_info_impl(user_id, user_secret, manual_trade_form, extra)
|
|
376
|
+
end
|
|
377
|
+
|
|
378
|
+
# Check impact of trades on account.
|
|
379
|
+
# @param user_id [String]
|
|
380
|
+
# @param user_secret [String]
|
|
381
|
+
# @param manual_trade_form [ManualTradeForm]
|
|
382
|
+
# @param [Hash] opts the optional parameters
|
|
383
|
+
# @return [ManualTradeAndImpact]
|
|
384
|
+
def get_order_impact_impl(user_id, user_secret, manual_trade_form, opts = {})
|
|
385
|
+
data, _status_code, _headers = get_order_impact_with_http_info(user_id, user_secret, manual_trade_form, opts)
|
|
386
|
+
data
|
|
387
|
+
end
|
|
388
|
+
|
|
389
|
+
# Check impact of trades on account.
|
|
390
|
+
# @param user_id [String]
|
|
391
|
+
# @param user_secret [String]
|
|
392
|
+
# @param manual_trade_form [ManualTradeForm]
|
|
393
|
+
# @param [Hash] opts the optional parameters
|
|
394
|
+
# @return [Array<(ManualTradeAndImpact, Integer, Hash)>] ManualTradeAndImpact data, response status code and response headers
|
|
395
|
+
def get_order_impact_with_http_info_impl(user_id, user_secret, manual_trade_form, opts = {})
|
|
396
|
+
if @api_client.config.debugging
|
|
397
|
+
@api_client.config.logger.debug 'Calling API: TradingApi.get_order_impact ...'
|
|
398
|
+
end
|
|
399
|
+
# verify the required parameter 'user_id' is set
|
|
400
|
+
if @api_client.config.client_side_validation && user_id.nil?
|
|
401
|
+
fail ArgumentError, "Missing the required parameter 'user_id' when calling TradingApi.get_order_impact"
|
|
402
|
+
end
|
|
403
|
+
# verify the required parameter 'user_secret' is set
|
|
404
|
+
if @api_client.config.client_side_validation && user_secret.nil?
|
|
405
|
+
fail ArgumentError, "Missing the required parameter 'user_secret' when calling TradingApi.get_order_impact"
|
|
406
|
+
end
|
|
407
|
+
# verify the required parameter 'manual_trade_form' is set
|
|
408
|
+
if @api_client.config.client_side_validation && manual_trade_form.nil?
|
|
409
|
+
fail ArgumentError, "Missing the required parameter 'manual_trade_form' when calling TradingApi.get_order_impact"
|
|
410
|
+
end
|
|
411
|
+
# resource path
|
|
412
|
+
local_var_path = '/trade/impact'
|
|
413
|
+
|
|
414
|
+
# query parameters
|
|
415
|
+
query_params = opts[:query_params] || {}
|
|
416
|
+
query_params[:'userId'] = user_id
|
|
417
|
+
query_params[:'userSecret'] = user_secret
|
|
418
|
+
|
|
419
|
+
# header parameters
|
|
420
|
+
header_params = opts[:header_params] || {}
|
|
421
|
+
# HTTP header 'Accept' (if needed)
|
|
422
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
423
|
+
# HTTP header 'Content-Type'
|
|
424
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
425
|
+
if !content_type.nil?
|
|
426
|
+
header_params['Content-Type'] = content_type
|
|
427
|
+
end
|
|
428
|
+
|
|
429
|
+
# form parameters
|
|
430
|
+
form_params = opts[:form_params] || {}
|
|
431
|
+
|
|
432
|
+
# http body (model)
|
|
433
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(manual_trade_form)
|
|
434
|
+
|
|
435
|
+
# return_type
|
|
436
|
+
return_type = opts[:debug_return_type] || 'ManualTradeAndImpact'
|
|
437
|
+
|
|
438
|
+
# auth_names
|
|
439
|
+
auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
|
|
440
|
+
|
|
441
|
+
new_options = opts.merge(
|
|
442
|
+
:operation => :"TradingApi.get_order_impact",
|
|
443
|
+
:header_params => header_params,
|
|
444
|
+
:query_params => query_params,
|
|
445
|
+
:form_params => form_params,
|
|
446
|
+
:body => post_body,
|
|
447
|
+
:auth_names => auth_names,
|
|
448
|
+
:return_type => return_type
|
|
449
|
+
)
|
|
450
|
+
|
|
451
|
+
data, status_code, headers, response = @api_client.call_api(:POST, local_var_path, new_options)
|
|
452
|
+
if @api_client.config.debugging
|
|
453
|
+
@api_client.config.logger.debug "API called: TradingApi#get_order_impact\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
454
|
+
end
|
|
455
|
+
return data, status_code, headers, response
|
|
456
|
+
end
|
|
457
|
+
|
|
458
|
+
|
|
459
|
+
# Get symbol quotes
|
|
460
|
+
# @param user_id [String]
|
|
461
|
+
# @param user_secret [String]
|
|
462
|
+
# @param symbols [String] List of universal_symbol_id or tickers to get quotes for.
|
|
463
|
+
# @param account_id [String] The ID of the account to get quotes.
|
|
464
|
+
# @param use_ticker [Boolean] Should be set to True if providing tickers.
|
|
465
|
+
# @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
|
|
466
|
+
def get_user_account_quotes(user_id:, user_secret:, symbols:, account_id:, use_ticker: SENTINEL, extra: {})
|
|
467
|
+
extra[:use_ticker] = use_ticker if use_ticker != SENTINEL
|
|
468
|
+
|
|
469
|
+
data, _status_code, _headers = get_user_account_quotes_with_http_info_impl(user_id, user_secret, symbols, account_id, extra)
|
|
470
|
+
data
|
|
471
|
+
end
|
|
472
|
+
|
|
473
|
+
# Get symbol quotes
|
|
474
|
+
# @param user_id [String]
|
|
475
|
+
# @param user_secret [String]
|
|
476
|
+
# @param symbols [String] List of universal_symbol_id or tickers to get quotes for.
|
|
477
|
+
# @param account_id [String] The ID of the account to get quotes.
|
|
478
|
+
# @param use_ticker [Boolean] Should be set to True if providing tickers.
|
|
479
|
+
# @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
|
|
480
|
+
def get_user_account_quotes_with_http_info(user_id:, user_secret:, symbols:, account_id:, use_ticker: SENTINEL, extra: {})
|
|
481
|
+
extra[:use_ticker] = use_ticker if use_ticker != SENTINEL
|
|
482
|
+
|
|
483
|
+
get_user_account_quotes_with_http_info_impl(user_id, user_secret, symbols, account_id, extra)
|
|
484
|
+
end
|
|
485
|
+
|
|
486
|
+
# Get symbol quotes
|
|
487
|
+
# @param user_id [String]
|
|
488
|
+
# @param user_secret [String]
|
|
489
|
+
# @param symbols [String] List of universal_symbol_id or tickers to get quotes for.
|
|
490
|
+
# @param account_id [String] The ID of the account to get quotes.
|
|
491
|
+
# @param [Hash] opts the optional parameters
|
|
492
|
+
# @option opts [Boolean] :use_ticker Should be set to True if providing tickers.
|
|
493
|
+
# @return [SymbolsQuotes]
|
|
494
|
+
def get_user_account_quotes_impl(user_id, user_secret, symbols, account_id, opts = {})
|
|
495
|
+
data, _status_code, _headers = get_user_account_quotes_with_http_info(user_id, user_secret, symbols, account_id, opts)
|
|
496
|
+
data
|
|
497
|
+
end
|
|
498
|
+
|
|
499
|
+
# Get symbol quotes
|
|
500
|
+
# @param user_id [String]
|
|
501
|
+
# @param user_secret [String]
|
|
502
|
+
# @param symbols [String] List of universal_symbol_id or tickers to get quotes for.
|
|
503
|
+
# @param account_id [String] The ID of the account to get quotes.
|
|
504
|
+
# @param [Hash] opts the optional parameters
|
|
505
|
+
# @option opts [Boolean] :use_ticker Should be set to True if providing tickers.
|
|
506
|
+
# @return [Array<(SymbolsQuotes, Integer, Hash)>] SymbolsQuotes data, response status code and response headers
|
|
507
|
+
def get_user_account_quotes_with_http_info_impl(user_id, user_secret, symbols, account_id, opts = {})
|
|
508
|
+
if @api_client.config.debugging
|
|
509
|
+
@api_client.config.logger.debug 'Calling API: TradingApi.get_user_account_quotes ...'
|
|
510
|
+
end
|
|
511
|
+
# verify the required parameter 'user_id' is set
|
|
512
|
+
if @api_client.config.client_side_validation && user_id.nil?
|
|
513
|
+
fail ArgumentError, "Missing the required parameter 'user_id' when calling TradingApi.get_user_account_quotes"
|
|
514
|
+
end
|
|
515
|
+
# verify the required parameter 'user_secret' is set
|
|
516
|
+
if @api_client.config.client_side_validation && user_secret.nil?
|
|
517
|
+
fail ArgumentError, "Missing the required parameter 'user_secret' when calling TradingApi.get_user_account_quotes"
|
|
518
|
+
end
|
|
519
|
+
# verify the required parameter 'symbols' is set
|
|
520
|
+
if @api_client.config.client_side_validation && symbols.nil?
|
|
521
|
+
fail ArgumentError, "Missing the required parameter 'symbols' when calling TradingApi.get_user_account_quotes"
|
|
522
|
+
end
|
|
523
|
+
# verify the required parameter 'account_id' is set
|
|
524
|
+
if @api_client.config.client_side_validation && account_id.nil?
|
|
525
|
+
fail ArgumentError, "Missing the required parameter 'account_id' when calling TradingApi.get_user_account_quotes"
|
|
526
|
+
end
|
|
527
|
+
# resource path
|
|
528
|
+
local_var_path = '/accounts/{accountId}/quotes'.sub('{' + 'accountId' + '}', CGI.escape(account_id.to_s))
|
|
529
|
+
|
|
530
|
+
# query parameters
|
|
531
|
+
query_params = opts[:query_params] || {}
|
|
532
|
+
query_params[:'userId'] = user_id
|
|
533
|
+
query_params[:'userSecret'] = user_secret
|
|
534
|
+
query_params[:'symbols'] = symbols
|
|
535
|
+
query_params[:'use_ticker'] = opts[:'use_ticker'] if !opts[:'use_ticker'].nil?
|
|
536
|
+
|
|
537
|
+
# header parameters
|
|
538
|
+
header_params = opts[:header_params] || {}
|
|
539
|
+
# HTTP header 'Accept' (if needed)
|
|
540
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
541
|
+
|
|
542
|
+
# form parameters
|
|
543
|
+
form_params = opts[:form_params] || {}
|
|
544
|
+
|
|
545
|
+
# http body (model)
|
|
546
|
+
post_body = opts[:debug_body]
|
|
547
|
+
|
|
548
|
+
# return_type
|
|
549
|
+
return_type = opts[:debug_return_type] || 'SymbolsQuotes'
|
|
550
|
+
|
|
551
|
+
# auth_names
|
|
552
|
+
auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
|
|
553
|
+
|
|
554
|
+
new_options = opts.merge(
|
|
555
|
+
:operation => :"TradingApi.get_user_account_quotes",
|
|
556
|
+
:header_params => header_params,
|
|
557
|
+
:query_params => query_params,
|
|
558
|
+
:form_params => form_params,
|
|
559
|
+
:body => post_body,
|
|
560
|
+
:auth_names => auth_names,
|
|
561
|
+
:return_type => return_type
|
|
562
|
+
)
|
|
563
|
+
|
|
564
|
+
data, status_code, headers, response = @api_client.call_api(:GET, local_var_path, new_options)
|
|
565
|
+
if @api_client.config.debugging
|
|
566
|
+
@api_client.config.logger.debug "API called: TradingApi#get_user_account_quotes\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
567
|
+
end
|
|
568
|
+
return data, status_code, headers, response
|
|
569
|
+
end
|
|
570
|
+
|
|
571
|
+
|
|
572
|
+
# Modify units of a trade before it is placed
|
|
573
|
+
# @param portfolio_group_id [String] The ID of the PortfolioGroup to perform rebalancing calculations
|
|
574
|
+
# @param calculated_trade_id [String] The ID of calculated trade to get account impact
|
|
575
|
+
# @param trade_id [String] The ID of trade object
|
|
576
|
+
# @param id [String]
|
|
577
|
+
# @param account [Account]
|
|
578
|
+
# @param symbol [BrokerageSymbol]
|
|
579
|
+
# @param universal_symbol [UniversalSymbol]
|
|
580
|
+
# @param action [TradeAction]
|
|
581
|
+
# @param units [Integer]
|
|
582
|
+
# @param price [Float]
|
|
583
|
+
# @param sequence [Integer]
|
|
584
|
+
# @param body [Trade]
|
|
585
|
+
# @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
|
|
586
|
+
def modify_calculated_trade_by_id(portfolio_group_id:, calculated_trade_id:, trade_id:, id: SENTINEL, account: SENTINEL, symbol: SENTINEL, universal_symbol: SENTINEL, action: SENTINEL, units: SENTINEL, price: SENTINEL, sequence: SENTINEL, extra: {})
|
|
587
|
+
_body = {}
|
|
588
|
+
_body[:id] = id if id != SENTINEL
|
|
589
|
+
_body[:account] = account if account != SENTINEL
|
|
590
|
+
_body[:symbol] = symbol if symbol != SENTINEL
|
|
591
|
+
_body[:universal_symbol] = universal_symbol if universal_symbol != SENTINEL
|
|
592
|
+
_body[:action] = action if action != SENTINEL
|
|
593
|
+
_body[:units] = units if units != SENTINEL
|
|
594
|
+
_body[:price] = price if price != SENTINEL
|
|
595
|
+
_body[:sequence] = sequence if sequence != SENTINEL
|
|
596
|
+
extra[:trade] = _body if !_body.empty?
|
|
597
|
+
|
|
598
|
+
data, _status_code, _headers = modify_calculated_trade_by_id_with_http_info_impl(portfolio_group_id, calculated_trade_id, trade_id, extra)
|
|
599
|
+
data
|
|
600
|
+
end
|
|
601
|
+
|
|
602
|
+
# Modify units of a trade before it is placed
|
|
603
|
+
# @param portfolio_group_id [String] The ID of the PortfolioGroup to perform rebalancing calculations
|
|
604
|
+
# @param calculated_trade_id [String] The ID of calculated trade to get account impact
|
|
605
|
+
# @param trade_id [String] The ID of trade object
|
|
606
|
+
# @param id [String]
|
|
607
|
+
# @param account [Account]
|
|
608
|
+
# @param symbol [BrokerageSymbol]
|
|
609
|
+
# @param universal_symbol [UniversalSymbol]
|
|
610
|
+
# @param action [TradeAction]
|
|
611
|
+
# @param units [Integer]
|
|
612
|
+
# @param price [Float]
|
|
613
|
+
# @param sequence [Integer]
|
|
614
|
+
# @param body [Trade]
|
|
615
|
+
# @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
|
|
616
|
+
def modify_calculated_trade_by_id_with_http_info(portfolio_group_id:, calculated_trade_id:, trade_id:, id: SENTINEL, account: SENTINEL, symbol: SENTINEL, universal_symbol: SENTINEL, action: SENTINEL, units: SENTINEL, price: SENTINEL, sequence: SENTINEL, extra: {})
|
|
617
|
+
_body = {}
|
|
618
|
+
_body[:id] = id if id != SENTINEL
|
|
619
|
+
_body[:account] = account if account != SENTINEL
|
|
620
|
+
_body[:symbol] = symbol if symbol != SENTINEL
|
|
621
|
+
_body[:universal_symbol] = universal_symbol if universal_symbol != SENTINEL
|
|
622
|
+
_body[:action] = action if action != SENTINEL
|
|
623
|
+
_body[:units] = units if units != SENTINEL
|
|
624
|
+
_body[:price] = price if price != SENTINEL
|
|
625
|
+
_body[:sequence] = sequence if sequence != SENTINEL
|
|
626
|
+
extra[:trade] = _body if !_body.empty?
|
|
627
|
+
|
|
628
|
+
modify_calculated_trade_by_id_with_http_info_impl(portfolio_group_id, calculated_trade_id, trade_id, extra)
|
|
629
|
+
end
|
|
630
|
+
|
|
631
|
+
# Modify units of a trade before it is placed
|
|
632
|
+
# @param portfolio_group_id [String] The ID of the PortfolioGroup to perform rebalancing calculations
|
|
633
|
+
# @param calculated_trade_id [String] The ID of calculated trade to get account impact
|
|
634
|
+
# @param trade_id [String] The ID of trade object
|
|
635
|
+
# @param [Hash] opts the optional parameters
|
|
636
|
+
# @option opts [Trade] :trade
|
|
637
|
+
# @return [Trade]
|
|
638
|
+
def modify_calculated_trade_by_id_impl(portfolio_group_id, calculated_trade_id, trade_id, opts = {})
|
|
639
|
+
data, _status_code, _headers = modify_calculated_trade_by_id_with_http_info(portfolio_group_id, calculated_trade_id, trade_id, opts)
|
|
640
|
+
data
|
|
641
|
+
end
|
|
642
|
+
|
|
643
|
+
# Modify units of a trade before it is placed
|
|
644
|
+
# @param portfolio_group_id [String] The ID of the PortfolioGroup to perform rebalancing calculations
|
|
645
|
+
# @param calculated_trade_id [String] The ID of calculated trade to get account impact
|
|
646
|
+
# @param trade_id [String] The ID of trade object
|
|
647
|
+
# @param [Hash] opts the optional parameters
|
|
648
|
+
# @option opts [Trade] :trade
|
|
649
|
+
# @return [Array<(Trade, Integer, Hash)>] Trade data, response status code and response headers
|
|
650
|
+
def modify_calculated_trade_by_id_with_http_info_impl(portfolio_group_id, calculated_trade_id, trade_id, opts = {})
|
|
651
|
+
if @api_client.config.debugging
|
|
652
|
+
@api_client.config.logger.debug 'Calling API: TradingApi.modify_calculated_trade_by_id ...'
|
|
653
|
+
end
|
|
654
|
+
# verify the required parameter 'portfolio_group_id' is set
|
|
655
|
+
if @api_client.config.client_side_validation && portfolio_group_id.nil?
|
|
656
|
+
fail ArgumentError, "Missing the required parameter 'portfolio_group_id' when calling TradingApi.modify_calculated_trade_by_id"
|
|
657
|
+
end
|
|
658
|
+
# verify the required parameter 'calculated_trade_id' is set
|
|
659
|
+
if @api_client.config.client_side_validation && calculated_trade_id.nil?
|
|
660
|
+
fail ArgumentError, "Missing the required parameter 'calculated_trade_id' when calling TradingApi.modify_calculated_trade_by_id"
|
|
661
|
+
end
|
|
662
|
+
# verify the required parameter 'trade_id' is set
|
|
663
|
+
if @api_client.config.client_side_validation && trade_id.nil?
|
|
664
|
+
fail ArgumentError, "Missing the required parameter 'trade_id' when calling TradingApi.modify_calculated_trade_by_id"
|
|
665
|
+
end
|
|
666
|
+
# resource path
|
|
667
|
+
local_var_path = '/portfolioGroups/{portfolioGroupId}/calculatedtrades/{calculatedTradeId}/modify/{tradeId}'.sub('{' + 'portfolioGroupId' + '}', CGI.escape(portfolio_group_id.to_s)).sub('{' + 'calculatedTradeId' + '}', CGI.escape(calculated_trade_id.to_s)).sub('{' + 'tradeId' + '}', CGI.escape(trade_id.to_s))
|
|
668
|
+
|
|
669
|
+
# query parameters
|
|
670
|
+
query_params = opts[:query_params] || {}
|
|
671
|
+
|
|
672
|
+
# header parameters
|
|
673
|
+
header_params = opts[:header_params] || {}
|
|
674
|
+
# HTTP header 'Accept' (if needed)
|
|
675
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
676
|
+
# HTTP header 'Content-Type'
|
|
677
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
678
|
+
if !content_type.nil?
|
|
679
|
+
header_params['Content-Type'] = content_type
|
|
680
|
+
end
|
|
681
|
+
|
|
682
|
+
# form parameters
|
|
683
|
+
form_params = opts[:form_params] || {}
|
|
684
|
+
|
|
685
|
+
# http body (model)
|
|
686
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'trade'])
|
|
687
|
+
|
|
688
|
+
# return_type
|
|
689
|
+
return_type = opts[:debug_return_type] || 'Trade'
|
|
690
|
+
|
|
691
|
+
# auth_names
|
|
692
|
+
auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
|
|
693
|
+
|
|
694
|
+
new_options = opts.merge(
|
|
695
|
+
:operation => :"TradingApi.modify_calculated_trade_by_id",
|
|
696
|
+
:header_params => header_params,
|
|
697
|
+
:query_params => query_params,
|
|
698
|
+
:form_params => form_params,
|
|
699
|
+
:body => post_body,
|
|
700
|
+
:auth_names => auth_names,
|
|
701
|
+
:return_type => return_type
|
|
702
|
+
)
|
|
703
|
+
|
|
704
|
+
data, status_code, headers, response = @api_client.call_api(:PATCH, local_var_path, new_options)
|
|
705
|
+
if @api_client.config.debugging
|
|
706
|
+
@api_client.config.logger.debug "API called: TradingApi#modify_calculated_trade_by_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
707
|
+
end
|
|
708
|
+
return data, status_code, headers, response
|
|
709
|
+
end
|
|
710
|
+
|
|
711
|
+
|
|
712
|
+
# Place orders for the CalculatedTrades in series
|
|
713
|
+
# @param portfolio_group_id [String] The ID of the PortfolioGroup to perform rebalancing calculations
|
|
714
|
+
# @param calculated_trade_id [String] The ID of calculated trade to get account impact
|
|
715
|
+
# @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
|
|
716
|
+
def place_calculated_trades(portfolio_group_id:, calculated_trade_id:, extra: {})
|
|
717
|
+
|
|
718
|
+
data, _status_code, _headers = place_calculated_trades_with_http_info_impl(portfolio_group_id, calculated_trade_id, extra)
|
|
719
|
+
data
|
|
720
|
+
end
|
|
721
|
+
|
|
722
|
+
# Place orders for the CalculatedTrades in series
|
|
723
|
+
# @param portfolio_group_id [String] The ID of the PortfolioGroup to perform rebalancing calculations
|
|
724
|
+
# @param calculated_trade_id [String] The ID of calculated trade to get account impact
|
|
725
|
+
# @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
|
|
726
|
+
def place_calculated_trades_with_http_info(portfolio_group_id:, calculated_trade_id:, extra: {})
|
|
727
|
+
|
|
728
|
+
place_calculated_trades_with_http_info_impl(portfolio_group_id, calculated_trade_id, extra)
|
|
729
|
+
end
|
|
730
|
+
|
|
731
|
+
# Place orders for the CalculatedTrades in series
|
|
732
|
+
# @param portfolio_group_id [String] The ID of the PortfolioGroup to perform rebalancing calculations
|
|
733
|
+
# @param calculated_trade_id [String] The ID of calculated trade to get account impact
|
|
734
|
+
# @param [Hash] opts the optional parameters
|
|
735
|
+
# @return [Array<TradeExecutionStatus>]
|
|
736
|
+
def place_calculated_trades_impl(portfolio_group_id, calculated_trade_id, opts = {})
|
|
737
|
+
data, _status_code, _headers = place_calculated_trades_with_http_info(portfolio_group_id, calculated_trade_id, opts)
|
|
738
|
+
data
|
|
739
|
+
end
|
|
740
|
+
|
|
741
|
+
# Place orders for the CalculatedTrades in series
|
|
742
|
+
# @param portfolio_group_id [String] The ID of the PortfolioGroup to perform rebalancing calculations
|
|
743
|
+
# @param calculated_trade_id [String] The ID of calculated trade to get account impact
|
|
744
|
+
# @param [Hash] opts the optional parameters
|
|
745
|
+
# @return [Array<(Array<TradeExecutionStatus>, Integer, Hash)>] Array<TradeExecutionStatus> data, response status code and response headers
|
|
746
|
+
def place_calculated_trades_with_http_info_impl(portfolio_group_id, calculated_trade_id, opts = {})
|
|
747
|
+
if @api_client.config.debugging
|
|
748
|
+
@api_client.config.logger.debug 'Calling API: TradingApi.place_calculated_trades ...'
|
|
749
|
+
end
|
|
750
|
+
# verify the required parameter 'portfolio_group_id' is set
|
|
751
|
+
if @api_client.config.client_side_validation && portfolio_group_id.nil?
|
|
752
|
+
fail ArgumentError, "Missing the required parameter 'portfolio_group_id' when calling TradingApi.place_calculated_trades"
|
|
753
|
+
end
|
|
754
|
+
# verify the required parameter 'calculated_trade_id' is set
|
|
755
|
+
if @api_client.config.client_side_validation && calculated_trade_id.nil?
|
|
756
|
+
fail ArgumentError, "Missing the required parameter 'calculated_trade_id' when calling TradingApi.place_calculated_trades"
|
|
757
|
+
end
|
|
758
|
+
# resource path
|
|
759
|
+
local_var_path = '/portfolioGroups/{portfolioGroupId}/calculatedtrades/{calculatedTradeId}/placeOrders'.sub('{' + 'portfolioGroupId' + '}', CGI.escape(portfolio_group_id.to_s)).sub('{' + 'calculatedTradeId' + '}', CGI.escape(calculated_trade_id.to_s))
|
|
760
|
+
|
|
761
|
+
# query parameters
|
|
762
|
+
query_params = opts[:query_params] || {}
|
|
763
|
+
|
|
764
|
+
# header parameters
|
|
765
|
+
header_params = opts[:header_params] || {}
|
|
766
|
+
# HTTP header 'Accept' (if needed)
|
|
767
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
768
|
+
|
|
769
|
+
# form parameters
|
|
770
|
+
form_params = opts[:form_params] || {}
|
|
771
|
+
|
|
772
|
+
# http body (model)
|
|
773
|
+
post_body = opts[:debug_body]
|
|
774
|
+
|
|
775
|
+
# return_type
|
|
776
|
+
return_type = opts[:debug_return_type] || 'Array<TradeExecutionStatus>'
|
|
777
|
+
|
|
778
|
+
# auth_names
|
|
779
|
+
auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
|
|
780
|
+
|
|
781
|
+
new_options = opts.merge(
|
|
782
|
+
:operation => :"TradingApi.place_calculated_trades",
|
|
783
|
+
:header_params => header_params,
|
|
784
|
+
:query_params => query_params,
|
|
785
|
+
:form_params => form_params,
|
|
786
|
+
:body => post_body,
|
|
787
|
+
:auth_names => auth_names,
|
|
788
|
+
:return_type => return_type
|
|
789
|
+
)
|
|
790
|
+
|
|
791
|
+
data, status_code, headers, response = @api_client.call_api(:POST, local_var_path, new_options)
|
|
792
|
+
if @api_client.config.debugging
|
|
793
|
+
@api_client.config.logger.debug "API called: TradingApi#place_calculated_trades\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
794
|
+
end
|
|
795
|
+
return data, status_code, headers, response
|
|
796
|
+
end
|
|
797
|
+
|
|
798
|
+
|
|
799
|
+
# Place a trade with NO validation.
|
|
800
|
+
# @param user_id [String]
|
|
801
|
+
# @param user_secret [String]
|
|
802
|
+
# @param account_id [String]
|
|
803
|
+
# @param action [Action]
|
|
804
|
+
# @param order_type [OrderType]
|
|
805
|
+
# @param price [Float] Trade Price if limit or stop limit order
|
|
806
|
+
# @param stop [Float] Stop Price. If stop loss or stop limit order, the price to trigger the stop
|
|
807
|
+
# @param time_in_force [TimeInForce]
|
|
808
|
+
# @param units [Float] Trade Units
|
|
809
|
+
# @param universal_symbol_id [String]
|
|
810
|
+
# @param body [ManualTradeForm]
|
|
811
|
+
# @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
|
|
812
|
+
def place_force_order(user_id:, user_secret:, account_id: SENTINEL, action: SENTINEL, order_type: SENTINEL, price: SENTINEL, stop: SENTINEL, time_in_force: SENTINEL, units: SENTINEL, universal_symbol_id: SENTINEL, extra: {})
|
|
813
|
+
_body = {}
|
|
814
|
+
_body[:account_id] = account_id if account_id != SENTINEL
|
|
815
|
+
_body[:action] = action if action != SENTINEL
|
|
816
|
+
_body[:order_type] = order_type if order_type != SENTINEL
|
|
817
|
+
_body[:price] = price if price != SENTINEL
|
|
818
|
+
_body[:stop] = stop if stop != SENTINEL
|
|
819
|
+
_body[:time_in_force] = time_in_force if time_in_force != SENTINEL
|
|
820
|
+
_body[:units] = units if units != SENTINEL
|
|
821
|
+
_body[:universal_symbol_id] = universal_symbol_id if universal_symbol_id != SENTINEL
|
|
822
|
+
manual_trade_form = _body
|
|
823
|
+
|
|
824
|
+
data, _status_code, _headers = place_force_order_with_http_info_impl(user_id, user_secret, manual_trade_form, extra)
|
|
825
|
+
data
|
|
826
|
+
end
|
|
827
|
+
|
|
828
|
+
# Place a trade with NO validation.
|
|
829
|
+
# @param user_id [String]
|
|
830
|
+
# @param user_secret [String]
|
|
831
|
+
# @param account_id [String]
|
|
832
|
+
# @param action [Action]
|
|
833
|
+
# @param order_type [OrderType]
|
|
834
|
+
# @param price [Float] Trade Price if limit or stop limit order
|
|
835
|
+
# @param stop [Float] Stop Price. If stop loss or stop limit order, the price to trigger the stop
|
|
836
|
+
# @param time_in_force [TimeInForce]
|
|
837
|
+
# @param units [Float] Trade Units
|
|
838
|
+
# @param universal_symbol_id [String]
|
|
839
|
+
# @param body [ManualTradeForm]
|
|
840
|
+
# @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
|
|
841
|
+
def place_force_order_with_http_info(user_id:, user_secret:, account_id: SENTINEL, action: SENTINEL, order_type: SENTINEL, price: SENTINEL, stop: SENTINEL, time_in_force: SENTINEL, units: SENTINEL, universal_symbol_id: SENTINEL, extra: {})
|
|
842
|
+
_body = {}
|
|
843
|
+
_body[:account_id] = account_id if account_id != SENTINEL
|
|
844
|
+
_body[:action] = action if action != SENTINEL
|
|
845
|
+
_body[:order_type] = order_type if order_type != SENTINEL
|
|
846
|
+
_body[:price] = price if price != SENTINEL
|
|
847
|
+
_body[:stop] = stop if stop != SENTINEL
|
|
848
|
+
_body[:time_in_force] = time_in_force if time_in_force != SENTINEL
|
|
849
|
+
_body[:units] = units if units != SENTINEL
|
|
850
|
+
_body[:universal_symbol_id] = universal_symbol_id if universal_symbol_id != SENTINEL
|
|
851
|
+
manual_trade_form = _body
|
|
852
|
+
|
|
853
|
+
place_force_order_with_http_info_impl(user_id, user_secret, manual_trade_form, extra)
|
|
854
|
+
end
|
|
855
|
+
|
|
856
|
+
# Place a trade with NO validation.
|
|
857
|
+
# @param user_id [String]
|
|
858
|
+
# @param user_secret [String]
|
|
859
|
+
# @param manual_trade_form [ManualTradeForm]
|
|
860
|
+
# @param [Hash] opts the optional parameters
|
|
861
|
+
# @return [AccountOrderRecord]
|
|
862
|
+
def place_force_order_impl(user_id, user_secret, manual_trade_form, opts = {})
|
|
863
|
+
data, _status_code, _headers = place_force_order_with_http_info(user_id, user_secret, manual_trade_form, opts)
|
|
864
|
+
data
|
|
865
|
+
end
|
|
866
|
+
|
|
867
|
+
# Place a trade with NO validation.
|
|
868
|
+
# @param user_id [String]
|
|
869
|
+
# @param user_secret [String]
|
|
870
|
+
# @param manual_trade_form [ManualTradeForm]
|
|
871
|
+
# @param [Hash] opts the optional parameters
|
|
872
|
+
# @return [Array<(AccountOrderRecord, Integer, Hash)>] AccountOrderRecord data, response status code and response headers
|
|
873
|
+
def place_force_order_with_http_info_impl(user_id, user_secret, manual_trade_form, opts = {})
|
|
874
|
+
if @api_client.config.debugging
|
|
875
|
+
@api_client.config.logger.debug 'Calling API: TradingApi.place_force_order ...'
|
|
876
|
+
end
|
|
877
|
+
# verify the required parameter 'user_id' is set
|
|
878
|
+
if @api_client.config.client_side_validation && user_id.nil?
|
|
879
|
+
fail ArgumentError, "Missing the required parameter 'user_id' when calling TradingApi.place_force_order"
|
|
880
|
+
end
|
|
881
|
+
# verify the required parameter 'user_secret' is set
|
|
882
|
+
if @api_client.config.client_side_validation && user_secret.nil?
|
|
883
|
+
fail ArgumentError, "Missing the required parameter 'user_secret' when calling TradingApi.place_force_order"
|
|
884
|
+
end
|
|
885
|
+
# verify the required parameter 'manual_trade_form' is set
|
|
886
|
+
if @api_client.config.client_side_validation && manual_trade_form.nil?
|
|
887
|
+
fail ArgumentError, "Missing the required parameter 'manual_trade_form' when calling TradingApi.place_force_order"
|
|
888
|
+
end
|
|
889
|
+
# resource path
|
|
890
|
+
local_var_path = '/trade/place'
|
|
891
|
+
|
|
892
|
+
# query parameters
|
|
893
|
+
query_params = opts[:query_params] || {}
|
|
894
|
+
query_params[:'userId'] = user_id
|
|
895
|
+
query_params[:'userSecret'] = user_secret
|
|
896
|
+
|
|
897
|
+
# header parameters
|
|
898
|
+
header_params = opts[:header_params] || {}
|
|
899
|
+
# HTTP header 'Accept' (if needed)
|
|
900
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
901
|
+
# HTTP header 'Content-Type'
|
|
902
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
903
|
+
if !content_type.nil?
|
|
904
|
+
header_params['Content-Type'] = content_type
|
|
905
|
+
end
|
|
906
|
+
|
|
907
|
+
# form parameters
|
|
908
|
+
form_params = opts[:form_params] || {}
|
|
909
|
+
|
|
910
|
+
# http body (model)
|
|
911
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(manual_trade_form)
|
|
912
|
+
|
|
913
|
+
# return_type
|
|
914
|
+
return_type = opts[:debug_return_type] || 'AccountOrderRecord'
|
|
915
|
+
|
|
916
|
+
# auth_names
|
|
917
|
+
auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
|
|
918
|
+
|
|
919
|
+
new_options = opts.merge(
|
|
920
|
+
:operation => :"TradingApi.place_force_order",
|
|
921
|
+
:header_params => header_params,
|
|
922
|
+
:query_params => query_params,
|
|
923
|
+
:form_params => form_params,
|
|
924
|
+
:body => post_body,
|
|
925
|
+
:auth_names => auth_names,
|
|
926
|
+
:return_type => return_type
|
|
927
|
+
)
|
|
928
|
+
|
|
929
|
+
data, status_code, headers, response = @api_client.call_api(:POST, local_var_path, new_options)
|
|
930
|
+
if @api_client.config.debugging
|
|
931
|
+
@api_client.config.logger.debug "API called: TradingApi#place_force_order\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
932
|
+
end
|
|
933
|
+
return data, status_code, headers, response
|
|
934
|
+
end
|
|
935
|
+
|
|
936
|
+
|
|
937
|
+
# Place a OCO (One Cancels Other) order
|
|
938
|
+
# @param user_id [String]
|
|
939
|
+
# @param user_secret [String]
|
|
940
|
+
# @param first_trade_id [Object] The ID of first trade object obtained from trade/impact endpoint
|
|
941
|
+
# @param second_trade_id [Object] The ID of second trade object obtained from trade/impact endpoint
|
|
942
|
+
# @param body [TradingPlaceOCOOrderRequest]
|
|
943
|
+
# @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
|
|
944
|
+
def place_oco_order(user_id:, user_secret:, first_trade_id: SENTINEL, second_trade_id: SENTINEL, extra: {})
|
|
945
|
+
_body = {}
|
|
946
|
+
_body[:first_trade_id] = first_trade_id if first_trade_id != SENTINEL
|
|
947
|
+
_body[:second_trade_id] = second_trade_id if second_trade_id != SENTINEL
|
|
948
|
+
trading_place_oco_order_request = _body
|
|
949
|
+
|
|
950
|
+
data, _status_code, _headers = place_oco_order_with_http_info_impl(user_id, user_secret, trading_place_oco_order_request, extra)
|
|
951
|
+
data
|
|
952
|
+
end
|
|
953
|
+
|
|
954
|
+
# Place a OCO (One Cancels Other) order
|
|
955
|
+
# @param user_id [String]
|
|
956
|
+
# @param user_secret [String]
|
|
957
|
+
# @param first_trade_id [Object] The ID of first trade object obtained from trade/impact endpoint
|
|
958
|
+
# @param second_trade_id [Object] The ID of second trade object obtained from trade/impact endpoint
|
|
959
|
+
# @param body [TradingPlaceOCOOrderRequest]
|
|
960
|
+
# @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
|
|
961
|
+
def place_oco_order_with_http_info(user_id:, user_secret:, first_trade_id: SENTINEL, second_trade_id: SENTINEL, extra: {})
|
|
962
|
+
_body = {}
|
|
963
|
+
_body[:first_trade_id] = first_trade_id if first_trade_id != SENTINEL
|
|
964
|
+
_body[:second_trade_id] = second_trade_id if second_trade_id != SENTINEL
|
|
965
|
+
trading_place_oco_order_request = _body
|
|
966
|
+
|
|
967
|
+
place_oco_order_with_http_info_impl(user_id, user_secret, trading_place_oco_order_request, extra)
|
|
968
|
+
end
|
|
969
|
+
|
|
970
|
+
# Place a OCO (One Cancels Other) order
|
|
971
|
+
# @param user_id [String]
|
|
972
|
+
# @param user_secret [String]
|
|
973
|
+
# @param trading_place_oco_order_request [TradingPlaceOCOOrderRequest]
|
|
974
|
+
# @param [Hash] opts the optional parameters
|
|
975
|
+
# @return [AccountOrderRecord]
|
|
976
|
+
def place_oco_order_impl(user_id, user_secret, trading_place_oco_order_request, opts = {})
|
|
977
|
+
data, _status_code, _headers = place_oco_order_with_http_info(user_id, user_secret, trading_place_oco_order_request, opts)
|
|
978
|
+
data
|
|
979
|
+
end
|
|
980
|
+
|
|
981
|
+
# Place a OCO (One Cancels Other) order
|
|
982
|
+
# @param user_id [String]
|
|
983
|
+
# @param user_secret [String]
|
|
984
|
+
# @param trading_place_oco_order_request [TradingPlaceOCOOrderRequest]
|
|
985
|
+
# @param [Hash] opts the optional parameters
|
|
986
|
+
# @return [Array<(AccountOrderRecord, Integer, Hash)>] AccountOrderRecord data, response status code and response headers
|
|
987
|
+
def place_oco_order_with_http_info_impl(user_id, user_secret, trading_place_oco_order_request, opts = {})
|
|
988
|
+
if @api_client.config.debugging
|
|
989
|
+
@api_client.config.logger.debug 'Calling API: TradingApi.place_oco_order ...'
|
|
990
|
+
end
|
|
991
|
+
# verify the required parameter 'user_id' is set
|
|
992
|
+
if @api_client.config.client_side_validation && user_id.nil?
|
|
993
|
+
fail ArgumentError, "Missing the required parameter 'user_id' when calling TradingApi.place_oco_order"
|
|
994
|
+
end
|
|
995
|
+
# verify the required parameter 'user_secret' is set
|
|
996
|
+
if @api_client.config.client_side_validation && user_secret.nil?
|
|
997
|
+
fail ArgumentError, "Missing the required parameter 'user_secret' when calling TradingApi.place_oco_order"
|
|
998
|
+
end
|
|
999
|
+
# verify the required parameter 'trading_place_oco_order_request' is set
|
|
1000
|
+
if @api_client.config.client_side_validation && trading_place_oco_order_request.nil?
|
|
1001
|
+
fail ArgumentError, "Missing the required parameter 'trading_place_oco_order_request' when calling TradingApi.place_oco_order"
|
|
1002
|
+
end
|
|
1003
|
+
# resource path
|
|
1004
|
+
local_var_path = '/trade/oco'
|
|
1005
|
+
|
|
1006
|
+
# query parameters
|
|
1007
|
+
query_params = opts[:query_params] || {}
|
|
1008
|
+
query_params[:'userId'] = user_id
|
|
1009
|
+
query_params[:'userSecret'] = user_secret
|
|
1010
|
+
|
|
1011
|
+
# header parameters
|
|
1012
|
+
header_params = opts[:header_params] || {}
|
|
1013
|
+
# HTTP header 'Accept' (if needed)
|
|
1014
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
1015
|
+
# HTTP header 'Content-Type'
|
|
1016
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
1017
|
+
if !content_type.nil?
|
|
1018
|
+
header_params['Content-Type'] = content_type
|
|
1019
|
+
end
|
|
1020
|
+
|
|
1021
|
+
# form parameters
|
|
1022
|
+
form_params = opts[:form_params] || {}
|
|
1023
|
+
|
|
1024
|
+
# http body (model)
|
|
1025
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(trading_place_oco_order_request)
|
|
1026
|
+
|
|
1027
|
+
# return_type
|
|
1028
|
+
return_type = opts[:debug_return_type] || 'AccountOrderRecord'
|
|
1029
|
+
|
|
1030
|
+
# auth_names
|
|
1031
|
+
auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
|
|
1032
|
+
|
|
1033
|
+
new_options = opts.merge(
|
|
1034
|
+
:operation => :"TradingApi.place_oco_order",
|
|
1035
|
+
:header_params => header_params,
|
|
1036
|
+
:query_params => query_params,
|
|
1037
|
+
:form_params => form_params,
|
|
1038
|
+
:body => post_body,
|
|
1039
|
+
:auth_names => auth_names,
|
|
1040
|
+
:return_type => return_type
|
|
1041
|
+
)
|
|
1042
|
+
|
|
1043
|
+
data, status_code, headers, response = @api_client.call_api(:POST, local_var_path, new_options)
|
|
1044
|
+
if @api_client.config.debugging
|
|
1045
|
+
@api_client.config.logger.debug "API called: TradingApi#place_oco_order\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
1046
|
+
end
|
|
1047
|
+
return data, status_code, headers, response
|
|
1048
|
+
end
|
|
1049
|
+
|
|
1050
|
+
|
|
1051
|
+
# Place order
|
|
1052
|
+
# @param trade_id [String] The ID of trade object obtained from trade/impact endpoint
|
|
1053
|
+
# @param user_id [String]
|
|
1054
|
+
# @param user_secret [String]
|
|
1055
|
+
# @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
|
|
1056
|
+
def place_order(trade_id:, user_id:, user_secret:, extra: {})
|
|
1057
|
+
|
|
1058
|
+
data, _status_code, _headers = place_order_with_http_info_impl(trade_id, user_id, user_secret, extra)
|
|
1059
|
+
data
|
|
1060
|
+
end
|
|
1061
|
+
|
|
1062
|
+
# Place order
|
|
1063
|
+
# @param trade_id [String] The ID of trade object obtained from trade/impact endpoint
|
|
1064
|
+
# @param user_id [String]
|
|
1065
|
+
# @param user_secret [String]
|
|
1066
|
+
# @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
|
|
1067
|
+
def place_order_with_http_info(trade_id:, user_id:, user_secret:, extra: {})
|
|
1068
|
+
|
|
1069
|
+
place_order_with_http_info_impl(trade_id, user_id, user_secret, extra)
|
|
1070
|
+
end
|
|
1071
|
+
|
|
1072
|
+
# Place order
|
|
1073
|
+
# @param trade_id [String] The ID of trade object obtained from trade/impact endpoint
|
|
1074
|
+
# @param user_id [String]
|
|
1075
|
+
# @param user_secret [String]
|
|
1076
|
+
# @param [Hash] opts the optional parameters
|
|
1077
|
+
# @return [AccountOrderRecord]
|
|
1078
|
+
def place_order_impl(trade_id, user_id, user_secret, opts = {})
|
|
1079
|
+
data, _status_code, _headers = place_order_with_http_info(trade_id, user_id, user_secret, opts)
|
|
1080
|
+
data
|
|
1081
|
+
end
|
|
1082
|
+
|
|
1083
|
+
# Place order
|
|
1084
|
+
# @param trade_id [String] The ID of trade object obtained from trade/impact endpoint
|
|
1085
|
+
# @param user_id [String]
|
|
1086
|
+
# @param user_secret [String]
|
|
1087
|
+
# @param [Hash] opts the optional parameters
|
|
1088
|
+
# @return [Array<(AccountOrderRecord, Integer, Hash)>] AccountOrderRecord data, response status code and response headers
|
|
1089
|
+
def place_order_with_http_info_impl(trade_id, user_id, user_secret, opts = {})
|
|
1090
|
+
if @api_client.config.debugging
|
|
1091
|
+
@api_client.config.logger.debug 'Calling API: TradingApi.place_order ...'
|
|
1092
|
+
end
|
|
1093
|
+
# verify the required parameter 'trade_id' is set
|
|
1094
|
+
if @api_client.config.client_side_validation && trade_id.nil?
|
|
1095
|
+
fail ArgumentError, "Missing the required parameter 'trade_id' when calling TradingApi.place_order"
|
|
1096
|
+
end
|
|
1097
|
+
# verify the required parameter 'user_id' is set
|
|
1098
|
+
if @api_client.config.client_side_validation && user_id.nil?
|
|
1099
|
+
fail ArgumentError, "Missing the required parameter 'user_id' when calling TradingApi.place_order"
|
|
1100
|
+
end
|
|
1101
|
+
# verify the required parameter 'user_secret' is set
|
|
1102
|
+
if @api_client.config.client_side_validation && user_secret.nil?
|
|
1103
|
+
fail ArgumentError, "Missing the required parameter 'user_secret' when calling TradingApi.place_order"
|
|
1104
|
+
end
|
|
1105
|
+
# resource path
|
|
1106
|
+
local_var_path = '/trade/{tradeId}'.sub('{' + 'tradeId' + '}', CGI.escape(trade_id.to_s))
|
|
1107
|
+
|
|
1108
|
+
# query parameters
|
|
1109
|
+
query_params = opts[:query_params] || {}
|
|
1110
|
+
query_params[:'userId'] = user_id
|
|
1111
|
+
query_params[:'userSecret'] = user_secret
|
|
1112
|
+
|
|
1113
|
+
# header parameters
|
|
1114
|
+
header_params = opts[:header_params] || {}
|
|
1115
|
+
# HTTP header 'Accept' (if needed)
|
|
1116
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
1117
|
+
|
|
1118
|
+
# form parameters
|
|
1119
|
+
form_params = opts[:form_params] || {}
|
|
1120
|
+
|
|
1121
|
+
# http body (model)
|
|
1122
|
+
post_body = opts[:debug_body]
|
|
1123
|
+
|
|
1124
|
+
# return_type
|
|
1125
|
+
return_type = opts[:debug_return_type] || 'AccountOrderRecord'
|
|
1126
|
+
|
|
1127
|
+
# auth_names
|
|
1128
|
+
auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
|
|
1129
|
+
|
|
1130
|
+
new_options = opts.merge(
|
|
1131
|
+
:operation => :"TradingApi.place_order",
|
|
1132
|
+
:header_params => header_params,
|
|
1133
|
+
:query_params => query_params,
|
|
1134
|
+
:form_params => form_params,
|
|
1135
|
+
:body => post_body,
|
|
1136
|
+
:auth_names => auth_names,
|
|
1137
|
+
:return_type => return_type
|
|
1138
|
+
)
|
|
1139
|
+
|
|
1140
|
+
data, status_code, headers, response = @api_client.call_api(:POST, local_var_path, new_options)
|
|
1141
|
+
if @api_client.config.debugging
|
|
1142
|
+
@api_client.config.logger.debug "API called: TradingApi#place_order\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
1143
|
+
end
|
|
1144
|
+
return data, status_code, headers, response
|
|
1145
|
+
end
|
|
1146
|
+
end
|
|
1147
|
+
|
|
1148
|
+
# top-level client access to avoid having the user to insantiate their own API instances
|
|
1149
|
+
Trading = TradingApi::new
|
|
1150
|
+
end
|