Deriv API
Documentação

Portfólio

ContaAutenticação Obrigatória

Obter informações sobre o portfólio atual de opções em aberto, incluindo todas as posições abertas para a conta autenticada.

Comparação rápida

AspetoLegacy APINew APIAção
EndpointportfolioportfolioNenhum
Autenticação ObrigatóriaSimSimNenhum
Campo Symbolsymbolunderlying_symbolAtualizar referências de campos
Parâmetro loginidOpcionalRemovidoRemover dos pedidos
Campo app_idinteger | nullapenas número inteiroAtualizar tratamento de valores nulos

Alterações de rutura

1. Campo Symbol renomeado

O campo symbol em cada objeto de contrato foi renomeado para underlying_symbol.

2. Parâmetro LoginId removido

O parâmetro loginid foi removido da estrutura de pedido. O contexto de conta deve agora ser gerido através do fluxo de autorização.

3. Campo app_id já não pode ser nulo

O campo app_id em cada objeto de contrato já não pode ser null.

Alteração necessária: If your code handles null app_id values, update your logic to expect an integer value only.

Estrutura de pedido

Legacy APIexemplo de pedido
{
  "portfolio": 1,
  "contract_type": ["CALL", "PUT"],
  "loginid": "CR1234567"  // ❌ Removed in New
}
New APIexemplo de pedido
{
  "portfolio": 1,
  "contract_type": ["CALL", "PUT"]
}

Estrutura de resposta

Legacy APIexemplo de resposta
{
  "portfolio": {
    "contracts": [
      {
        "app_id": null,
        "contract_id": 123456789,
        "symbol": "R_100"  // ❌ Renamed in New
      }
    ]
  },
  "msg_type": "portfolio"
}
New APIexemplo de resposta
{
  "portfolio": {
    "contracts": [
      {
        "app_id": 12345,
        "contract_id": 123456789,
        "underlying_symbol": "R_100"  // 🆕 Renamed from symbol
      }
    ]
  },
  "msg_type": "portfolio"
}

Exemplos de código

async function getPortfolio() {
  const request = {
    portfolio: 1
  };

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

  ws.onmessage = (event) => {
    const response = JSON.parse(event.data);
    if (response.msg_type === "portfolio") {
      const contracts = response.portfolio.contracts;
      contracts.forEach(contract => {
        console.log(`Symbol: ${contract.symbol}`);
      });
    }
  };
}
Click to open live chat support. Get instant help from our support team.