Deriv API
Documentação

Extrato

ContaAutenticação Obrigatória

Obter extrato de conta mostrando transações. O parâmetro loginid foi removido, campos relacionados com transferências removidos e validação action_type relaxada.

Comparação rápida

AspetoLegacy APINew APIAção
EndpointstatementstatementNenhum
Autenticação ObrigatóriaSimSimNenhum
parâmetro loginidSuportadoRemovidoRemover dos pedidos
Campos de transferênciafees, from, toRemovidoAtualizar o tratamento de resposta
Campos de respostaOpcionalObrigatórioSimplificar verificações de nulos

Alterações de rutura

1. loginid parâmetro removido

O parâmetro loginid utilizado para autorização de múltiplos tokens foi removido do pedido.

Alteração necessária: Remove loginid from your request payloads. Authenticate with the specific account token instead.

2. Campos relacionados com transferência removidos

Os seguintes campos já não são devolvidos em objetos de transação:

  • app_id, fees, from, to, withdrawal_details (removido)

3. action_type validação de enum removida

O parâmetro action_type já não valida contra um enum fixo. A nova API aceita qualquer valor de string.

4. Campos de resposta agora obrigatórios

A resposta garante agora determinados campos: statement.count, statement.transactions, e para cada transação: action_type, amount, balance_after, transaction_id, e transaction_time.

Estrutura de pedido

Legacy APIexemplo de pedido
{
  "statement": 1,
  "action_type": "buy",
  "limit": 25,
  "loginid": "CR123456"
}
New APIexemplo de pedido
{
  "statement": 1,
  "action_type": "buy",
  "limit": 25
}

Estrutura de resposta

Legacy APIexemplo de resposta
{
  "statement": {
    "count": 100,
    "transactions": [
      {
        "action_type": "buy",
        "amount": -10.50,
        "app_id": 1234,
        "fees": { "amount": 0.5 }
      }
    ]
  },
  "msg_type": "statement"
}
New APIexemplo de resposta
{
  "statement": {
    "count": 100,
    "transactions": [
      {
        "action_type": "buy",
        "amount": -10.50,
        "balance_after": 989.50,
        "transaction_id": 987654321,
        "transaction_time": 1234567890
      }
    ]
  },
  "msg_type": "statement"
}

Exemplos de código

async function getStatement(loginid) {
  const request = {
    statement: 1,
    loginid: loginid
  };

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

  ws.onmessage = (event) => {
    const response = JSON.parse(event.data);
    if (response.msg_type === 'statement') {
      response.statement.transactions.forEach(t => {
        if (t.fees) console.log('Fee:', t.fees.amount);
      });
    }
  };
}
Click to open live chat support. Get instant help from our support team.