Deriv API
Documentação

Proposta

NegociaçãoSem Autenticação

Obtenha preços de contratos e propostas com grandes alterações à estrutura de parâmetros e formato de resposta.

Comparação rápida

AspetoLegacy APINew APIAção
EndpointproposalproposalNenhum
parâmetro symbolsymbolunderlying_symbolRenomear em pedidos
parâmetro loginidOpcionalRemovidoRemover dos pedidos
Objeto proposal da respostaOpcionalObrigatórioAtualizar o tratamento de resposta
Campos obrigatórios da proposta8 campos obrigatóriosApenas id obrigatórioAdicionar verificações de null

Alterações de rutura

1. Parâmetro Symbol renomeado

O parâmetro symbol foi renomeado para underlying_symbol.

Alteração obrigatória: Atualize todos os pedidos para usar underlying_symbol em vez de symbol.

2. Parâmetro LoginID removido

O parâmetro loginid utilizado para cenários de autorização de múltiplos tokens foi removido.

3. Múltiplos parâmetros de pedido removidos

Os seguintes parâmetros foram removidos do pedido:

  • barrier_range, product_type, date_start, trade_risk_profile, trading_period_start (removido)

4. Objeto de proposta de resposta agora obrigatório

O objeto proposal na resposta é agora obrigatório. Anteriormente era opcional.

5. Campos obrigatórios de proposal reduzidos

O objeto proposal requer agora apenas o campo id. Anteriormente, 8 campos eram obrigatórios.

Alteração necessária: Add null/undefined checks for fields other than id as they may not always be present.

6. Tipos de campo de resposta alterados

Vários campos de resposta agora aceitam tanto números como strings: ask_price, payout, e commission.

Alteração necessária: Update parsing logic to handle both number and string values for these fields.

Estrutura de pedido

Legacy APIexemplo de pedido
{
  "proposal": 1,
  "amount": 10,
  "contract_type": "CALL",
  "currency": "USD",
  "symbol": "frxEURUSD",  // ❌ Renamed in New
  "loginid": "CR123456",  // ❌ Removed in New
  "barrier_range": "middle"  // ❌ Removed in New
}
New APIexemplo de pedido
{
  "proposal": 1,
  "amount": 10,
  "contract_type": "CALL",
  "currency": "USD",
  "underlying_symbol": "frxEURUSD",  // ✅ Renamed from symbol
  "subscribe": 1
}

Estrutura de resposta

Legacy APIexemplo de resposta
{
  "proposal": {
    "ask_price": 10.50,  // type: number
    "id": "proposal-id-123",
    "payout": 20.00,  // type: number
    "spot": 1.0850
  },
  "msg_type": "proposal"
}
New APIexemplo de resposta
{
  "proposal": {
    "ask_price": "10.50",  // type: number | string
    "id": "proposal-id-123",  // ✅ Only required field
    "payout": "20.00",  // type: number | string
    "spot": 1.0850
  },
  "msg_type": "proposal"
}

Exemplos de código

async function getProposal() {
  const request = {
    proposal: 1,
    amount: 10,
    contract_type: "CALL",
    currency: "USD",
    symbol: "frxEURUSD",
    loginid: "CR123456"
  };

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

  ws.onmessage = (event) => {
    const response = JSON.parse(event.data);
    if (response.msg_type === "proposal") {
      console.log("Price:", response.proposal.ask_price);
    }
  };
}
Click to open live chat support. Get instant help from our support team.