Code Monkey home page Code Monkey logo

bitvalor-api-node-rest's Introduction

BitValor API

API RESTful que consome dados da Bitvalor API.

Pré-requisitos

  • NodeJS -> 6.x ou superior
  • npm -> 3.x ou superior (vem com o NodeJS)

Instalando dependências

  • No diretório onde encontra-se o arquivo descritor de dependências (package.json), executar o comando:
$ npm install

Executando o projeto

  • No diretório onde encontra-se o arquivo descritor de dependências (package.json), executar o comando:
$ npm start
  • A aplicação executa nos host e port definidos em /config/default.json (atualmente localhost:3030)

Testando o projeto

  • No diretório onde encontra-se o arquivo descritor de dependências (package.json), executar o comando:
 $ npm test

Requisições

  • Todas as requisições utilizam somente o verbo GET.
  • Demais requisições são rejeitadas com erro 405 (Method Not Allowed).
  • Os parâmetros são inseridos na forma de querystring
Ex: /book=bids&price[$between]=[15000,18000]&exchange=loc
  • Se nenhum parâmetro é passado, a API retorna todos os dados da última requisição.

Endpoints

  • Order Book: /order-book

Parâmetros

  • "book" (String): Tipo de ordem (asks ou bids)
Ex: /order-book?book=bids
  • "exchange" (String): Nome ou a sigla de alguma das seguintes exchanges:
  • ARN: Arena Bitcoin
  • B2U: BitcoinToYou
  • BAS: Basebit
  • BIV: Bitinvest
  • BSQ: Bitsquare
  • FLW: flowBTC
  • FOX: FoxBit
  • LOC: LocalBitcoins
  • MBT: Mercado Bitcoin
  • NEG: Negocie Coins
  • PAX: Paxful

** Os nomes das exchanges que são compostos devem ser separados por _ (underscore) na querystring.

Ex: 
/order-book?exchange=negocie_coins
/order-book?exchange=loc
  • "price" (Array): Intervalo de preços mínimo e máximo, respectivamente, que é passado por um array de duas posições marcados com a flag $between.
Ex: /order-book?price[$between]=[20000,21000]
  • "volume" (Array): Intervalo de volumes mínimo e máximo, respectivamente, que é passado por um array de duas posições marcados com a flag $between.
Ex: /order-book?volume[$between]=[0.3,0.6]

** Nos casos dos parâmetros "price" e "volume", caso não deseje estabelecer limites, basta colocar o valor 'null' na posição correspondente do array. Por exemplo, a requisição

Ex: /order-book?volume[$between]=[0.3,null]

retornará todos os volumes maiores que 0.3.

** Se ambos os parâmetros forem 'null', então a API retorna todos os dados.

Cache

  • A API faz cache das requisições utilizando o NeDB.
  • Os dados persistidos ficam no diretório /data do projeto.
  • Esse cache é necessário para que não exceda a quantidade de requisições permitidas.
  • Se a última requisição foi feita há menos de 1 minuto, a resposta será a de cache, sendo marcada com a flag cache=true na resposta. O inverso também é verdadeiro.

bitvalor-api-node-rest's People

Contributors

lfernando-silva avatar

Watchers

 avatar  avatar

bitvalor-api-node-rest's Issues

Configurações iniciais do Git

Realizar as configurações iniciais do git:

  • Configuração do SSH
  • README, ChangeLog e .gitignore
  • Criação da branch develop

Realizar consulta de order books na API BitValor

A API deve ter como fonte de dados a API de terceiro do BitValor.

O usuário deve conseguri busca no livro de ofertas (ORDER BOOK) filtrando pelos seguintes critérios:

  • Tipo de ordem: bids ou asks;
  • Nome da exchange;
  • Valor unitário (valor a partir de);
  • Valor unitário (valor até);
  • Quantidade (quantidade a partir de);
  • Quantidade (quantidade até);

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.