BitcoinTrade - Documentação de API (v3.1)

Download OpenAPI specification:Download

Bem vindo à página de detalhes dos métodos públicos da API da BitcoinTrade. As APIs são separadas em três categorias: Public, Market, e Transfers.

Versão

Esta API está na versão 3.

Importante

Use as APIs da categoria Market para todas as operações de trading. As APIs Public tem um atraso na atualização de dados de até 30 segundos.

Todos as consultas que executam com sucesso retornam o HTTP Status 200.

Todas as consultas retornam conteúdos JSON (application/json) e possuem corpos padrões:

Sucesso

{
    "message": null,
    "data": { }
}

Falha

{
  "code": [Código do erro],
  "message": "Descrição do erro",
  "data": null
}

Métodos que tem filtro por data irão filtrar até 6 meses atrás caso nenhum valor for enviado em start_date.

Estrutura da url

A URL para as chamadas são montadas de acordo com o exemplo abaixo:

https://api.bitcointrade.com.br/{versão}/public/{moeda}/{método}/

https://api.bitcointrade.com.br/v3/public/BTC/ticker/

Pares Disponiveis

  • BRLBTC: Valor de Bitcoin em Reais
  • BRLETH: Valor de Ethereum em Reais
  • BRLLTC: Valor de Litecoin em Reais
  • BRLBCH: Valor de Bitcoin Cash em Reais
  • BRLXRP: Valor de Ripple em Reais
  • BRLEOS: Valor de EOS em Reais
  • BRLDAI: Valor de DAI em Reais

Limites

Os limites de requisição são baseados nos limites operacionais do usuário.

Existem dois tipos de limite, um deles de requisições por segundo e outro de requisições diárias. Os dois limites devem ser levados em consideração e as requisições devem ser balanceadas para que o limite diário não seja atingido.

Usuários sem documentação aprovada possuem 1 requisição por segundo ou 86.400 requisições diárias.

Usuários com documentação aprovada possuem 3.5 requisição por segundo ou 302.400 requisições diárias.

Limites superiores podem ser fornecidos junto ao time de suporte.

Quando o limite de requisições por segundo for atingido, o status de resposta será 429 e a seguinte resposta é retornada:

{
    "message": "Too many requests"
}

Quando o limite de requisições por dia for atingido, o status de resposta será 429 e a seguinte resposta é retornada:

{
    "message": "Limit Exceeded"
}

Authentication

API Token

Token de autenticação gerado na seção de API da sua conta.

Deve ser enviado no cabeçalho x-api-key da chamadas que requerem autenticação.

Security Scheme Type API Key
Header parameter name: x-api-key

Changelog

v3.1 - 20/10/2020

Última atualização do saldo

GET /v3/wallets/balance: Adicionado novo campo last_update com última atualização na listagem dos saldos das carteiras do usuário.

Códigos de erros detalhados

Adicionados códigos de detalhamento de erros de parâmetros inválidos.

Errors

O código do erro é retornado no parâmetro code no payload da resposta.

400 - Parâmetros Inválidos

Código HTTP: 400

Ajuste a requisição segundo a documentação ou mensagem de erro e tente novamente.

401 - Não autorizado

Código HTTP: 401

É necessária autenticação para acessar o recurso.

402 - Token bloqueado

Código HTTP: 401

Entre em contato com o suporte para reaver o acesso.

403 - Acesso Proibido

Código HTTP: 403

Recurso fora do alcance do usuário.

404 - Não encontrado

Código HTTP: 400

Verifique o endereço da requisição.

405 - Erro ao recuperar dados

Código HTTP: 400

Tente novamente e entre em contato com o suporte caso o erro persista.

429 - Limite de requisições ultrapassado

Código HTTP: 429

Aguarde para tentar novamente.

500 - Error ao processar a requisição

Código HTTP: 500

Tente novamente e entre em contato com o suporte caso o erro persista.

502 - Erro de comunicação

Código HTTP: 500

Tente novamente e entre em contato com o suporte caso o erro persista.

503 - Manutenção

Código HTTP: 503

Aguarde para tentar novamente.

Public

As chamadas públicas possui um limite reduzido de requisições e cache de 30 segundos.

Para limites maiores, utilize métodos privados.

Ticker

Retorna informações com o resumo das últimas 24 horas de negociações

path Parameters
pair
required
string (PairCodeParam)
Enum: "BRLBTC" "BRLETH" "BRLLTC" "BRLBCH" "BRLXRP" "BRLEOS" "BRLDAI"
Example: BRLBTC

Código do par de moedas

Responses

Response Schema: application/json
message
required
string Nullable
required
object (TickersResponseData)

Response samples

Content type
application/json
{
  • "message": null,
  • "data": {
    • "high": 15999.12,
    • "low": 15000.12,
    • "volume": 123.12345678,
    • "trades_quantity": 123,
    • "last": 15500.12,
    • "buy": 15400.12,
    • "sell": 15600.12,
    • "date": "2017-10-20T00:00:00Z"
    }
}

Orders

Retorna lista de ordens ativas atualmente no book de ofertas

path Parameters
pair
required
string (PairCodeParam)
Enum: "BRLBTC" "BRLETH" "BRLLTC" "BRLBCH" "BRLXRP" "BRLEOS" "BRLDAI"
Example: BRLBTC

Código do par de moedas

query Parameters
limit
number <int32> (LimitParam) [ 1 .. 200 ]
Default: "50"
Example: limit=25

Máximo de registros retornados

Responses

Response Schema: application/json
message
required
string Nullable
required
object (PublicOrdersResponseData)

Response samples

Content type
application/json
{
  • "message": null,
  • "data": {
    • "bids": [
      • {
        • "unit_price": 14650.25,
        • "code": "B1qRRuFBN",
        • "amount": 0.46097295
        },
      • {
        • "unit_price": 1610.15,
        • "code": "B1dcgFKrE",
        • "amount": 1
        }
      ],
    • "asks": [
      • {
        • "unit_price": 14704.45,
        • "code": "BkmGgYtrV",
        • "amount": 0.01187517
        },
      • {
        • "unit_price": 1873.48,
        • "code": "r1XolYtBN",
        • "amount": 1
        }
      ]
    }
}

Trades

Listagem de trades históricos baseados nos critérios de pesquisa

path Parameters
pair
required
string (PairCodeParam)
Enum: "BRLBTC" "BRLETH" "BRLLTC" "BRLBCH" "BRLXRP" "BRLEOS" "BRLDAI"
Example: BRLBTC

Código do par de moedas

query Parameters
start_time
string <datetime> (StartDateTimeParam)
Default: "[6 meses atrás]"
Example: start_time=2020-01-01T00:00:00-03:00

Data inicial da pesquisa no formato data e horas combinadas ISO-8601

end_time
string <datetime> (EndDateTimeParam)
Default: "[Data e hora atuais]"
Example: end_time=2020-01-02T23:59:59-03:00

Data final da pesquisa no formato data e horas combinadas ISO-8601

page_size
number <int32> (PageSizeParam) [ 1 .. 1000 ]
Default: "200"
Example: page_size=100

Quantidade de registros por página

current_page
number <int32> (CurrentPageParam)
Default: "1"
Example: current_page=3

Página atual

Responses

Response Schema: application/json
message
required
string Nullable
required
object (TradesResponseData)

Response samples

Content type
application/json
{
  • "message": null,
  • "data": {
    • "trades": [
      • {
        • "type": "sell",
        • "amount": 0.2404764,
        • "unit_price": 15160,
        • "active_order_code": "Bk0fQxsZV",
        • "passive_order_code": "rJEcVyob4",
        • "date": "2019-01-03T02:27:33.947Z"
        },
      • {
        • "type": "sell",
        • "amount": 0.00563617,
        • "unit_price": 15163,
        • "active_order_code": "Bk0fQxsZV",
        • "passive_order_code": "B1cl2ys_4",
        • "date": "2019-01-03T02:27:33.943Z"
        },
      • {
        • "type": "sell",
        • "amount": 0.00680154,
        • "unit_price": 15163.03,
        • "active_order_code": "Bk0fQxsZV",
        • "passive_order_code": "Synrhyj_V",
        • "date": "2019-01-03T02:27:33.940Z"
        }
      ],
    • "pagination": {
      • "total_pages": 1,
      • "current_page": 1,
      • "page_size": 100,
      • "registers_count": 21
      }
    }
}

Market

Summary

Resumo das negociações de um par nas últimas 24 horas

Authorizations:
query Parameters
pair
required
string (PairCodeParam)
Enum: "BRLBTC" "BRLETH" "BRLLTC" "BRLBCH" "BRLXRP" "BRLEOS" "BRLDAI"
Example: pair=BRLBTC

Código do par de moedas

Responses

Response Schema: application/json
message
required
string Nullable
required
Array of objects (SummaryData)

Response samples

Content type
application/json
{
  • "message": null,
  • "data": [
    • {
      • "unit_price_24h": 54049,
      • "volume_24h": 0,
      • "last_transaction_unit_price": 54049,
      • "pair": "BTCBRL",
      • "max_price": 54049,
      • "min_price": 54049
      }
    ]
}

Estimate Price

Estima o preço unitário de uma determinada quantidade de moeda caso ela fosse executada a mercado

Authorizations:
query Parameters
pair
required
string (PairCodeParam)
Enum: "BRLBTC" "BRLETH" "BRLLTC" "BRLBCH" "BRLXRP" "BRLEOS" "BRLDAI"
Example: pair=BRLBTC

Código do par de moedas

amount
required
number <double>

Quantidade da moeda utilizada no cálculo. Quando o tipo for buy, a quantidade deve ser em Real. Quando o tipo for sell, a quantidade deve ser em Cripto.

type
required
string (OrderTypeParam)
Enum: "buy" "sell"

Tipo da ordem (compra ou venda)

Responses

Response Schema: application/json
message
required
string Nullable
required
object (EstimatedPriceResponseData)

Response samples

Content type
application/json
{
  • "message": null,
  • "data": {
    • "price": 54049.12
    }
}

Get Book Orders

Ordens de compra e venda do livro de ofertas

Authorizations:
query Parameters
pair
required
string (PairCodeParam)
Enum: "BRLBTC" "BRLETH" "BRLLTC" "BRLBCH" "BRLXRP" "BRLEOS" "BRLDAI"
Example: pair=BRLBTC

Código do par de moedas

limit
number <int32> (LimitParam) [ 1 .. 200 ]
Default: "50"
Example: limit=25

Máximo de registros retornados

Responses

Response Schema: application/json
message
required
string Nullable
required