Documentação

Símbolos ativos

DadosSem Autenticação

Extrai uma lista de todos os símbolos atualmente ativos (mercados subjacentes nos quais os contratos estão disponíveis para negociação).

Comparação rápida

AspetoLegacy APINew APIAção
Endpointactive_symbolsactive_symbolsNenhum
Autenticação ObrigatóriaNãoNãoNenhum
Complexidade do Pedido9 parâmetros4 parâmetrosRemover parâmetros obsoletos

Alterações de rutura

1. Alterações de nome de campo de resposta

Os campos principais de identificação de símbolo e dados foram renomeados na resposta:

  • symbol → underlying_symbol
  • symbol_type → underlying_symbol_type
  • display_name → underlying_symbol_name
  • pip → pip_size

2. Campos de nome de visualização traduzido removidos

Os campos de nome de exibição traduzidos foram removidos da resposta:

  • market_display_name (removido)
  • subgroup_display_name (removido)
  • submarket_display_name (removido)

3. Dados de preço spot removidos

Os campos de preço spot em tempo real já não estão incluídos:

  • spot, spot_age, spot_percentage_change, spot_time (removido)

4. Filtragem de empresa de destino e tipo de produto removida

Parâmetros de pedido para filtragem por empresa de registo e tipo de produto removidos:

  • landing_company, landing_company_short, product_type, loginid (removido)

5. Filtragem de categoria de barreira removida

O parâmetro de pedido barrier_category foi removido. Já não é possível filtrar por: american, asian, euro_atm, euro_non_atm, non_financial, lookback, reset.

6. Campos de metadados adicionais removidos

Vários campos de metadados já não estão disponíveis:

  • allow_forward_starting, close_only, display_order, exchange_name, delay_amount, intraday_interval_minutes, quoted_currency_symbol (removido)

Estrutura de pedido

Legacy APIexemplo de pedido
{
  "active_symbols": "brief",
  "product_type": "basic",  // ❌ Removed in New
  "landing_company_short": "svg",  // ❌ Removed in New
  "contract_type": ["CALL", "PUT"]
}
New APIexemplo de pedido
{
  "active_symbols": "brief",
  "contract_type": ["CALL", "PUT"]
}

Estrutura de resposta

Legacy APIexemplo de resposta
{
  "active_symbols": [
    {
      "allow_forward_starting": 1,  // ❌ Not in New
      "close_only": 0,
      "display_name": "EUR/USD",  // ❌ Not in New
      "display_order": 1,
      "exchange_is_open": 1,
      "is_trading_suspended": 0,
      "market": "forex",
      "market_display_name": "Forex",  // ❌ Not in New
      "pip": 0.0001,
      "spot": 1.0850,  // ❌ Not in New
      "spot_age": "2",  // ❌ Not in New
      "subgroup": "major_pairs",
      "submarket": "major_pairs",
      "symbol": "frxEURUSD",  // ❌ Changed
      "symbol_type": "forex"  // ❌ Changed
    }
  ],
  "msg_type": "active_symbols"
}
New APIexemplo de resposta
{
  "active_symbols": [
    {
      "exchange_is_open": 1,
      "is_trading_suspended": 0,
      "market": "forex",
      "pip_size": 0.0001,
      "subgroup": "major_pairs",
      "submarket": "major_pairs",
      "trade_count": 0,  // 🆕 New field
      "underlying_symbol": "frxEURUSD",  // 🆕 Replaces symbol
      "underlying_symbol_name": "EUR/USD",  // 🆕 Replaces display_name
      "underlying_symbol_type": "forex"  // 🆕 Replaces symbol_type
    }
  ],
  "msg_type": "active_symbols"
}

Exemplos de código

async function getActiveSymbols() {
  const request = {
    active_symbols: "brief",
    product_type: "basic",
    landing_company_short: "svg"
  };

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

  ws.onmessage = (message) => {
    const data = JSON.parse(message.data);
    if (data.msg_type === "active_symbols") {
      data.active_symbols.forEach(symbol => {
        console.log(`Symbol: ${symbol.symbol}`);
        console.log(`Type: ${symbol.symbol_type}`);
        console.log(`Display: ${symbol.display_name}`);
      });
    }
  };
}
Click to open live chat support. Get instant help from our support team.