Documentação
Endpoints de Conta

Saldo

ContaAutenticação Obrigatória

Obtenha o saldo atual da conta e, opcionalmente, subscreva atualizações do saldo em tempo real. A New API devolve apenas o saldo da conta selecionada pelo seu token.

Comparação rápida

AspetoLegacy APINew APIAção
EndpointbalancebalanceNenhum
Autenticação ObrigatóriaSimSimNenhum
account parâmetroOpcionalRemovidoRemover dos pedidos
loginid parâmetroOpcionalRemovidoRemover dos pedidos
accounts na respostaDevolvido quando account é allRemovidoSolicite cada conta separadamente
total na respostaDevolvido quando account é allRemovidoSome os saldos manualmente

Alterações de rutura

1. account parâmetro removido

Na Legacy API, account escolha qual o saldo a devolver: current, all ou um ID de início de sessão específico. A New API não o aceita e devolve o saldo da conta selecionada pelo seu token.

Alteração necessária: Remova account dos seus pedidos de balance .

2. loginid parâmetro removido

Na Legacy API, loginid selecionava a conta quando autorizava várias contas. A New API não o aceita.

Alteração necessária: Remova loginid dos seus pedidos de balance . O seu token seleciona a conta.

3. accounts removido da resposta

A Legacy API devolvia um objeto accounts com o saldo, a moeda, o estado e o tipo de cada conta quando enviava account definido como all. A New API não o devolve.

Alteração necessária: Solicite o saldo de cada conta com o token dessa conta.

4. total removido da resposta

A API Legacy devolvia um objeto total com saldos somados para Deriv e contas reais e de demonstração MT5. A New API não o devolve.

Alteração necessária: Some os saldos das suas contas se precisar de um total.

Estrutura de pedido

Legacy APIexemplo de pedido
{
  "balance": 1,
  "account": "all",
  "loginid": "CR123456",
  "subscribe": 1,
  "req_id": 1
}
New APIexemplo de pedido
{
  "balance": 1,
  "subscribe": 1,
  "req_id": 1
}

Estrutura de resposta

Legacy APIexemplo de resposta
{
  "balance": {
    "accounts": {
      "CR123456": {
        "balance": 10000.5,
        "converted_amount": 10000.5,
        "currency": "USD",
        "demo_account": 0,
        "status": 1,
        "type": "deriv"
      }
    },
    "balance": 10000.5,
    "currency": "USD",
    "id": "c84a793b-8a87-7999-ce10-9b22f7ceead3",
    "loginid": "CR123456",
    "total": {
      "deriv": {
        "amount": 10000.5,
        "currency": "USD"
      }
    }
  },
  "echo_req": {
    "balance": 1,
    "account": "all",
    "loginid": "CR123456",
    "subscribe": 1,
    "req_id": 1
  },
  "msg_type": "balance",
  "req_id": 1,
  "subscription": {
    "id": "c84a793b-8a87-7999-ce10-9b22f7ceead3"
  }
}
New APIexemplo de resposta
{
  "balance": {
    "balance": 10000.5,
    "currency": "USD",
    "id": "c84a793b-8a87-7999-ce10-9b22f7ceead3",
    "loginid": "CR123456"
  },
  "echo_req": {
    "balance": 1,
    "subscribe": 1,
    "req_id": 1
  },
  "msg_type": "balance",
  "req_id": 1,
  "subscription": {
    "id": "c84a793b-8a87-7999-ce10-9b22f7ceead3"
  }
}

Exemplos de código

function getBalances(loginId) {
  ws.send(JSON.stringify({ balance: 1, account: "all", loginid: loginId, subscribe: 1 }));

  ws.onmessage = (event) => {
    const response = JSON.parse(event.data);
    if (response.msg_type !== "balance" || !response.balance) return;

    console.log("Balance:", response.balance.balance, response.balance.currency);
    const accounts = response.balance.accounts ?? {};
    Object.keys(accounts).forEach((id) => {
      console.log("Account " + id + ": " + accounts[id].balance);
    });
  };
}
Click to open live chat support. Get instant help from our support team.