Documentación

Comprar

TradingRequiere autenticación

Compre un contrato. El parámetro loginid se eliminó, y varios campos en parameters cambiaron.

Comparación rápida

AspectoLegacy APINew APIAcción
EndpointbuybuyNinguno
Requiere autenticaciónSíSíNinguno
loginid parámetroOpcionalEliminadoEliminar de las solicitudes
parameters.symbolObligatorioRenombrado a underlying_symbolRenombrar en solicitudes
Cinco parameters camposAceptadoEliminadoEliminar de las solicitudes
contract_type valoresIncluye tipos spread, lookback y snowAgrega HIGHER y LOWERRevise los tipos de contrato

Cambios importantes

1. loginid parámetro eliminado

El parámetro loginid ha sido eliminado en New. Este parámetro se utilizaba anteriormente para autenticación de múltiples cuentas.

Cambio obligatorio: Elimine el campo loginid de sus solicitudes de buy . La selección de cuenta ahora se gestiona mediante el token de autorización.

2. parameters.symbol renombrado a parameters.underlying_symbol

El campo symbol dentro de parameters ahora es underlying_symbol. La New API incluye underlying_symbol como obligatorio en parameters, por lo que falla una solicitud que aún envía parameters.symbol.

Cambio obligatorio: Cambie el nombre de parameters.symbol a parameters.underlying_symbol en sus solicitudes de buy .

3. Campos eliminados de parameters

Estos campos se eliminaron de parameters en la New API: barrier_range, date_start, product_type, trade_risk_profile y trading_period_start.

Cambio obligatorio: Elimine estos campos del objeto parameters en sus solicitudes de buy .

4. contract_type valores cambiados

La lista de parameters.contract_type ya no incluye CALLSPREAD, PUTSPREAD, LBFLOATCALL, LBFLOATPUT, LBHIGHLOW, SNOWUP ni SNOWDOWN. Agrega HIGHER y LOWER.

Cambio obligatorio: Deje de enviar los tipos de contrato eliminados. Use uno de los valores que incluye la New API.

Estructura de solicitud

Legacy APIejemplo de solicitud
{
  "buy": "uw2mk7no3oktoRVVsB4Dz7TQnFfABuFDgO95dlxfMxRuPUsz",
  "price": 10.50,
  "loginid": "CR123456"
}
New APIejemplo de solicitud
{
  "buy": "uw2mk7no3oktoRVVsB4Dz7TQnFfABuFDgO95dlxfMxRuPUsz",
  "price": 10.50
}

Estructura de respuesta

Legacy APIejemplo de respuesta
{
  "buy": {
    "balance_after": 9989.50,
    "buy_price": 10.50,
    "contract_id": 123456789,
    "longcode": "Win payout if Volatility 100 Index is strictly higher than entry spot at 5 minutes after contract start time.",
    "payout": 20.00,
    "purchase_time": 1234567890,
    "shortcode": "CALL_R_100_20_1234567890_1234568190_S0P_0",
    "start_time": 1234567890,
    "transaction_id": 987654321
  },
  "echo_req": { "buy": "uw2mk7no3oktoRVVsB4Dz7TQnFfABuFDgO95dlxfMxRuPUsz", "price": 10.50 },
  "msg_type": "buy"
}
New APIejemplo de respuesta
{
  "buy": {
    "balance_after": 9989.50,
    "buy_price": 10.50,
    "contract_id": 123456789,
    "longcode": "Win payout if Volatility 100 Index is strictly higher than entry spot at 5 minutes after contract start time.",
    "payout": 20.00,
    "purchase_time": 1234567890,
    "shortcode": "CALL_R_100_20_1234567890_1234568190_S0P_0",
    "start_time": 1234567890,
    "transaction_id": 987654321
  },
  "echo_req": { "buy": "uw2mk7no3oktoRVVsB4Dz7TQnFfABuFDgO95dlxfMxRuPUsz", "price": 10.50 },
  "msg_type": "buy"
}

Ejemplos de código

async function buyContract(proposalId, price, loginid) {
  const request = {
    buy: proposalId,
    price: price,
    // loginid used for multi-account support
    loginid: loginid
  };

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

  ws.onmessage = (event) => {
    const response = JSON.parse(event.data);
    if (response.msg_type === "buy") {
      // buy object may be missing in some cases
      if (response.buy) {
        console.log("Contract ID:", response.buy.contract_id);
      }
    }
  };
}
Click to open live chat support. Get instant help from our support team.