Deriv API
Documentación

Contratos para

DatosSin autenticación

Obtenga contratos disponibles para un símbolo. Parámetros de solicitud reducidos, datos de mercado eliminados de la respuesta, y varios campos de metadatos de contrato eliminados.

Comparación rápida

AspectoLegacy APINew APIAcción
Endpointcontracts_forcontracts_forNinguno
Requiere autenticaciónNoNoNinguno
Complejidad de la petición8 parámetros3 parámetrosEliminar parámetros de filtrado
Estructura de RespuestaAnidado con datos de mercadoSimplificadoActualizar análisis de respuesta

Cambios importantes

1. Parámetros de solicitud eliminados

Se han eliminado varios parámetros de filtrado de la solicitud:

  • currency (eliminado) - Filtrado de divisas ya no soportado en la solicitud
  • landing_company, landing_company_short, product_type, loginid (eliminados)

2. Campos de datos de mercado eliminados de la respuesta

Campos de tiempo de mercado y precio al contado eliminados del objeto contracts_for:

  • spot, open, close, feed_license, non_available (eliminados)

3. Campos de visualización eliminados de elementos de contrato

Campos específicos de visualización eliminados de objetos de elementos de contrato:

  • contract_display (eliminado)
  • contract_category_display (eliminado)

4. Campos de metadatos de contrato eliminados

Varios campos de metadatos de contrato eliminados de los objetos de elemento de contrato:

  • barrier_category, start_type (eliminados) - Eran requeridos en Legacy
  • forward_starting_options, trading_period (eliminados)

5. Opciones especializadas de contrato eliminadas

Campos de configuración especializados para ciertos tipos de contratos eliminados:

  • duration_choices, trade_risk_profile_choices (eliminados) - Opciones de contrato Snowball

Estructura de solicitud

Legacy APIejemplo de solicitud
{
  "contracts_for": "frxEURUSD",
  "currency": "USD",  // ❌ Removed in New
  "landing_company_short": "svg",  // ❌ Removed in New
  "product_type": "basic",  // ❌ Removed in New
  "loginid": "CR123456"  // ❌ Removed in New
}
New APIejemplo de solicitud
{
  "contracts_for": "frxEURUSD"
}

Estructura de respuesta

Legacy APIejemplo de respuesta
{
  "contracts_for": {
    "available": [
      {
        "barrier_category": "euro_atm",  // ❌ Not in New
        "barriers": 0,
        "contract_category": "callput",
        "contract_category_display": "Up/Down",  // ❌ Not in New
        "contract_display": "Higher",  // ❌ Not in New
        "contract_type": "CALL",
        "exchange_name": "FOREX",
        "expiry_type": "intraday",
        "market": "forex",
        "sentiment": "up",
        "start_type": "spot",  // ❌ Not in New
        "submarket": "major_pairs",
        "underlying_symbol": "frxEURUSD"
      }
    ],
    "close": 1699574400,  // ❌ Not in New
    "feed_license": "realtime",  // ❌ Not in New
    "hit_count": 1,
    "open": 1699488000,  // ❌ Not in New
    "spot": 1.0850  // ❌ Not in New
  },
  "msg_type": "contracts_for"
}
New APIejemplo de respuesta
{
  "contracts_for": {
    "available": [
      {
        "barriers": 0,
        "contract_category": "callput",
        "contract_type": "CALL",
        "exchange_name": "FOREX",
        "expiry_type": "intraday",
        "market": "forex",
        "sentiment": "up",
        "submarket": "major_pairs",
        "underlying_symbol": "frxEURUSD"
      }
    ],
    "hit_count": 1
  },
  "msg_type": "contracts_for"
}

Ejemplos de código

async function getContractsFor(symbol) {
  const request = {
    contracts_for: symbol,
    currency: "USD",
    landing_company_short: "svg",
    product_type: "basic"
  };

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

  ws.onmessage = (event) => {
    const response = JSON.parse(event.data);
    if (response.msg_type === 'contracts_for') {
      const { spot, open, close } = response.contracts_for;
      console.log(`Spot: ${spot}, Open: ${open}, Close: ${close}`);

      response.contracts_for.available.forEach(c => {
        console.log(`Type: ${c.contract_type}`);
        console.log(`Display: ${c.contract_display}`);
        console.log(`Barrier Category: ${c.barrier_category}`);
      });
    }
  };
}
Click to open live chat support. Get instant help from our support team.