Deriv API
Documentação

Ticks

DadosSem Autenticação

Subscrever stream de tick em tempo real para dados de mercado. Campos obrigatórios da resposta alterados e parâmetro de subscrição estendido.

Comparação rápida

AspetoLegacy APINew APIAção
EndpointticksticksNenhum
Autenticação ObrigatóriaNãoNãoNenhum
Valores de Subscriçãoapenas 10 ou 1Opcional: use 0 para tick único
Objeto tickOpcionalObrigatórioAtualizar o tratamento de resposta

Alterações de rutura

1. Campos obrigatórios na resposta de tick alterados

Os campos obrigatórios dentro do objeto tick foram alterados:

  • Legado: Apenas pip_size era obrigatório.
  • Novo: epoch, quote, e symbol são agora obrigatórios.
  • pip_size é agora opcional e pode não estar sempre presente.

Alteração obrigatória: Adicione verificações de existência antes de aceder a pip_size. Pode agora confiar que epoch, quote, e symbol estarão sempre presentes.

2. Objeto tick agora obrigatório na resposta

O objeto tick é agora um campo obrigatório na resposta.

  • Legado: Apenas echo_req e msg_type eram obrigatórios no nível superior.
  • Novo: tick e msg_type são obrigatórios; echo_req é agora opcional.

Alteração obrigatória: Pode agora aceder com segurança a response.tick sem verificar a existência. Atualize qualquer código que dependa de echo_req estar sempre presente.

3. O parâmetro subscribe agora aceita 0

O parâmetro subscribe aceita agora tanto 0 como 1.

  • Legado: Apenas 1 era válido.
  • Novo: 0 (tick único, sem subscrição) ou 1 (stream contínuo).

Alteração obrigatória: Esta é uma nova capacidade. Use subscribe: 0 quando apenas necessita de um snapshot de tick único sem atualizações contínuas.

4. Validação de padrão de entrada removida

A validação de padrão no parâmetro ticks foi removida.

  • Legacy: Pattern ^\w{2,30}$ was enforced.
  • Novo: Sem validação de padrão em nomes de símbolos.

Alteração obrigatória: Esta alteração relaxa a validação de entrada. Os nomes de símbolos válidos existentes continuarão a funcionar. Se confiava na API para validar o formato de símbolos, considere adicionar validação do lado do cliente.

Estrutura de pedido

Legacy APIexemplo de pedido
{
  "ticks": "frxEURUSD",
  "subscribe": 1
}
New APIexemplo de pedido
{
  "ticks": "frxEURUSD",
  "subscribe": 1
}

Estrutura de resposta

Legacy APIexemplo de resposta
{
  "echo_req": {            // Required in legacy
    "ticks": "frxEURUSD",
    "subscribe": 1
  },
  "tick": {                // Optional in legacy
    "ask": 1.08501,
    "bid": 1.08499,
    "epoch": 1234567890,   // Optional
    "id": "tick-id-123",
    "pip_size": 5,         // REQUIRED in legacy
    "quote": 1.08500,      // Optional
    "symbol": "frxEURUSD"  // Optional
  },
  "msg_type": "tick",
  "subscription": { "id": "sub-123" }
}
New APIexemplo de resposta
{
  "echo_req": {            // Now optional
    "ticks": "frxEURUSD",
    "subscribe": 1
  },
  "tick": {                // REQUIRED in new API
    "ask": 1.08501,
    "bid": 1.08499,
    "epoch": 1234567890,   // REQUIRED
    "id": "tick-id-123",
    "pip_size": 5,         // Now optional
    "quote": 1.08500,      // REQUIRED
    "symbol": "frxEURUSD"  // REQUIRED
  },
  "msg_type": "tick",
  "subscription": { "id": "sub-123" }
}

Exemplos de código

async function subscribeTicks(symbol) {
  const request = {
    ticks: symbol,
    subscribe: 1  // Only 1 is valid
  };

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

  ws.onmessage = (event) => {
    const response = JSON.parse(event.data);
    if (response.msg_type === 'tick') {
      // tick object may not exist
      if (response.tick) {
        // pip_size is guaranteed
        const pipSize = response.tick.pip_size;

        // These fields are optional
        const quote = response.tick.quote;
        const epoch = response.tick.epoch;
        const symbol = response.tick.symbol;

        console.log('Pip size:', pipSize);
        if (quote) console.log('Quote:', quote);
      }

      // echo_req is always available
      console.log('Request:', response.echo_req);
    }
  };
}
Click to open live chat support. Get instant help from our support team.