Documentación

Propuesta

TradingSin autenticación

Obtenga el precio de un contrato. symbol se cambió a underlying_symbol, se eliminaron los parámetros de solicitud y tipos de contrato, y display_value y los campos Snowball ya no se devuelven.

Comparación rápida

AspectoLegacy APINew APIAcción
EndpointproposalproposalNinguno
Requiere autenticaciónNoNoNinguno
parámetro symbolsymbolunderlying_symbolRenombrar en solicitudes
loginid parámetroOpcionalEliminadoEliminar de las solicitudes
Cinco parámetros de solicitudOpcionalEliminadoEliminar de las solicitudes
contract_type valoresIncluye spreads, lookbacks y SnowballAgrega HIGHER y LOWERActualice sus solicitudes
display_valueDevueltoEliminadoFormato ask_price usted mismo

Cambios importantes

1. symbol renombrado a underlying_symbol

El parámetro obligatorio symbol se renombró a underlying_symbol.

Cambio obligatorio: Enviar underlying_symbol en lugar de symbol.

2. loginid parámetro eliminado

En la API heredada, loginid seleccionaba la cuenta cuando autorizaba varias cuentas. La nueva API no lo acepta.

Cambio obligatorio: Elimine loginid de sus solicitudes de proposal .

3. Parámetros de solicitud eliminados

La solicitud ya no acepta barrier_range, date_start, product_type, trade_risk_profile ni trading_period_start.

Cambio obligatorio: Elimine estos parámetros de sus solicitudes de proposal .

4. contract_type valores cambiados

contract_type ya no acepta CALLSPREAD, PUTSPREAD, LBFLOATCALL, LBFLOATPUT, LBHIGHLOW, SNOWUP ni SNOWDOWN, y agrega HIGHER y LOWER.

Cambio obligatorio: Deje de solicitar precios para los tipos de contrato que la New API ya no acepta.

5. display_value eliminado de la respuesta

La API heredada devolvía display_value, el precio con formato, en cada propuesta. La nueva API no lo devuelve. ask_price, date_start, id, longcode, payout, spot y spot_time siguen devolviéndose siempre.

Cambio obligatorio: Dé formato a ask_price si mostró display_value.

6. Detalles de contratos Snowball eliminados

contract_details ya no devuelve caution_price, coupon_rate, num_of_coupons, profit_price ni trade_risk_profile, que describían los contratos Snowball.

Cambio obligatorio: Deje de leer estos campos.

Estructura de solicitud

Legacy APIejemplo de solicitud
{
  "proposal": 1,
  "amount": 10,
  "basis": "stake",
  "contract_type": "CALL",
  "currency": "USD",
  "duration": 5,
  "duration_unit": "m",
  "product_type": "basic",
  "symbol": "R_100",
  "loginid": "CR123456",
  "req_id": 1
}
New APIejemplo de solicitud
{
  "proposal": 1,
  "amount": 10,
  "basis": "stake",
  "contract_type": "CALL",
  "currency": "USD",
  "duration": 5,
  "duration_unit": "m",
  "underlying_symbol": "R_100",
  "req_id": 1
}

Estructura de respuesta

Legacy APIejemplo de respuesta
{
  "echo_req": {
    "proposal": 1,
    "amount": 10,
    "basis": "stake",
    "contract_type": "CALL",
    "currency": "USD",
    "duration": 5,
    "duration_unit": "m",
    "product_type": "basic",
    "symbol": "R_100",
    "loginid": "CR123456",
    "req_id": 1
  },
  "msg_type": "proposal",
  "proposal": {
    "ask_price": 10,
    "date_expiry": 1760000300,
    "date_start": 1760000000,
    "id": "c84a793b-8a87-7999-ce10-9b22f7ceead3",
    "longcode": "Win payout if Volatility 100 Index is strictly higher than entry spot at 5 minutes after contract start time.",
    "payout": 19.55,
    "spot": 1234.56,
    "spot_time": 1760000000,
    "display_value": "10.00"
  },
  "req_id": 1
}
New APIejemplo de respuesta
{
  "echo_req": {
    "proposal": 1,
    "amount": 10,
    "basis": "stake",
    "contract_type": "CALL",
    "currency": "USD",
    "duration": 5,
    "duration_unit": "m",
    "underlying_symbol": "R_100",
    "req_id": 1
  },
  "msg_type": "proposal",
  "proposal": {
    "ask_price": 10,
    "date_expiry": 1760000300,
    "date_start": 1760000000,
    "id": "c84a793b-8a87-7999-ce10-9b22f7ceead3",
    "longcode": "Win payout if Volatility 100 Index is strictly higher than entry spot at 5 minutes after contract start time.",
    "payout": 19.55,
    "spot": 1234.56,
    "spot_time": 1760000000
  },
  "req_id": 1
}

Ejemplos de código

function getPrice(loginId) {
  ws.send(JSON.stringify({
    proposal: 1,
    amount: 10,
    basis: "stake",
    contract_type: "CALL",
    currency: "USD",
    duration: 5,
    duration_unit: "m",
    symbol: "R_100",
    loginid: loginId
  }));

  ws.onmessage = (event) => {
    const response = JSON.parse(event.data);
    if (response.msg_type !== "proposal" || !response.proposal) return;

    console.log("Price:", response.proposal.display_value);
    console.log("Payout:", response.proposal.payout);
  };
}
Click to open live chat support. Get instant help from our support team.