Deriv API
Documentación

Propuesta

TradingSin autenticación

Obtenga precios de contrato y propuestas con cambios importantes en la estructura de parámetros y formato de respuesta.

Comparación rápida

AspectoLegacy APINew APIAcción
EndpointproposalproposalNinguno
parámetro symbolsymbolunderlying_symbolRenombrar en solicitudes
parámetro loginidOpcionalEliminadoEliminar de las solicitudes
Objeto de propuesta de respuestaOpcionalObligatorioActualizar manejo de respuesta
Campos obligatorios de propuesta8 campos obligatoriosSolo id obligatorioAgregar verificaciones de nulo

Cambios importantes

1. Parámetro Symbol renombrado

El parámetro symbol ha sido renombrado a underlying_symbol.

Cambio requerido: Actualice todas las solicitudes para usar underlying_symbol en lugar de symbol.

2. Parámetro LoginID eliminado

El parámetro loginid usado para escenarios de autorización de múltiples tokens ha sido eliminado.

3. Múltiples parámetros de solicitud eliminados

Los siguientes parámetros han sido eliminados de la solicitud:

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

4. Objeto de propuesta de respuesta ahora obligatorio

El objeto proposal en la respuesta ahora es obligatorio. Anteriormente era opcional.

5. Campos obligatorios de Proposal reducidos

El objeto proposal ahora solo requiere el campo id. Anteriormente, 8 campos eran obligatorios.

Cambio requerido: Add null/undefined checks for fields other than id as they may not always be present.

6. Tipos de campo de respuesta modificados

Varios campos de respuesta ahora aceptan tanto números como cadenas: ask_price, payout, y commission.

Cambio requerido: Update parsing logic to handle both number and string values for these fields.

Estructura de solicitud

Legacy APIejemplo de solicitud
{
  "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 APIejemplo de solicitud
{
  "proposal": 1,
  "amount": 10,
  "contract_type": "CALL",
  "currency": "USD",
  "underlying_symbol": "frxEURUSD",  // ✅ Renamed from symbol
  "subscribe": 1
}

Estructura de respuesta

Legacy APIejemplo de respuesta
{
  "proposal": {
    "ask_price": 10.50,  // type: number
    "id": "proposal-id-123",
    "payout": 20.00,  // type: number
    "spot": 1.0850
  },
  "msg_type": "proposal"
}
New APIejemplo de respuesta
{
  "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"
}

Ejemplos 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.