1.0.0
Você está visualizando uma API obsoleta. Acesse a documentação atual para detalhes.
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.
Para uso da API de Dados deve usar a URL abaixo, alterando os campos em destaque com os parametros desejados:
https://bitnuvem.com/api/BTC/ENDPOINT
/api/BTC/ticker
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.
Esse método não possui parâmetros.
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/BTC/orderbook
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.
Esse método não possui parâmetros.
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/BTC/trades
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 |
---|---|
fromint | Data inicial da pesquisa em formato Unix Timestamp |
toint | Opcional Data final da pesquisa em formato Unix Timestamp |
Atributo | Descriçã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 |
/api/BTC/fee
Método para obter informação sobre valores cobrados atualmente na taxa de envio.
Esse método não possui parâmetros.
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 |
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.
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/tapi/ENDPOINT
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.
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/${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/{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/'.$action);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $api_post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
Lista de possíveis alertas de retorno da API de Negociações.
Caso permaneça com dúvida, entre em contato com nosso suporte.
Código | Descrição |
---|---|
200 | Solicitação realizada com sucesso |
106 | Algo inesperado aconteceu, tente novamente ou contate o suporte. [06] |
130 | Chave privada inválida. |
131 | É necessário ativar a Autenticação em 2 passos para usar a API de Negocionações. |
132 | Essa chave privada ainda não foi confirmada por e-mail. Acesse sua caixa postal ou reenvie a confirmação acessando sua conta pela plataforma |
133 | Time Stamp incorreto. |
134 | Requisição inválida. |
135 | É necessário ter cadastro completo para usar a API de Negociação |
254 | Saldo insuficiente. |
255 | Quantidade abaixo do valor mínimo. |
256 | Endereço inválido. Verifique todos os caracteres, incluindo diferenças entre letras maiúsculas e minúsculas. |
259 | Você não possui saldo suficiente. |
260 | Você não possui saldo em reais suficiente. |
261 | Conta bancária não encontrada. |
264 | Você precisa sacar no mínimo R$ 10,00. |
267 | Os valores precisam ser maiores que 0. |
268 | Saldo insuficiente. |
270 | Saldo em reais insuficiente. |
271 | Ordem cancelada. |
290 | Ordem stop-preco adicionada. |
291 | O valor stop de venda no modo OCO deve ser menor que o valor de venda padrão. |
292 | O valor stop de compra no modo OCO deve ser maior que o valor de compra padrão. |
303 | Não é possível lançar ordens com valor total abaixo de R$ 10,00. Tente novamente com valores maiores. |
305 | Não é possível lançar ordens com valor total acima de R$ 50.000,00. Tente novamente com valores menores. |
306 | Não é possível lançar ordens STOP com valor de compra abaixo da melhor oferta de compra atual e/ou último valor negociado. |
307 | Não é possível lançar ordens STOP com valor de venda acima da melhor oferta de venda atual e/ou último valor negociado. |
313 | Aguarde seu recebimento de cripto atingir a quantidade mínima de confirmações para continuar. |
315 | O preço unitário mínimo deve ser acima que a melhor oferta de compra. |
316 | O preço unitário máximo deve ser abaixo que a melhor oferta de venda. |
317 | O preço unitário máximo deve ser maior que o preço unitário mínimo. |
318 | São permitidos criar numeros de ordem entre 2 e 30. |
331 | Sua chave privada não tem acesso à essa função. |
339 | Esse valor excede o limite permitidos para usuário sem cadastro completo. Conclua seu cadastro clicando aqui. |
340 | Esse valor excede o limite permitidos para usuário sem cadastro completo. Conclua seu cadastro clicando aqui. |
382 | É possível realizar somente 1 requisição por segundo. |
383 | Você realizou mais de 60 requisições por minuto. Aguarde alguns instante para voltar usar a API de Negociação. |
440 | Este endereço não é o mesmo configurado da chave da API de Negociações. |
/tapi/balance
Essa requisição necessita de autenticação. Clique aqui para mais detalhes
Esse método não possui parâmetros.
Atributo | Descrição |
---|---|
availablefloat | Saldo disponível |
in_usefloat | Valores em uso (ordem em aberto e/ou saque pendente) |
totalfloat | Saldo total em conta |
{
"total": {
"REAL": "6195.84",
"BTC": "0.73764924"
},
"available": {
"REAL": "4586.58",
"BTC": "0.73664924"
},
"in_use": {
"REAL": "1609.26",
"BTC": "0.00100000"
}
}
/tapi/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/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/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 |
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 TODO |
price_ocofloat | Opcional TODO |
Atributo | Descrição |
---|---|
modestring | Para ordens a mercado, preencher market |
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 | Opcional TODO |
Atributo | Descrição |
---|---|
modestring | Para ordens escalonada, preencher scale |
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/order_get
Essa requisição necessita de autenticação. Clique aqui para mais detalhes
Atributo | Descrição |
---|---|
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 |
{
"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": 0.00000012
}
]
}
/tapi/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 |
---|---|
statusstring | Situação: all (todas), 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/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 |
---|---|
idint | Identificar da ordem |
Código de retorno padrão.
/tapi/order_cancel/all
Essa requisição necessita de autenticação. Clique aqui para mais detalhes
Método para cancelar todas as ordens abertar.
Atributo | Descrição |
---|---|
typestring | Cancelar um tipo espefíco: sell (vendas), buy (compras) ou all (todas) |
Código de retorno padrão.
/tapi/send
Essa requisição necessita de autenticação. Clique aqui para mais detalhes
Atributo | Descrição |
---|---|
addressstring | Endereço para qual deseja realizar o envio |
valuefloat | Quantidade para envio |
fee_typestring | OpcionalPadrão: high Tipo da envio: high (prioritário), regular (regular) ou low (baixo). |
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