Deriv API
Documentação
Endpoints de Conta

Saldo

Autenticação Obrigatória

Obtenha o saldo de conta atual e, opcionalmente, subscreva atualizações de saldo em tempo real.

Comparação Rápida

AspetoLegacy APINew APIEstado
EndpointbalancebalanceInalterado
Autenticação ObrigatóriaSimSimInalterado
Multi-contaSuportadoNão suportadoRemovido

Alterações Incompatíveis

1. Parâmetro de conta removido

O parâmetro account (para obter "todas" as contas, "atual" ou ID de conta específico) foi removido.

2. Resposta multi-conta removida

O objeto accounts na resposta que continha informação detalhada sobre todas as contas ativas foi removido.

3. Saldos totais removidos

O objeto total que fornecia totais resumidos por tipo de conta (deriv, deriv_demo, mt5, mt5_demo) foi removido.

4. Parâmetro de Login ID removido

O parâmetro loginid foi removido. Este parâmetro era obrigatório quando eram fornecidos múltiplos tokens durante a autorização.

Estrutura de Pedido

Legacy APIexemplo de pedido
{
  "balance": 1,
  "account": "all",      // ❌ Removed in New
  "loginid": "CR123456", // ❌ Removed in New
  "subscribe": 1
}
New APIexemplo de pedido
{
  "balance": 1,
  "subscribe": 1
}

Estrutura de Resposta

Legacy APIexemplo de resposta
{
  "balance": {
    "balance": 10000.50,
    "currency": "USD",
    "loginid": "CR123456",
    "accounts": {  // ❌ Not in New
      "CR123456": {
        "balance": 10000.50,
        "converted_amount": 10000.50,
        "currency": "USD",
        "demo_account": 0,
        "status": 1,
        "type": "deriv"
      }
    }
  }
}
New APIexemplo de resposta
{
  "balance": {
    "balance": 10000.50,
    "currency": "USD",
    "loginid": "CR123456"
  },
  "msg_type": "balance"
}

Exemplos de código

Legacy APIimplementação
async function getCurrentBalance() {
  const request = {
    balance: 1,
    subscribe: 1
  };

  ws.send(JSON.stringify(request));

  ws.onmessage = (event) => {
    const response = JSON.parse(event.data);
    if (response.msg_type === 'balance') {
      console.log('Balance:', response.balance.balance);
      console.log('Currency:', response.balance.currency);
      console.log('Login ID:', response.balance.loginid);

      // Access multi-account data
      if (response.balance.accounts) {
        Object.keys(response.balance.accounts).forEach(id => {
          const acc = response.balance.accounts[id];
          console.log(`Account ${id}: ${acc.balance}`);
        });
      }
    }
  };
}
New APIimplementação
async function getCurrentBalance() {
  const request = {
    balance: 1,
    subscribe: 1
  };

  ws.send(JSON.stringify(request));

  ws.onmessage = (event) => {
    const response = JSON.parse(event.data);
    if (response.msg_type === 'balance') {
      console.log('Balance:', response.balance.balance);
      console.log('Currency:', response.balance.currency);
      console.log('Login ID:', response.balance.loginid);

      // Multi-account data no longer available
      // Make separate calls for each account
    }
  };
}
Click to open live chat support. Get instant help from our support team.