A aplicação KenCrypto consiste na elaboração uma biblioteca que facilita o acesso à [API CoinMarketCap](https://coinmarketcap.com/api/). Esta biblioteca não demanda a informação de nenhuma URL pois suas informações podem ser obtidas diretamente por meio de funções.
Esta biblioteca é um serviço simples de listagem da cotação atual de uma moeda e conversão entre cotações. Esta aplicação utilizou em seu desenvolvimento a linguagem Typescript.
Primeiramente, é preciso criar uma chave de api no [CoinMarketCap](https://pro.coinmarketcap.com/signup). Escolher o plano gratuito que possibilita fazer 300 requests por dia.
Obs: Esta chave só será necessária na hora de instanciar a classe (ou, em outras palavras, "gerar um produto da classe") coinMarketCap e na inserção no header de um API Client.
-
Um editor de código, conhecido também como IDE. Por exemplo, o [Visual Studio Code (VSCode)](https://code.visualstudio.com/).
-
Uma ferramenta cliente de API REST. Por exemplo, o [Insomnia](https://insomnia.rest/download) ou o [Postman](https://www.postman.com/product/rest-client/).
-
E versionar o diretório para receber o clone da aplicação:
git init
1. Fazer o clone do reposítório Kencrypto na sua máquina pelo terminal do computador ou pelo do IDE:
git clone git@gitlab.com:ABKURA/kencrypto.git
Entrar na pasta criada:
cd kenzrypto
Instalar as dependências:
yarn
Obs: caso não tenha o gerenciador de pacotes yarn instalar desta maneira:
npm install --global yarn
E rodar a aplicação:
code .
npm i kencrypto2
Antes de passarmos para o API Client precisamos rodar o CLI
yarn dev
A aplicação rodará com a URL de base https://pro-api.coinmarketcap.com. Adicionar depois deste as rotas e suas terminações, ou endpoints, que veremos a seguir.
Após o CLI rodar de modo bem sucedido com o API Client aberto vamos utilizar as seguintes rotas:
Listagem das cotações pedidas para dólar americano (Método GET): /v1/cryptocurrency/quotes/latest?symbol=${symbols*} (ou https://pro-api.coinmarketcap.com/v1/cryptocurrency/quotes/latest?symbol=${symbols\*})
* Preencher com uma ou mais cotações separadas por vírgulas sem espaços.
Exemplo a ser colocado no body da requisição:
(Requisição feita sem body)
E a resposta esperada:
Status: 200 OK
{
"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"
}
}
}
}
}
Conversão de preços entre cotações (Método GET): /v1/tools/price-conversion?amount=${amount**}&symbol=${symbol**}&convert=${convert**} (ou https://pro-api.coinmarketcap.com/v1/tools/price-conversion?amount=${amount**}&symbol=${symbol**}&convert=${convert**})
** Preencher com, respectivamente, o valor para ser cotado, a cotação original e a cotação de conversão.
Exemplo a ser colocado no body da requisição:
(Requisição feita sem body)
E a resposta esperada:
Status: 200 OK
{
"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"
}
}
}
}
Esta aplicação atende a fins exclusivamente didáticos e não possui qualquer intuito comercial.