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!
- Instalação
- Configuração
- Funções
- Funções Públicas
- Connect: Conecta na API via WebSocket.
- LogOut: Finaliza conexão com o WebSocket.
- GetInstrument: Retorna as informações par de moedas por ID.
- GetInstruments: Retorna um array de pares de moedas cadastrados.
- GetOpenOrders: Retorna as ordens abertas no livro de ordens.
- GetProduct: Retorna a moeda cadastrado por ID.
- GetProducts: Retorna as moedas cadastradas.
- GetL2Snapshot: Retorna um spanshot do Orderbook.
- GetTickerHistory: Retorna um histórico de Tickers.
- SubscribeTicker: Se inscreve para receber Tickers atualizados.
- SubscribeTrades: Se inscreve para receber Trades atualizadas.
- UnsubscribeTicker: Se desinscreve do Ticker.
- UnsubscribeTrades: Se desinscreve das Trades.
- Funções Privadas
- GetUserConfig: Retorna configurações definidas pelo usuário.
- GetUserInfo: Retorna os dados das informações de Usuário.
- GetUserPermissions: Retorna permissões do usuário solicitante.
- GetOrdersHistory: Retorna um array com o histórico de ordens.
- SendOrder: Envia Ordem de Compra/Venda.
- CancelAllOrders: Cancela todas as ordens abertas.
- CancelOrder: Cancela ordem que ainda não foi executada.
- GetAccountInfo: Retorna informação sobre a conta do usuário logado.
- GetAccountPositions: Retorna um array com o balanço do usuário.
- GetAccountTrades: Retorna um array com o histórico do ordens executadas do usuário.
- GetAccountTransactions: Retorna um array com o histórico de transações abertas do usuário.
- Funções Públicas
- Contribua com Código
- License
Você precisa importar o pacote para seu projeto:
npm i foxbit-api --save
// importar foxbit api package
const foxbit = require("foxbit-api");
Segue a lista de funções para se conectar com o WebSocket da API da Foxbit.
Não é necessária de credenciais para acessar os métodos públicos.
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);
});
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);
});
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);
});
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);
});
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);
});
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);
});
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);
});
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);
});
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);
});
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);
});
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);
});
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);
});
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);
});
Ao se conectar é necessário usar credenciais (usuário e senha) para acessar os métodos privados.
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);
});
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);
});
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);
});
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);
});
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);
});
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);
});
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);
});
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);
});
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);
});
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);
});
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);
});
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