mercado-bitcoin

API Client in Python for Mercado Bitcoin


Keywords
bitcoin, trade, data, finance, crypto, criptomoedas, mercadobitcoin
License
MIT
Install
pip install mercado-bitcoin==1.0.1

Documentation

Mercado Bitcoin API Client for Python

API Client in Python for Mercado Bitcoin

Installation

Run the following to install:

    pip install mercado-bitcoin

Usage

Data API

from mercado_bitcoin import DataAPI
import json

resp = DataAPI.day_summary('BTC', 2019, 9, 11).json()
print(json.dumps(resp, indent=2))

Response:

{
  "date": "2019-09-11",
  "opening": 41772.12033,
  "closing": 41496.86984,
  "lowest": 41200,
  "highest": 41955.55,
  "volume": 11179626.56206287,
  "quantity": 269.18932163,
  "amount": 7917,
  "avg_price": 41530.72081153
}

Trade API

from mercado_bitcoin import TradeAPI
import json

TAPI_ID = <your_tapi_id>
TAPI_SECRET = <your_tapi_secret>
tapi = TradeAPI(TAPI_ID, TAPI_SECRET)

info = tapi.get_account_info()
print(json.dumps(info, indent=2))

Response

{
  "response_data": {
    "balance": {
      "brl": {
        "available": "0.00000000",
        "total": "0.00000000"
      },
      "btc": {
        "available": "0.00000000",
        "total": "0.00000000",
        "amount_open_orders": 0
      },
      "ltc": {
        "available": "0.00000000",
        "total": "0.00000000",
        "amount_open_orders": 0
      },
      "bch": {
        "available": "0.00000000",
        "total": "0.00000000",
        "amount_open_orders": 0
      },
      "xrp": {
        "available": "0.00000000",
        "total": "0.00000000",
        "amount_open_orders": 0
      },
      "eth": {
        "available": "0.00000000",
        "total": "0.00000000",
        "amount_open_orders": 0
      }
    },
    "withdrawal_limits": {
      "brl": {
        "available": "20000.00",
        "total": "20000.00"
      },
      "btc": {
        "available": "10.00000000",
        "total": "10.00000000"
      },
      "ltc": {
        "available": "500.00000000",
        "total": "500.00000000"
      },
      "bch": {
        "available": "25.00000000",
        "total": "25.00000000"
      },
      "xrp": {
        "available": "20000.00000000",
        "total": "20000.00000000"
      },
      "eth": {
        "available": "70.00000000",
        "total": "70.00000000"
      }
    }
  },
  "status_code": 100,
  "server_unix_timestamp": "1568299534"
}

Data API (API de Dados)

O acesso à API de Dados é público, não é necessário criar uma conta tampouco autenticar.

Method Description
ticker Retorna informações com o resumo das últimas 24 horas de negociações.
orderbook Livro de ofertas é composto por duas listas: (1) uma lista com as ofertas de compras ordenadas pelo maior valor; (2) uma lista com as ofertas de venda ordenadas pelo menor valor. O livro mostra até 1000 ofertas de compra e até 1000 ofertas de venda. Uma oferta é constituída por uma ou mais ordens, sendo assim, a quantidade da oferta é o resultado da soma das quantidades das ordens de mesmo preço unitário. Caso uma oferta represente mais de uma ordem, a prioridade de execução se dá com base na data de criação da ordem, da mais antiga para a mais nova.
trades Histórico de negociações realizadas.
day-summary Retorna resumo diário de negociações realizadas.

Trade API (API de Negociacao)

  • Para utilizar a API de negociações do Mercado Bitcoin são necessários:

    • Criar uma conta
    • Gerar o PIN de Segurança
    • Gerar uma chave da API
  • O acesso à API é limitado por padrão ao máximo de 60 requisições a cada 60 segundos, por usuário e não por chave

Method Description
list_system_messages Método para comunicação de eventos do sistema relativos à TAPÌ, entre eles bugs, correções, manutenção programada e novas funcionalidades e versões. O conteúdo muda a medida que os eventos ocorrem. A comunicação externa, feita via Twitter e e-mail aos usuários da TAPI, continuará ocorrendo. Entretanto, essa forma permite ao desenvolvedor tratar as informações juntamente ao seus logs ou até mesmo automatizar comportamentos.
get_account_info Retorna dados da conta, como saldos das moedas (Real, BCash, Bitcoin, Ethereum, Litecoin e XRP), saldos considerando retenção em ordens abertas, quantidades de ordens abertas por moeda digital, limites de saque/transferências das moedas.
get_order Retorna os dados da ordem de acordo com o ID informado. Dentre os dados estão as informações das Operações executadas dessa ordem. Apenas ordens que pertencem ao proprietário da chave da TAPI pode ser consultadas. Erros específicos são retornados para os casos onde o order_id informado não seja de uma ordem válida ou pertença a outro usuário.
list_orders Retorna uma lista de até 200 ordens, de acordo com os filtros informados, ordenadas pela data de última atualização. As operações executadas de cada ordem também são retornadas. Apenas ordens que pertencem ao proprietário da chave da TAPI são retornadas. Caso nenhuma ordem seja encontrada, é retornada uma lista vazia.
list_orderbook Retorna informações do livro de negociações (orderbook) do Mercado Bitcoin para o par de moedas (coin_pair) informado. Diferente do método orderbook público descrito em /api-doc/#method_trade_api_orderbook, aqui são fornecidas informações importantes para facilitar a tomada de ação de clientes TAPI e sincronia das chamadas. Dentre elas, o número da última ordem contemplada (latest_order_id) e número das ordens do livro (order_id), descritos abaixo. Importante salientar que nesse método ordens de mesmo preço não são agrupadas como feito no método público.
place_buy_order Abre uma ordem de compra (buy ou bid) do par de moedas, quantidade de moeda digital e preço unitário limite informados. A criação contempla o processo de confrontamento da ordem com o livro de negociações. Assim, a resposta pode informar se a ordem foi executada (parcialmente ou não) imediatamente após sua criação e, assim, se segue ou não aberta e ativa no livro.
place_sell_order Abre uma ordem de venda (sell ou ask) do par de moedas, quantidade de moeda digital e preço unitário limite informados. A criação contempla o processo de confrontamento da ordem com o livro de negociações. Assim, a resposta pode informar se a ordem foi executada (parcialmente ou não) imediatamente após sua criação e, assim, se segue ou não aberta e ativa no livro.
place_market_buy_order Abre uma ordem de compra (buy ou bid) do par de moedas com volume em reais limite informado. A criação contempla o processo de bloqueio do saldo para execução da ordem e confrontamento da ordem com o livro de negociações. Assim, a resposta pode informar se a ordem foi executada (parcialmente ou não) imediatamente após sua criação. Caso não seja possível executá-la totalmente por restrições no saldo disponível do usuário, o montante não executado é cancelado.
place_market_sell_order Abre uma ordem de venda (sell ou ask) do par de moeda com quantidade da moeda digital informado. A criação contempla o processo de confrontamento da ordem com o livro de negociações. Assim, a resposta pode informar se a ordem foi executada (parcialmente ou não) imediatamente após sua criação.
cancel_order Cancela uma ordem, de venda ou compra, de acordo com o ID e par de moedas informado. O retorno contempla o sucesso ou não do cancelamento, bem como os dados e status atuais da ordem. Somente ordens pertencentes ao próprio usuário podem ser canceladas.
get_withdrawal Retorna os dados de uma transferência de moeda digital ou de um saque de Real (BRL).
withdraw_coin Requisita pedido de transferência de moeda digital ou saque de Real. Assim, caso o valor de coin seja BRL, então realiza um saque para a conta bancária informada. Caso o valor seja uma criptomoeda, realiza uma transação para o endereço de moeda digital informado.