public async Task <IEnumerable <CryptocurrencyDto> > GetAvailableCryptocurrencies() { // Make http request var apiQuery = "?fields=id,symbol,name,slug,metrics/market_data/price_usd,profile/general/overview/project_details"; HttpResponseMessage response; try { response = await MessariHelper.makeHttpRequest("/v2/assets" + apiQuery); } catch (MessariException e) { throw e; } // Throw error if response was not successful if (!response.IsSuccessStatusCode) { throw new MessariException("Failed to get successful response from Messari api."); } // Normalize data end return var data = await MessariHelper.GetCryptoListFromResponse(response, availvableCryptoCurrs); return(data); }
public async Task <Envelope <ExchangeDto> > GetExchanges(int pageNumber = 1) { // Make http request var apiQuery = $"?page={pageNumber}"; HttpResponseMessage response; try { response = await MessariHelper.makeHttpRequest("/v1/markets" + apiQuery); } catch (MessariException e) { throw e; } // Throw error if response was not successful if (!response.IsSuccessStatusCode) { throw new MessariException("Failed to get successful response from Messari api."); } // Normalize data end return var data = await MessariHelper.GetExchangesFromReponse(response);//GetDataFromResponse(response); var env = new Envelope <ExchangeDto> { Items = data, PageNumber = pageNumber }; return(env); }
public async Task <float> GetCryptocurrencyPrice(string productIdentifier) { // Make http request var apiQuery = "?fields=market_data/price_usd"; HttpResponseMessage response; try { response = await MessariHelper.makeHttpRequest($"/v1/assets/{productIdentifier}/metrics/market-data" + apiQuery); } catch (MessariException e) { throw e; } // Throw error if response was not successful if (!response.IsSuccessStatusCode) { throw new MessariException("Failed to get successful response from Messari api."); } // Normalize data end return return(await MessariHelper.GetCryptoPriceFromResponse(response)); }