Deriv API
Documentación

Cartera

CuentaRequiere autenticación

Recupere información sobre la cartera actual de opciones pendientes, incluyendo todas las posiciones abiertas para la cuenta autenticada.

Comparación rápida

AspectoLegacy APINew APIAcción
EndpointportfolioportfolioNinguno
Requiere autenticaciónNinguno
Campo Symbolsymbolunderlying_symbolActualizar referencias de campo
Parámetro loginidOpcionalEliminadoEliminar de las solicitudes
Campo app_idinteger | nullsolo enteroActualizar manejo de valores nulos

Cambios importantes

1. Campo Symbol renombrado

El campo symbol en cada objeto de contrato ha sido renombrado a underlying_symbol.

2. Parámetro LoginId eliminado

El parámetro loginid ha sido eliminado de la estructura de solicitud. El contexto de la cuenta ahora debe gestionarse a través del flujo de autorización.

3. El campo app_id ya no puede ser nulo

El campo app_id en cada objeto de contrato ya no puede ser null.

Cambio requerido: If your code handles null app_id values, update your logic to expect an integer value only.

Estructura de solicitud

Legacy APIejemplo de solicitud
{
  "portfolio": 1,
  "contract_type": ["CALL", "PUT"],
  "loginid": "CR1234567"  // ❌ Removed in New
}
New APIejemplo de solicitud
{
  "portfolio": 1,
  "contract_type": ["CALL", "PUT"]
}

Estructura de respuesta

Legacy APIejemplo de respuesta
{
  "portfolio": {
    "contracts": [
      {
        "app_id": null,
        "contract_id": 123456789,
        "symbol": "R_100"  // ❌ Renamed in New
      }
    ]
  },
  "msg_type": "portfolio"
}
New APIejemplo de respuesta
{
  "portfolio": {
    "contracts": [
      {
        "app_id": 12345,
        "contract_id": 123456789,
        "underlying_symbol": "R_100"  // 🆕 Renamed from symbol
      }
    ]
  },
  "msg_type": "portfolio"
}

Ejemplos de código

async function getPortfolio() {
  const request = {
    portfolio: 1
  };

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

  ws.onmessage = (event) => {
    const response = JSON.parse(event.data);
    if (response.msg_type === "portfolio") {
      const contracts = response.portfolio.contracts;
      contracts.forEach(contract => {
        console.log(`Symbol: ${contract.symbol}`);
      });
    }
  };
}
Click to open live chat support. Get instant help from our support team.