
2.1.0

A API de Dados da Bitnuvem é uma API pública que proporciona acesso em tempo real a informações detalhadas sobre cada ativo disponível em nossa corretora. Com esta API, os desenvolvedores podem integrar dados como o livro de ofertas, cotações e taxas aplicadas pela rede diretamente em suas aplicações.
A API de Negociação da Bitnuvem é projetada para realizar operações em sua conta, permitindo que consulte seu portfólio, gerencie suas ordens, efetue saques e realize envios de criptoativos, entre outras funcionalidades. Ela é feita para integrar e automatizar processos de negociação e gestão de ativos em suas aplicações.
As APIs de Dados e de Negociação da Bitnuvem têm um limite de 60 requisições por minuto. Se esse limite for ultrapassado, o sistema retornará uma mensagem padrão indicando que o limite de requisições foi excedido.
| Símbolo / Ticker | Descrição | Decimais |
|---|---|---|
| BTC | Bitcoin | 8 |
| BRL | Real | 2 |
| ETH | Ethereum | 8 |
| USDT | Tether | 3 |
| BNB | BNB | 8 |
| PAXG | PAX Gold | 8 |
| SOL | Solana | 6 |
| TRX | TRON | 4 |
| Símbolo | Nome | Ativos compatíveis |
|---|---|---|
| Bitcoin Network | ||
| BTC | Bitcoin Network | BTC |
| ETH | Ethereum Mainnet | ETH, USDT e PAXG |
| BSC | BNB Smart Chain | ETH, USDT e BNB |
| SOL | Solana Network | SOL |
| TRX | TRON Mainnet | TRX e USDT |
| Símbolo / Ticker | Descrição |
|---|---|
| BTCBRL | Bitcoin/Real |
| ETHBRL | Ethereum/Real |
| USDTBRL | Tether/Real |
| BNBBRL | BNB/Real |
| PAXGBRL | PAX Gold/Real |
| SOLBRL | Solana/Real |
| TRXBRL | TRON/Real |
| Atributo | Descrição |
|---|---|
| codeint | 200 quando requisição for completada |
| dataarray | Se existir, retorno com as informações da requisição |
| Atributo | Descrição |
|---|---|
| codeint | Código do erro, sempre será um número negativo |
| msgstring | Se existir, texto descritivo sobre erro |
| Código | Descrição |
|---|---|
| 200 | Requisição completada sem erros |
| -1002 | Símbolo / ticker inválido |
| -1001 | Ocorreu um erro na requisição |
| -1003 | Registro inválido, não existe ou expirado |
| -1004 | Excedido número de requisições permitidas |
| -2001 | Timestamp incorreto |
| -2002 | Problemas na autenticação da chave |
| -2003 | Operação não suportada, sem permissão |
| -2004 | Essa conta não pode continuar com a requisição (com restrição) |
| -3000 | Erro desconhecido |
| -3001 | Serviço indiponível no momento |
Para uso da API de Dados deve usar a URL abaixo, alterando os campos em destaque com os parametros desejados:
https://bitnuvem.com/api/v2/ENDPOINT
/api/v2/ticker/{symbol}
Método para obter informação de melhor oferta de venda e compra atual, último valor negociado, maior valor negociado nas últimas 24 horas, menor valor negociado nas últimas 24 horas, volume total negociado nas últimas 24 horas.
| Atributo | Descrição |
|---|---|
| symbolstring | Símbolo do par que deseja consultar |
| Atributo | Descrição |
|---|---|
| lastfloat | Último valor negociado |
| volfloat | Volume total negociado nas últimas 24 horas |
| variationfloat | Variação nas últimas 24 horas |
| highfloat | Valor mais alto negociado nas últimas 24 horas |
| lowfloat | Valor mais baixo negociado nas últimas 24 horas |
| buyfloat | Melhor oferta de compra atual |
| sellfloat | Melhor oferta de venda atual |
| dateint | Data de última atualização do ticker |
/api/v2/orderbook/{symbol}
Método para obter informações das ofertas de compra e venda atuais no livro de oferta. Usamos bids para as ofertas de compra e asks para as ofertas de vendas.
| Atributo | Descrição |
|---|---|
| symbolstring | Símbolo do par que deseja consultar |
| Atributo | Descrição |
|---|---|
| bidsarray | Lista de ofertas de compras |
| bids[].[0]array | Valor unitário da oferta |
| bids[].[1]array | Quantia total da oferta |
| asksarray | Lista de ofertas de compras |
| asks[].[0]array | Valor unitário da oferta |
| asks[].[1]array | Quantia total da oferta |
/api/v2/trades/{symbol}
Método para obter informações das transações de compra e venda realizadas em um intervalo de datas.
A requisição retorna um array de objetos e tem um limite de 1000 registros.
| Atributo | Descrição |
|---|---|
| symbolstring | Símbolo do par que deseja consultar |
| Atributo | Descrição |
|---|---|
| fromint | Data inicial da pesquisa em formato Unix Timestamp |
| toint | Opcional Data final da pesquisa em formato Unix Timestamp |
| Atributo | Descrição |
|---|---|
| dateint | Data da negociação em formato Unix Timestamp |
| amountfloat | Quantidade negociada |
| pricefloat | Valor unitário da negociação |
| typestring | Tipo da negociação: buy para compra ou sell para venda |
| tidint | Identificador da negociação no sistema |
/api/v2/fee/{currency}/{blockchain}
A consulta retornará as opções de envio disponíveis do criptoativo.
| Atributo | Descrição |
|---|---|
| currencystring | Criptoativo que deseja consultar |
| blockchainstring | Blockchain que deseja consultar |
| Atributo | Descrição |
|---|---|
| lowfloat | Valor de taxa de envio baixa |
| regularfloat | Valor de taxa de envio regular |
| priorityfloat | Valor de taxa de envio prioritário |
Para utilizar a este recurso é necessário estar com o cadastro completo e solicitar a criação de uma Chave API na sua conta Bitnuvem.
Quando criar uma nova chave, salve a chave secreta em um local seguro, ela é necessária para realizar as requisições.
Para usar a API de Negociações deve enviar a estrutura padrão de dados para a URL abaixo:
https://bitnuvem.com/api/v2/ENDPOINT
Para qualquer requisição da API de negociação é necessário encaminhar ao endpoint uma estrutura padrão com as informações da sua chave, parâmetros da requisição e assinatura.
No campo request_body sempre vai precisar encaminhar o timestamp atual em segundos junto com os demais parâmetros, se necessário.
| Atributo | Descrição |
|---|---|
| api_keystring | Chave da API disponível no painel do usuário |
| request_bodystring | querystring do timestamp atual em segundos + parâmetros da sua requisição |
| signaturestring | request_body criptografada em HMAC SHA-256, sendo que a chave é a "Chave secreta" fornecido no momenta da criação da chave |
const crypto = require('crypto');
const axios = require('axios');
const action = 'withdraw';
const api_key = 'SUA_API_KEY_AQUI';
const api_secret = 'SEGREDO_DA_API_KEY_AQUI';
const request_body = {
timestamp: Math.floor(Date.now() / 1000),
value: 120.20,
bank_id: 231
// ... outros parâmetros se necessário
};
const queryString = new URLSearchParams(request_body).toString();
const signature = crypto.createHmac('sha256', api_secret).update(queryString).digest('hex');
const api_post = {
api_key: api_key,
request_body: queryString,
signature: signature
};
axios.post(`https://bitnuvem.com/tapi/v2/${action}`, api_post)
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});import time
import hmac
import hashlib
import requests
action = 'withdraw'
api_key = 'SUA_API_KEY_AQUI'
api_secret = 'SEGREDO_DA_API_KEY_AQUI'
request_body = {
'timestamp': int(time.time()),
'value': 120.20,
'bank_id': 231
# ... outros parâmetros se necessário
}
query_string = '&'.join([f"{key}={value}" for key, value in request_body.items()])
signature = hmac.new(api_secret.encode(), query_string.encode(), hashlib.sha256).hexdigest()
api_post = {
'api_key': api_key,
'request_body': query_string,
'signature': signature
}
response = requests.post(f'https://bitnuvem.com/tapi/v2/{action}', data=api_post)
print(response.text)$action = 'withdraw';
$api_key = 'SUA_API_KEY_AQUI';
$api_secret = 'SEGREDO_DA_API_KEY_AQUI';
$request_body['timestamp'] = time();
$request_body['value'] = 120.20;
$request_body['bank_id'] = 231;
// ... outros parâmetros se necessário
// conversão da variável em formato QueryString ( timestamp=123456789&value=120.20&bank_id=231 )
$request_body = http_build_query($request_body);
$api_post['api_key'] = $api_key;
$api_post['request_body'] = $request_body;
$api_post['signature'] = hash_hmac('sha256', $request_body, $api_secret);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://bitnuvem.com/tapi/v2/'.$action);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $api_post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);/tapi/v2/balance
Essa requisição necessita de autenticação. Clique aqui para mais detalhes
| Atributo | Descrição |
|---|---|
| currencystring | Criptoativo que deseja enviar |
| Atributo | Descrição |
|---|---|
| availablefloat | Saldo disponível |
| in_usefloat | Valores em uso (ordem em aberto e/ou saque pendente) |
| totalfloat | Saldo total em conta |
{
"code": 200,
"data": {
"available": 300,
"in_use": 20,
"total": 320
}
}/tapi/v2/account_bank_list
Essa requisição necessita de autenticação. Clique aqui para mais detalhes
Método para listar as contas bancárias cadastradas na Bitnuvem.
A requisição retorna um array de objetos com as informações bancárias.
Esse método não possui parâmetros.
| Atributo | Descrição |
|---|---|
| idint | Identificador da conta bancária na corretora |
| bankstring | Banco que pertence a conta |
| agencystring | Agência da conta bancária |
| agency_digitstring | Digito da agência da conta bancária (somente para alguns bancos) |
| accountstring | Número da conta bancária |
| account_digitstring | Digito da conta bancária |
| account_typestring | Corrente |
/tapi/v2/withdraw
Essa requisição necessita de autenticação. Clique aqui para mais detalhes
| Atributo | Descrição |
|---|---|
| valuefloat | Valor em reais desejado para saque |
| bank_idint | Identificador da conta bancária na corretora |
Código de retorno padrão.
/tapi/v2/order_new
Essa requisição necessita de autenticação. Clique aqui para mais detalhes
Escolha abaixo a modalidade de ordem para acessar os parâmetros necessários.
| Atributo | Descrição |
|---|---|
| modestring | Para ordens limite, preencher limit |
| symbolstring | Símbolo do par que deseja negociar |
| typestring | Tipo da ordem: buy para comprar ou sell para vender |
| amountfloat | Quantidade que deseja negociar |
| pricefloat | Preço unitário que deseja negociar |
| price_stopfloat | Opcional Preço unitário para gatilho STOP |
| price_ocofloat | Opcional Preço unitário para gatilho OCO |
| Atributo | Descrição |
|---|---|
| modestring | Para ordens a mercado, preencher market |
| symbolstring | Símbolo do par que deseja negociar |
| typestring | Tipo da ordem: buy para comprar ou sell para vender |
| amountfloat | Quantidade que deseja negociar (somente para venda) |
| totalfloat | Total em reais que deseja comprar do ativo (somente para compra) |
| price_stopfloat | Preço unitário para gatilho STOP |
| Atributo | Descrição |
|---|---|
| modestring | Para ordens escalonada, preencher scale |
| symbolstring | Símbolo do par que deseja negociar |
| typestring | Tipo da ordem: buy para comprar ou sell para vender |
| amountfloat | Quantidade que deseja negociar (somente para venda) |
| totalfloat | Preço unitário que deseja negociar (somente para compra) |
| type_scalestring | Tipo da distribuição: equal (igualmente), asc (crescente) ou desc (descrescente) |
| number_ordersint | Quantidade de ordens que deseja distribuir a negociação |
| price_minfloat | Preço mínimo unitário para distribuição nas ordens |
| price_maxfloat | Preço máximo unitário para distribuição nas ordens |
Caso a requisição seja bem sucedida, retornará um array no mesmo padrão do método de Consultar ordem. Saiba mais acessando a seção Código de retorno.
/tapi/v2/order_get
Essa requisição necessita de autenticação. Clique aqui para mais detalhes
| Atributo | Descrição |
|---|---|
| symbolstring | Símbolo do par que deseja consultar |
| idint | Identificar da ordem |
| Atributo | Descrição |
|---|---|
| idint | Identificador da ordem no sistema |
| createint | Data da ordem criada em formato Unix Timestamp |
| modestring | Modalidade: limit limite ou market para mercado |
| typestring | Tipo da operação: buy para compra ou sell para venda |
| statusfloat | Situações: active para ordem ativa, completed para concluídas e canceled para canceladas |
| amountfloat | Quantidade em negociação |
| amount_executedfloat | Quantidade da ordem já negociada |
| pricefloat | Preço unitário em negociação |
| totalfloat | Total em negociação |
| orders_executedarray | Lista com ordens executadas |
| orders_executed[].createint | Data da execução da ordem |
| orders_executed[].priceint | Preço da ordem executada |
| orders_executed[].amountint | Quantidade da ordem executada |
| triggerstring | Se possuir gatilho, stop ou oco |
| trigger_pricestring | Se possuir gatilho, preço unitário do gatilho |
{
"code": 200,
"data": {
"id": 25994945,
"symbol": "BTCBRL",
"create": 1683573888,
"mode": "market",
"type": "buy",
"status": "completed",
"total": 13.34,
"amount_executed": 0.00009696,
"orders_executed": [
{
"date": 1683573889,
"price": 137684.91,
"amount": 0.00009696,
"fee": 1.2e-7
}
]
}
}
/tapi/v2/order_list
Essa requisição necessita de autenticação. Clique aqui para mais detalhes
Método para filtrar todas as ordens de uma situação específica.
A requisição tem um limite de retorno de 1000 registros.
| Atributo | Descrição |
|---|---|
| symbolstring | Símbolo do par que deseja consultar |
| statusstring | Situação: active (ativas), completed (concluídas) ou canceled (canceladas) |
Caso a requisição seja bem sucedida, retornará um array no mesmo padrão do método de Consultar ordem. Saiba mais acessando a seção Código de retorno.
/tapi/v2/order_cancel
Essa requisição necessita de autenticação. Clique aqui para mais detalhes
Método para cancelar uma ordem específica.
| Atributo | Descrição |
|---|---|
| symbolstring | Símbolo do par que deseja cancelar a ordem |
| idint | Identificar da ordem |
Código de retorno padrão.
/tapi/v2/order_cancel/all
Essa requisição necessita de autenticação. Clique aqui para mais detalhes
Método para cancelar todas as ordens abertas.
| Atributo | Descrição |
|---|---|
| symbolstring | Símbolo do par que deseja cancelar a ordem |
| typestring | Cancelar um tipo espefíco: sell (vendas), buy (compras) ou all (todas) |
| Atributo | Descrição |
|---|---|
| ordersCanceledarray | Lista com ids de ordens canceladas |
/tapi/v2/order_history
Essa requisição necessita de autenticação. Clique aqui para mais detalhes
Método que lista as negociações realizadas na corretora.
A requisição retorna um array de objetos e tem um limite de 1000 registros.
| Atributo | Descrição |
|---|---|
| symbolstring | Símbolo do par que deseja negociar |
| fromint | Data inicial da pesquisa em formato Unix Timestamp |
| toint | Opcional Data final da pesquisa em formato Unix Timestamp |
| limitint | Opcional Quantidade máximo de registros, padrão 100 com limite máximo de 1000 |
| Atributo | Descrição |
|---|---|
| dateint | Data da negociação em formato Unix Timestamp |
| amountfloat | Quantidade negociada |
| pricefloat | Valor unitário da negociação |
| typestring | Tipo da negociação: buy para compra ou sell para venda |
| feefloat | Valor da taxa cobrada na negociação |
| tidint | Identificador da negociação no sistema |
/tapi/v2/send
Essa requisição necessita de autenticação. Clique aqui para mais detalhes
| Atributo | Descrição |
|---|---|
| currencystring | Criptoativo que deseja enviar |
| blockchainstring | Blockchain que deseja realizar o envio |
| addressstring | Endereço para qual deseja realizar o envio |
| valuefloat | Quantidade para envio |
| fee_typestring | Prioridade do envio |
Consulte a seção Código de retorno.
Para consultar as taxas atuais da rede, consulte a seção Taxas de envio.

Versões API

