Logo Bitnuvem

Geral

Sobre

Criptoativos

Pares negociados

Padrões de Retorno

API de Dados

Introdução

Mercado / Negociações

Taxas de envio

API de Negociações

Introdução

Autenticação

Saldos

Saque em reais

Negociações

Envios de cripto

Geral

Sobre

Criptoativos

Pares negociados

Padrões de Retorno

API de Dados

Introdução

Mercado / Negociações

Taxas de envio

API de Negociações

Introdução

Autenticação

Saldos

Saque em reais

Negociações

Envios de cripto

Sobre

A Bitnuvem oferece duas APIs para integrar nossas funcionalidades em suas aplicações.

API de Dados

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.

API de Negociação

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.

Limite que requisiçõ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.

Criptoativos

Lista de ativos

Símbolo / Ticker Descrição Decimais
BTCBitcoin8
BRLReal2
ETHEthereum8
USDTTether6

Pares negociados

Lista de pares

Símbolo / Ticker Descrição
BTCBRLBitcoin/Real
ETHBRLEthereum/Real
USDTBRLTether/Real

Padrões de Retorno

Estrutura dos retornos

Retorno de sucesso

AtributoDescrição
codeint
200 quando requisição for completada
dataarray
Se existir, retorno com as informações da requisição

Retorno de erro

AtributoDescrição
codeint
Código do erro, sempre será um número negativo
msgstring
Se existir, texto descritivo sobre erro

Lista de códigos

Código Descrição
200Requisição completada sem erros
-1002Símbolo / ticker inválido
-1001Ocorreu um erro na requisição
-1003Registro inválido, não existe ou expirado
-1004Excedido número de requisições permitidas
-2001Timestamp incorreto
-2002Problemas na autenticação da chave
-2003Operação não suportada, sem permissão
-2004Essa conta não pode continuar com a requisição (com restrição)
-3000Erro desconhecido
-3001Serviço indiponível no momento

Introdução

Requisições

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

Mercado / Negociações

Confira os endpoint para consultar informações dos ativos na corretora.

Ticker do ativo

GET

/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.

Parâmetros da URL

AtributoDescrição
symbolstring
Símbolo do par que deseja consultar

Retorno

AtributoDescriçã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

Livro de ofertas

GET

/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.

Parâmetros da URL

AtributoDescrição
symbolstring
Símbolo do par que deseja consultar

Retorno

AtributoDescriçã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

Negociações

GET

/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.

Parâmetros da URL

AtributoDescrição
symbolstring
Símbolo do par que deseja consultar

Parâmetros

AtributoDescrição
fromint
Data inicial da pesquisa em formato Unix Timestamp
toint
Opcional
Data final da pesquisa em formato Unix Timestamp

Retorno (objeto da array)

AtributoDescrição
dateint
Lista de ofertas de compras
amountfloat
Lista de ofertas de compras
pricefloat
Lista de ofertas de compras
typestring
Lista de ofertas de compras
tidint
Lista de ofertas de compras

Taxas de envio

Taxas de envio

GET

/api/v2/fee/{currency}

A consulta retornará as opções de envio disponíveis do criptoativo.

Parâmetros da URL

AtributoDescrição
currencystring
Criptoativo que deseja consultar

Retorno

AtributoDescrição
lowfloat
Valor de taxa de envio baixa
regularfloat
Valor de taxa de envio regular
priorityfloat
Valor de taxa de envio prioritário

Introdução

Primeiros passos

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.

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

Autenticação

Requisições

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.

Estrutura padrão

AtributoDescriçã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);

Saldos

Consultar saldo

POST

/tapi/v2/balance

Parâmetros

AtributoDescrição
currencystring
Criptoativo que deseja enviar

Retorno

AtributoDescrição
availablefloat
Saldo disponível
in_usefloat
Valores em uso (ordem em aberto e/ou saque pendente)
totalfloat
Saldo total em conta

Exemplo de retorno

{
    "code": 200,
    "data": {
        "available": 300,
        "in_use": 20,
        "total": 320
    }
}

Saque em reais

Listar contas bancárias

POST

/tapi/v2/account_bank_list

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.

Parâmetros

Esse método não possui parâmetros.

Retorno (objeto da array)

AtributoDescriçã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

Novo saque

POST

/tapi/v2/withdraw

Parâmetros

AtributoDescrição
valuefloat
Valor em reais desejado para saque
bank_idint
Identificador da conta bancária na corretora

Retorno

Código de retorno padrão.

Negociações

Nova ordem

POST

/tapi/v2/order_new

Escolha abaixo a modalidade de ordem para acessar os parâmetros necessários.

AtributoDescriçã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
AtributoDescriçã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
AtributoDescriçã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

Retorno

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.

Consultar ordem

POST

/tapi/v2/order_get

Parâmetros

AtributoDescrição
symbolstring
Símbolo do par que deseja consultar
idint
Identificar da ordem

Retorno

AtributoDescriçã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

Exemplo de retorno

{
  "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
      }
    ]
  }
}

Listar ordens

POST

/tapi/v2/order_list

Método para filtrar todas as ordens de uma situação específica.

A requisição tem um limite de retorno de 1000 registros.

Parâmetros

AtributoDescrição
symbolstring
Símbolo do par que deseja consultar
statusstring
Situação: active (ativas), completed (concluídas) ou canceled (canceladas)

Retorno

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.

Cancelar ordem

POST

/tapi/v2/order_cancel

Método para cancelar uma ordem específica.

Parâmetros

AtributoDescrição
symbolstring
Símbolo do par que deseja cancelar a ordem
idint
Identificar da ordem

Retorno

Código de retorno padrão.

Cancelar ordens (lote)

POST

/tapi/v2/order_cancel/all

Método para cancelar todas as ordens abertas.

Parâmetros

AtributoDescrição
symbolstring
Símbolo do par que deseja cancelar a ordem
typestring
Cancelar um tipo espefíco: sell (vendas), buy (compras) ou all (todas)

Retorno

AtributoDescrição
ordersCanceledarray
Lista com ids de ordens canceladas

Envios de cripto

Novo envio

POST

/tapi/v2/send

AtributoDescrição
currencystring
Criptoativo que deseja enviar
addressstring
Endereço para qual deseja realizar o envio
valuefloat
Quantidade para envio
fee_typestring
Prioridade do envio

Retorno

Consulte a seção Código de retorno.

Taxas de rede atual

Para consultar as taxas atuais da rede, consulte a seção Taxas de envio.