Deriv API
Documentação

Tabela de lucros

ContaAutenticação Obrigatória

Obtenha o histórico de lucros e perdas. O parâmetro loginid foi removido, os campos de resposta são agora obrigatórios e a validação foi relaxada.

Comparação rápida

AspetoLegacy APINew APIAção
Endpointprofit_tableprofit_tableNenhum
Autenticação ObrigatóriaSimSimNenhum
Parâmetro loginidSuportadoRemovidoRemover dos pedidos
Campos de RespostaOpcionalObrigatórioAtualizar tratamento de erros
Tipo de app_idinteger | nullnúmero inteiroRemover verificações de nulos

Alterações de rutura

1. Parâmetro loginid removido

O parâmetro loginid já não é suportado em pedidos. A autenticação é agora gerida através de tokens de sessão.

2. app_id já não é anulável

O campo app_id nas transações mudou de integer | null para integer.

3. Campos de resposta agora obrigatórios

O objeto profit_table, count e transactions são agora obrigatórios na resposta.

4. Campos de transação agora obrigatórios

Os objetos de transação têm agora campos obrigatórios: buy_price, payout, purchase_time, sell_price e transaction_id.

5. Validação flexibilizada

A validação do lado do servidor é mais permissiva para os parâmetros sort, limit, contract_type e parâmetros de data.

Alteração necessária: Implement client-side validation if you were relying on the server to reject invalid values.

Estrutura de pedido

Legacy APIexemplo de pedido
{
  "profit_table": 1,
  "limit": 25,
  "sort": "ASC",
  "loginid": "CR12345"
}
New APIexemplo de pedido
{
  "profit_table": 1,
  "limit": 25,
  "sort": "ASC"
}

Estrutura de resposta

Legacy APIexemplo de resposta
{
  "profit_table": {
    "count": 100,
    "transactions": [
      {
        "app_id": null,
        "buy_price": 10.00,
        "sell_price": 15.00
      }
    ]
  },
  "msg_type": "profit_table"
}
New APIexemplo de resposta
{
  "profit_table": {
    "count": 100,
    "transactions": [
      {
        "app_id": 12345,
        "buy_price": 10.00,
        "sell_price": 15.00
      }
    ]
  },
  "msg_type": "profit_table"
}

Exemplos de código

async function getProfitTable() {
  const request = {
    profit_table: 1,
    limit: 25,
    loginid: "CR12345"
  };

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

  ws.onmessage = (event) => {
    const response = JSON.parse(event.data);
    if (response.msg_type === 'profit_table') {
      const count = response.profit_table?.count || 0;
      console.log('Total:', count);

      response.profit_table?.transactions?.forEach(t => {
        const appId = t.app_id ?? 'Unknown';
      });
    }
  };
}
Click to open live chat support. Get instant help from our support team.