1.0.0 • Published 3 years ago

entrega_4 v1.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
3 years ago

API Crypto

A api tem como listar as informações a respeito das crypto-moedas disponiveis e suas respectivas informações

Qual a versão da aplicação ?

A versão em que esta aplicação foi criado foi esta alem da license padrão:

"version": 1.0.0,
"license": "MIT"
}

Como Rodar ?

Primeiro para instalar todas as dependencias necessarias para a aplicação rode este comando no terminal

yarn install  ou somente yarn

Feito isso as seguintes dependecias e suas respectivas

Versões serão instaladas:

{
"nodemon": 2.0.15,
"ts-node": 10.4.0,
"typescript": 4.5.4,
"@types/node": 17.0.10,
"axios": 0.25.0,
"dotenv": 14.2.0,
"sucrase": 3.20.3
}

E por ultimo rode este comando no terminal e a aplicação ja estara pronta para ser utilizada:

yarn dev

Rota cryptocurrency

GET/v1/cryptocurrency/quotes/latest?symbol=`

Nesta rota você podera listar as informações da crypto moeda da sua escolha

Function Quotes

Que quando chamada espera receber um Array com uma string de crypto-moedas

Exemplo

["BTC", "ETH"]

Tendo sido feita uma requisição com sucesso a resposta esperada seria essa

Response:

{
  "data": {
    "BTC": {
      "id": 1,
      "name": "Bitcoin",
      "symbol": "BTC",
      "slug": "bitcoin",
      "date_added": "2013-04-28T00:00:00.000Z",
      "last_updated": "2021-08-26T17:44:11.000Z",
      "quote": {
        "USD": {
          "price": 46963.215165006586,
          "last_updated": "2021-08-26T17:44:11.000Z"
        }
      }
    },
    "ETH": {
      "id": 1027,
      "name": "Etherium",
      "symbol": "ETH",
      "slug": "Etherium",
      "date_added": "2013-04-28T00:00:00.000Z",
      "last_updated": "2021-08-26T17:44:11.000Z",
      "quote": {
        "USD": {
          "price": 46963.215165006586,
          "last_updated": "2021-08-26T17:44:11.000Z"
        }
      }
    }
  }
}

Possible errors

Invalid token or Missing Token

Se por ventura você passar um token invalido ou caso não seja passado nenhum token na hora de instanciar a Biblioteca a respostas esperadas com status code 401 serão estás :

Response:

{ "statusCode": 401, "error": "This API Key is invalid." }

or

{ "statusCode": 401, "error": "API key missing." }

Invalid Parameters

Este erro pode ser causado caso algum argumento invalido seja passado para a requisição sera retornado uma resposta de code status 400:

Exemplo:

Ao passar dentro do Array uma string de crypto moeda que não está presente na API

Classe.quotes(["BBB"])

Response:

{ "statusCode": 400, "error": "Invalid value for symbol: BBB" }

Too many requests

Caso sejam feitas mais de 300 requisições por dia a API retornara com status code 429 e a seguinte mensagem:

Response:

{
  "statusCode": 400,
  "error": "You've exceeded your API Key's HTTP request rate limit. Rate limits reset every minute."
}

Rota Convert

GET/v1/tools/price-conversion?amount=&symbol=&convert=`

Nesta rota vocẽ podera converter uma crypto moeda de um determinado valor para outra Crypto-moeda com valor correspondente

Function Conversion

Uma vez instanciada a classe essa função espera receber parametros como uma string de uma crypto-moeda ,o valor e um array com uma string da cryto-moeda na qual você deseja converter

Exemplo

Class.conversion("BTC",000.5,["ETH"]);

tendo feito uma requisição com sucesso a resposta esperada é essa:

Response:

{
    "data": {
        "id": 1,
        "symbol": "BTC",
        "name": "Bitcoin",
        "amount": 25.67,
        "last_updated": "2021-08-26T18:30:17.000Z",
        "quote": {
            "ETH": {
                "price": 386.5352847529818,
                "last_updated": "2021-08-26T18:30:16.000Z"
            }
        }
    }

Possible errors

Invalid token or Missing Token

Se por ventura você passar um token invalido ou caso não seja passado nenhum token na hora de instanciar a Biblioteca a respostas esperadas com status code 401 serão estás :

Response:

{ "statusCode": 401, "error": "This API Key is invalid." }

or

{ "statusCode": 401, "error": "API key missing." }

Invalid Parameters

Este erro pode ser causado caso algum argumento invalido seja passado para a requisição sera retornado uma resposta de code status 400:

Exemplo:

Ao passar dentro do Array uma string de crypto moeda que não está presente na API

Classe.conversion("BTC", 10.47, ["BBB"])

Response:

{ "statusCode": 400, "error": "Invalid value for symbol: BBB" }

Too many requests

Caso sejam feitas mais de 300 requisições por dia a API retornara com status code 429 e a seguinte mensagem:

Response:

{
  "statusCode": 429,
  "error": "You've exceeded your API Key's HTTP request rate limit. Rate limits reset every minute."
}