/// <summary> /// Creates an order based on the provided request /// </summary> /// <param name="request">The <see cref="CreateOrderRequest" /> that is used to define the order</param> /// <returns> /// This method can return <see cref="AcknowledgeCreateOrderResponse" />, <see cref="FullCreateOrderResponse" /> /// or <see cref="ResultCreateOrderResponse" /> based on the provided NewOrderResponseType enum in the request. /// </returns> public async Task <BaseCreateOrderResponse> CreateOrderAsync(CreateOrderRequest request) { Guard.AgainstNull(request.Symbol); Guard.AgainstNull(request.Side); Guard.AgainstNull(request.Type); Guard.AgainstNull(request.Quantity); switch (request.NewOrderResponseType) { case NewOrderResponseType.Acknowledge: return(await _apiProcessor.ProcessPostRequest <AcknowledgeCreateOrderResponse>( Endpoints.Account.NewOrder(request))); case NewOrderResponseType.Full: return(await _apiProcessor.ProcessPostRequest <FullCreateOrderResponse>( Endpoints.Account.NewOrder(request))); default: return(await _apiProcessor.ProcessPostRequest <ResultCreateOrderResponse>( Endpoints.Account.NewOrder(request))); } }
/// <summary> /// Starts a user data stream /// </summary> /// /// <returns><see cref="UserDataStreamResponse"/></returns> public async Task <UserDataStreamResponse> StartUserDataStream() { return(await _apiProcessor.ProcessPostRequest <UserDataStreamResponse>(Endpoints.UserStream.StartUserDataStream)); }