Deriv API
Documentación

Comprar

TradingRequiere autenticación

Comprar un contrato. El parámetro loginid ha sido eliminado y la validación del campo buy relajada.

Comparación rápida

AspectoLegacy APINew APIAcción
EndpointbuybuyNinguno
Requiere autenticaciónNinguno
Parámetro loginidOpcionalEliminadoEliminar de las solicitudes
Patrón de Campo buyEstricto (32-128 caracteres)RelajadoRevisar validación

Cambios importantes

1. parámetro loginid eliminado

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

Cambio requerido: Elimine el campo loginid de sus solicitudes de compra. La selección de cuenta ahora se maneja a través del token de autorización.

2. validación del campo buy relajada

The buy field no longer enforces the strict pattern ^(:[\w-]{{32,128}}|1)$.

Cambio requerido: Si tiene validación del lado del cliente que coincide con el patrón heredado, puede relajarla.

3. Objeto buy ahora obligatorio en la respuesta

El objeto buy ahora es un campo obligatorio en la respuesta.

Cambio requerido: Actualice el manejo de errores para esperar que el objeto buy siempre esté presente en respuestas exitosas.

Estructura de solicitud

Legacy APIejemplo de solicitud
{
  "buy": "uw2mk7no3oktoRVVsB4Dz7TQnFfAB",
  "price": 10.50,
  "loginid": "CR123456"
}
New APIejemplo de solicitud
{
  "buy": "uw2mk7no3oktoRVVsB4Dz7TQnFfAB",
  "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": "uw2mk7no3oktoRVVsB4Dz7TQnFfAB", "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": "uw2mk7no3oktoRVVsB4Dz7TQnFfAB", "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.