Skip to content

MiguelMedeiros/foxbit-api

Repository files navigation

Foxbit API (WebSocket)

NPM NPM js-standard-style Known Vulnerabilities

Pacote NPM de acesso via WebSocket para a API da exchange brasileira Foxbit.

Autor: Miguel Medeiros [Site] [Youtube] [Twitter]
Exchange: [Foxbit]
Documentação da API: [Site da Foxbit] [PDF da Alphapoint]

Gostou do trabalho? Então me pague um café!
Carteira BTC: 1NM76h5SvdhTdmS8dksGwWpHNbnVngWczR


Esse pacote foi desenvolvido para uso próprio.
Portanto, não é um pacote oficial da Foxbit.
USE POR SUA CONTA E RISCO!

Readme Index

Instalação

Você precisa importar o pacote para seu projeto:

npm i foxbit-api --save

Configuração

// importar foxbit api package
const foxbit = require("foxbit-api");

Funções

Segue a lista de funções para se conectar com o WebSocket da API da Foxbit.

Funções Públicas

Não é necessária de credenciais para acessar os métodos públicos.

Connect

Conecta na API via WebSocket.
Link Documentação

// Variáveis das suas credenciais
// Necessárias somente para métodos privados.
let user = "";
let password = "";

// Dispara chamada para conectar com o WebSocket.
foxbit.Connect(user, password);

// Evento disparado quando o WebSocket foi conectado.
foxbit.eventEmitter.on("Connected", res => {
  console.log(res);
});

Logout

Finaliza conexão com o WebSocket.
Link Documentação

// Evento disparado quando o WebSocket foi conectado.
foxbit.eventEmitter.on("Connected", res => {
  // Dispara chamada LogOut.
  foxbit.LogOut();
});

// Evento disparado quando o LogOut foi efetuado.
foxbit.eventEmitter.on("LogOut", res => {
  console.log(res);
});

GetInstrument

Retorna as informações par de moedas por ID.
Link Documentação

// Evento disparado quando o WebSocket foi conectado.
foxbit.eventEmitter.on("Connected", res => {
  // Dispara chamada GetInstrument.
  foxbit.GetInstrument();
});

// Evento disparado quando o GetInstrument foi efetuado.
foxbit.eventEmitter.on("GetInstrument", res => {
  console.log(res);
});

GetInstruments

Retorna um array de pares de moedas cadastrados.
Link Documentação

// Evento disparado quando o WebSocket foi conectado.
foxbit.eventEmitter.on("Connected", res => {
  // Dispara chamada GetInstruments.
  foxbit.GetInstruments();
});

// Evento disparado quando o GetInstruments foi efetuado.
foxbit.eventEmitter.on("GetInstruments", res => {
  console.log(res);
});

GetOpenOrders

Retorna as ordens abertas no livro de ordens.
Link Documentação

// Evento disparado quando o WebSocket foi conectado.
foxbit.eventEmitter.on("Connected", res => {
  // Dispara chamada GetProducts.
  foxbit.GetProducts();
});

// Evento disparado quando o GetProducts foi efetuado.
foxbit.eventEmitter.on("GetProducts", res => {
  console.log(res);
});

GetProduct

Retorna a moeda cadastrado por ID.
Link Documentação

// Evento disparado quando o WebSocket foi conectado.
foxbit.eventEmitter.on("Connected", res => {
  // Dispara chamada GetProduct.
  foxbit.GetProduct(1);
});

// Evento disparado quando o GetProduct foi efetuado.
foxbit.eventEmitter.on("GetProduct", res => {
  console.log(res);
});

GetProducts

Retorna as moedas cadastradas.
Link Documentação

// Evento disparado quando o WebSocket foi conectado.
foxbit.eventEmitter.on("Connected", res => {
  // Dispara chamada GetProducts.
  foxbit.GetProducts();
});

// Evento disparado quando o GetProducts foi efetuado.
foxbit.eventEmitter.on("GetProducts", res => {
  console.log(res);
});

GetL2Snapshot

Retorna um spanshot do Orderbook.
Link Documentação

// Evento disparado quando o WebSocket foi conectado.
foxbit.eventEmitter.on("Connected", res => {
  // Dispara chamada GetL2Snapshot.
  foxbit.GetL2Snapshot(100);
});

// Evento disparado quando o GetL2Snapshot foi efetuado.
foxbit.eventEmitter.on("GetL2Snapshot", res => {
  console.log(res);
});

GetTickerHistory

Retorna um histórico de Tickers.
Link Documentação

// Evento disparado quando o WebSocket foi conectado.
foxbit.eventEmitter.on("Connected", res => {
  //Variável de parametrização
  let lastMinutes = 60;

  // Dispara chamada GetTickerHistory.
  foxbit.GetTickerHistory(lastMinutes);
});

// Evento disparado quando o GetTickerHistory foi efetuado.
foxbit.eventEmitter.on("GetTickerHistory", res => {
  console.log(res);
});

SubscribeTicker

Se inscreve para receber Tickers atualizados.
Link Documentação

// Evento disparado quando o WebSocket foi conectado.
foxbit.eventEmitter.on("Connected", res => {
  // Dispara chamada SubscribeTicker.
  foxbit.SubscribeTicker(1);
});

// Evento disparado quando o SubscribeTicker foi efetuado.
foxbit.eventEmitter.on("SubscribeTicker", res => {
  console.log(res);
});

// Evento disparado quando o Ticker é atualizado.
foxbit.eventEmitter.on("TickerDataUpdateEvent", res => {
  console.log(res);
});

SubscribeTrades

Se inscreve para receber Trades atualizadas.

// Evento disparado quando o WebSocket foi conectado.
foxbit.eventEmitter.on("Connected", res => {
  // Dispara chamada SubscribeTrades.
  foxbit.SubscribeTrades();
});

// Evento disparado quando o SubscribeTrades foi efetuado.
foxbit.eventEmitter.on("SubscribeTrades", res => {
  console.log(res);
});

// Evento disparado quando alguma Trade foi efetuada.
foxbit.eventEmitter.on("TradeDataUpdateEvent", res => {
  console.log(res);
});

UnsubscribeTicker

Se desinscreve do Ticker.
Link Documentação

// Evento disparado quando o WebSocket foi conectado.
foxbit.eventEmitter.on("Connected", res => {
  // Dispara chamada UnsubscribeTicker.
  foxbit.UnsubscribeTicker();
});

// Evento disparado quando o UnsubscribeTicker foi efetuado.
foxbit.eventEmitter.on("UnsubscribeTicker", res => {
  console.log(res);
});

UnsubscribeTrades

Se desinscreve das Trades.

// Evento disparado quando o WebSocket foi conectado.
foxbit.eventEmitter.on("Connected", res => {
  // Dispara chamada UnsubscribeTrades.
  foxbit.UnsubscribeTrades();
});

// Evento disparado quando o UnsubscribeTrades foi efetuado.
foxbit.eventEmitter.on("UnsubscribeTrades", res => {
  console.log(res);
});

Funções Privadas

Ao se conectar é necessário usar credenciais (usuário e senha) para acessar os métodos privados.

GetUserInfo

Retorna os dados das informações de Usuário.
Link Documentação

// Evento disparado quando o WebSocket foi conectado.
foxbit.eventEmitter.on("Connected", res => {
  // Dispara chamada GetUserInfo.
  foxbit.GetUserInfo();
});

// Evento disparado quando o GetUserInfo foi efetuado.
foxbit.eventEmitter.on("GetUserInfo", res => {
  console.log(res);
});

GetUserConfig

Retorna configurações definidas pelo usuário.
Link Documentação

// Evento disparado quando o WebSocket foi conectado
// e recebeu as informações do usuário.
foxbit.eventEmitter.on("Ready", res => {
  // Dispara chamada GetUserConfig.
  foxbit.GetUserConfig();
});

// Evento disparado quando o GetUserConfig foi efetuado.
foxbit.eventEmitter.on("GetUserConfig", res => {
  console.log(res);
});

GetUserPermissions

Retorna permissões do usuário solicitante.
Link Documentação

// Evento disparado quando o WebSocket foi conectado
// e recebeu as informações do usuário.
foxbit.eventEmitter.on("Ready", res => {
  // Dispara chamada GetUserPermissions.
  foxbit.GetUserPermissions();
});

// Evento disparado quando o GetUserPermissions foi efetuado.
foxbit.eventEmitter.on("GetUserPermissions", res => {
  console.log(res);
});

GetOrdersHistory

Retorna um array com o histórico de ordens.

// Evento disparado quando o WebSocket foi conectado
// e recebeu as informações do usuário.
foxbit.eventEmitter.on("Ready", res => {
  // Dispara chamada GetOrdersHistory.
  foxbit.GetOrdersHistory();
});

// Evento disparado quando o GetOrdersHistory foi efetuado.
foxbit.eventEmitter.on("GetOrdersHistory", res => {
  console.log(res);
});

SendOrder

Envia Ordem de Compra/Venda.
Link Documentação

// Evento disparado quando o WebSocket foi conectado
// e recebeu as informações do usuário.
foxbit.eventEmitter.on("Ready", res => {
  // Variáveis de parametrização
  let Side = "Sell"; // Buy, Sell
  // Market, Limit, StopMarket, StopLimit, TralingStopMarket, TrailingStopLimit, BlockTrade
  let OrderType = "Limit";
  let Quantity = 0.0001; // BTC
  let Price = 40000; // BRL

  // Dispara chamada SendOrder.
  foxbit.SendOrder(Side, OrderType, Quantity, Price);
});

// Evento disparado quando o SendOrder foi efetuado.
foxbit.eventEmitter.on("SendOrder", res => {
  console.log(res);
});

CancelAllOrders

Cancela todas as ordens abertas.
Link Documentação

// Evento disparado quando o WebSocket foi conectado
// e recebeu as informações do usuário.
foxbit.eventEmitter.on("Ready", res => {
  // Dispara chamada CancelAllOrders.
  foxbit.CancelAllOrders();
});

// Evento disparado quando o CancelAllOrders foi efetuado.
foxbit.eventEmitter.on("CancelAllOrders", res => {
  console.log(res);
});

CancelOrder

Cancela ordem que ainda não foi executada.
Link Documentação

// Evento disparado quando o WebSocket foi conectado
// e recebeu as informações do usuário.
foxbit.eventEmitter.on("Ready", res => {
  // Variáveis de Parametrização
  let ClientOrderId = 11111;
  let orderId = 9999;

  // Dispara chamada CancelOrder.
  foxbit.CancelOrder(ClientOrderId, orderId);
});

// Evento disparado quando o CancelOrder foi efetuado.
foxbit.eventEmitter.on("CancelOrder", res => {
  console.log(res);
});

GetAccountInfo

Retorna informação sobre a conta do usuário logado.
Link Documentação

// Evento disparado quando o WebSocket foi conectado
// e recebeu as informações do usuário.
foxbit.eventEmitter.on("Ready", res => {
  // Dispara chamada CancelOrder.
  foxbit.GetAccountInfo();
});

// Evento disparado quando o GetAccountInfo foi efetuado.
foxbit.eventEmitter.on("GetAccountInfo", res => {
  console.log(res);
});

GetAccountPositions

Retorna um array com o balanço do usuário.
Link Documentação

// Evento disparado quando o WebSocket foi conectado
// e recebeu as informações do usuário.
foxbit.eventEmitter.on("Ready", res => {
  // Dispara chamada GetAccountPositions.
  foxbit.GetAccountPositions();
});

// Evento disparado quando o GetAccountPositions foi efetuado.
foxbit.eventEmitter.on("GetAccountPositions", res => {
  console.log(res);
});

GetAccountTrades

Retorna um array com o histórico do ordens executadas do usuário.
Link Documentação

// Evento disparado quando o WebSocket foi conectado
// e recebeu as informações do usuário.
foxbit.eventEmitter.on("Ready", res => {
  // Dispara chamada GetAccountTrades.
  foxbit.GetAccountTrades();
});

// Evento disparado quando o GetAccountTrades foi efetuado.
foxbit.eventEmitter.on("GetAccountTrades", res => {
  console.log(res);
});

GetAccountTransactions

Retorna um array com o histórico de transações abertas do usuário.
Link Documentação

// Evento disparado quando o WebSocket foi conectado
// e recebeu as informações do usuário.
foxbit.eventEmitter.on("Ready", res => {
  // Dispara chamada GetAccountTransactions.
  foxbit.GetAccountTransactions();
});

// Evento disparado quando o GetAccountTransactions foi efetuado.
foxbit.eventEmitter.on("GetAccountTransactions", res => {
  console.log(res);
});

Contribua com Código

Ainda faltam algumas chamadas para completar a API como um todo. Vou adorar se você quiser contribuir para deixar esse pacote mais completo! Sinta-se à vontade em fazer um 'pull request'! Afinal esse repositório é aberto! <3

LICENSE MIT

About

Pacote NPM para API da exchange Foxbit.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published