Ejemplo n.º 1
0
        public string AuthenticateUser(Login login, bool mfa)
        {
            string accessToken = string.Empty;

            using (HttpClient client = new HttpClient()) {
                client.BaseAddress = new Uri("https://api.robinhood.com/");
                var parameters = new Dictionary <string, string>
                {
                    { "grant_type", "password" },
                    { "client_id", "c82SH0WZOsabOXGP2sxqcj34FxkvfnWRZBKlBjFS" },
                    { "username", login.username },
                    { "password", login.password }
                };
                var toPost   = new FormUrlEncodedContent(parameters);
                var response = client.PostAsync("oauth2/token/", toPost).Result;
                var content  = response.Content.ReadAsStringAsync().Result;
                if (!mfa)
                {
                    accessToken        = JsonParse.ParseAccessToken(content);
                    login.refreshToken = JsonParse.ParseRefreshToken(content);
                    SaveAccessTokenAndTimeStamp(accessToken, login.refreshToken);
                }
            }
            return(accessToken);
        }
Ejemplo n.º 2
0
        public InstrumentData InstrumentsBySymbol(string symbol)
        {
            var find = new Dictionary <string, string>()
            {
                { "query", symbol }
            };

            return(JsonParse.ParseInstrumentBySymbol(RHttpClient.RHttpClientGetParams("/instruments/", find)));
        }
Ejemplo n.º 3
0
        public InstrumentData[] InstrumentsByKeyWord(string keyword)
        {
            var find = new Dictionary <string, string>()
            {
                { "query", keyword }
            };

            return(JsonParse.ParseInstrument(RHttpClient.RHttpClientGetParams("/instruments/", find)));
        }
Ejemplo n.º 4
0
        public Movers[] GetMoversDown()
        {
            Dictionary <string, string> movers = new Dictionary <string, string>
            {
                { "direction", "down" }
            };

            return(JsonParse.ParseMovers(RHttpClient.RHttpClientGetParams("/midlands/movers/sp500/", movers)));
        }
Ejemplo n.º 5
0
        public QuoteData GatherData(string symbol)
        {
            string content = string.Empty;

            using (HttpClient client = new HttpClient())
            {
                client.BaseAddress = new Uri(Endpoints.baseurl);
                content            = client.GetAsync("/quotes/" + symbol + "/").Result.Content.ReadAsStringAsync().Result;
            }
            return(JsonParse.ParseQuote(content));
        }
Ejemplo n.º 6
0
        public FundamentalData[] GatherMultipleFundamentalBySymbol(string[] symbols)
        {
            string[]          content         = new string[symbols.Length];
            FundamentalData[] fundamentalData = new FundamentalData[symbols.Length];
            for (int i = 0; i < symbols.Length; i++)
            {
                content[i]         = RHttpClient.RHttpClientGet("/fundamentals/" + symbols[i] + "/");
                fundamentalData[i] = JsonParse.ParseFundament(content[i]);
            }

            return(fundamentalData);
        }
Ejemplo n.º 7
0
        public QuoteData[] GatherMultipleData(string[] symbols)
        {
            string[]    data      = new string[symbols.Length];
            QuoteData[] quoteData = new QuoteData[data.Length];

            using (HttpClient client = new HttpClient())
            {
                client.BaseAddress = new Uri(Endpoints.baseurl);

                for (int i = 0; i < symbols.Length; i++)
                {
                    data[i] = client.GetAsync("/quotes/" + symbols[i] + "/").Result.Content.ReadAsStringAsync().Result;
                }
            }

            for (int i = 0; i < data.Length; i++)
            {
                quoteData[i] = JsonParse.ParseQuote(data[i]);
            }

            return(quoteData);
        }
Ejemplo n.º 8
0
 public string CheckRefreshToken(Login login)
 {
     //If expired, we are gonna use refresh token to get a new access token
     if (DateTimeOffset.Now.ToUnixTimeSeconds() > login.TokenExpired)
     {
         using (HttpClient client = new HttpClient())
         {
             client.BaseAddress = new Uri("https://api.robinhood.com/");
             var parameters = new Dictionary <string, string>
             {
                 { "grant_type", "refresh_token" },
                 { "client_id", "c82SH0WZOsabOXGP2sxqcj34FxkvfnWRZBKlBjFS" },
                 { "refresh_token", login.refreshToken }
             };
             var toPost  = new FormUrlEncodedContent(parameters);
             var content = client.PostAsync("oauth2/token/", toPost).Result.Content.ReadAsStringAsync().Result;
             login.AccessToken  = JsonParse.ParseAccessToken(content);
             login.refreshToken = JsonParse.ParseRefreshToken(content);
         }
         SaveAccessTokenAndTimeStamp(login.AccessToken, login.refreshToken);
         return("New Token Aquired");
     }
     return("Token not expired");
 }
Ejemplo n.º 9
0
 public InvestmentProfileData GatherInvestmentProfile(string accessToken)
 {
     return(JsonParse.ParseInvestmentProfile(RHttpClient.RHttpClientGetWithAuthenticationHeader("/user/investment_profile/", accessToken)));
 }
Ejemplo n.º 10
0
 public MarginBalances GatherMarginBalances(string accessToken)
 {
     return(JsonParse.ParseMarginBalances(RHttpClient.RHttpClientGetWithAuthenticationHeader("/accounts/", accessToken)));
 }
Ejemplo n.º 11
0
 public Employment GatherEmploymentData(string accessToken)
 {
     return(JsonParse.ParseEmployment(RHttpClient.RHttpClientGetWithAuthenticationHeader("/user/employment/", accessToken)));
 }
Ejemplo n.º 12
0
 public AccountAffiliationInfo GatherAccountHolderAffliationInfo(string accessToken)
 {
     return(JsonParse.ParseAccountAffiliationInfo(RHttpClient.RHttpClientGetWithAuthenticationHeader("/user/additional_info/", accessToken)));
 }
Ejemplo n.º 13
0
 public InstrumentData InstrumentsByID(string id)
 {
     return(JsonParse.ParseInstrumentByID(RHttpClient.RHttpClientGet("/instruments/" + id + "/")));
 }
Ejemplo n.º 14
0
 public Portfolio GatherAccountPortfolio(string accessToken)
 {
     return(JsonParse.ParseAccountPortfolio(RHttpClient.RHttpClientGetWithAuthenticationHeader("/portfolios/", accessToken)));
 }
Ejemplo n.º 15
0
 //Is not available on server
 public string[] Get10MostPopular()
 {
     return(JsonParse.ParsePopular(RHttpClient.RHttpClientGet("/midlands/tags/tag/10-most-popular/"), 10));
 }
Ejemplo n.º 16
0
 public SplitData GatherSplitHistoryForInstrumentSpecified(string splitId)
 {
     return(JsonParse.ParseSplitHistorySingle(RHttpClient.RHttpClientGet(splitId.Replace("https://api.robinhood.com", ""))));
 }
Ejemplo n.º 17
0
 public SplitData[] GatherSplitHistoryForInstrument(string id)
 {
     return(JsonParse.ParseSplitHistory(RHttpClient.RHttpClientGet("/instruments/" + id + "/splits/")));
 }
Ejemplo n.º 18
0
 //For the next value
 public InstrumentData[] AllInstruments(string next)
 {
     return(JsonParse.ParseAllInstruments(RHttpClient.RHttpClientGet(next)));
 }
Ejemplo n.º 19
0
 public InstrumentData[] AllInstruments()
 {
     return(JsonParse.ParseAllInstruments(RHttpClient.RHttpClientGet("/instruments/")));
 }
Ejemplo n.º 20
0
 public InstrumentData InstrumentsByIDTrim(string id)
 {
     return(JsonParse.ParseInstrumentByID(RHttpClient.RHttpClientGet("/instruments/" + id.Replace("https://api.robinhood.com/instruments/", ""))));
 }
Ejemplo n.º 21
0
 public AccountPosition[] GatherAccountPositions(string accessToken)
 {
     return(JsonParse.ParseAccountPosition(RHttpClient.RHttpClientGetWithAuthenticationHeader("/positions/", accessToken)));
 }
Ejemplo n.º 22
0
 public Dividends[] GatherAccountDividends(string accessToken)
 {
     return(JsonParse.ParseAccountDividends(RHttpClient.RHttpClientGetWithAuthenticationHeader("/dividends/", accessToken)));
 }
Ejemplo n.º 23
0
 public AccountListKeys GatherListofAccounts(string accessToken)
 {
     return(JsonParse.ParseListAccounts(RHttpClient.RHttpClientGetWithAuthenticationHeader("/accounts/", accessToken)));
 }
Ejemplo n.º 24
0
 public AccountBasicInfo GatherBasicInfo(string accessToken)
 {
     return(JsonParse.ParseAccountBasicInfo(RHttpClient.RHttpClientGetWithAuthenticationHeader("/user/basic_info/", accessToken)));
 }
Ejemplo n.º 25
0
 public AccountID GatherAccountID(string accessToken)
 {
     return(JsonParse.ParseAccountID(RHttpClient.RHttpClientGetWithAuthenticationHeader("/user/id/", accessToken)));
 }
Ejemplo n.º 26
0
 public SplitData GatherSplitHistoryForInstrumentSpecified(string id, string splitId)
 {
     return(JsonParse.ParseSplitHistorySingle(RHttpClient.RHttpClientGet("/instruments/" + id + "/splits/" + splitId + '/')));
 }
Ejemplo n.º 27
0
 public QuoteHistory[] GatherHistoryQuotes(string symbol, Dictionary <string, string> parameters)
 {
     return(JsonParse.ParseQuoteHistory(RHttpClient.RHttpClientGetParams("/quotes/historicals/" + symbol + "/", parameters)));
 }