Deriv API
Documentação

Histórico de atualização de contrato

NegociaçãoAutenticação Obrigatória

Obtém o estado de atualização histórico e mais recente de um contrato, incluindo todas as alterações efetuadas aos parâmetros do contrato, como valores de stop loss e take profit.

Comparação rápida

AspetoLegacy APINew APIAção
Endpointcontract_update_historycontract_update_historyNenhum
Autenticação ObrigatóriaSimSimNenhum
Parâmetro loginidOpcionalRemovidoRemover dos pedidos
contract_update_history da respostaOpcionalObrigatórioAtualizar o tratamento de resposta

Alterações de rutura

1. Parâmetro LoginID removido

O parâmetro loginid usado para cenários de autorização multi-token foi removido. O contexto de conta deve agora ser gerido através do fluxo de autorização.

2. Campo de resposta contract_update_history agora obrigatório

O array contract_update_history na resposta é agora um campo obrigatório.

Alteração necessária: Update response handling code. You can now rely on this field being present without null checks for the array itself.

3. Os itens do array de resposta têm campos obrigatórios

Cada item no array contract_update_history requer agora quatro campos: display_name, order_amount, order_date, e order_type.

Alteração necessária: You can simplify your code by removing defensive null checks for these now-required fields.

Estrutura de pedido

Legacy APIexemplo de pedido
{
  "contract_update_history": 1,
  "contract_id": 123,
  "limit": 500,  // Optional: defaults to 500, min 1, max 999
  "loginid": "CR123456"  // ❌ Removed in New
}
New APIexemplo de pedido
{
  "contract_update_history": 1,
  "contract_id": 123,
  "limit": 500
}

Estrutura de resposta

Legacy APIexemplo de resposta
// contract_update_history: OPTIONAL
// All array item fields: OPTIONAL
{
  "contract_update_history": [
    {
      "display_name": "Stop Loss",
      "order_amount": "10.50",
      "order_date": 1699564800,
      "order_type": "stop_loss",
      "value": "1234.56"
    }
  ],
  "msg_type": "contract_update_history"
}
New APIexemplo de resposta
// contract_update_history: ✅ REQUIRED
// Required fields: display_name, order_amount, order_date, order_type
{
  "contract_update_history": [
    {
      "display_name": "Stop Loss",
      "order_amount": "10.50",
      "order_date": 1699564800,
      "order_type": "stop_loss",
      "value": "1234.56"
    }
  ],
  "msg_type": "contract_update_history"
}

Exemplos de código

async function getContractUpdateHistory(contractId) {
  const request = {
    contract_update_history: 1,
    contract_id: contractId,
    limit: 500,
    loginid: "CR123456"
  };

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

  ws.onmessage = (event) => {
    const response = JSON.parse(event.data);
    if (response.msg_type === "contract_update_history") {
      const updates = response.contract_update_history;
      updates?.forEach(update => {
        console.log(update.display_name + ": " + update.order_amount);
      });
    }
  };
}
Click to open live chat support. Get instant help from our support team.