Deriv API
Documentação

Comprar

NegociaçãoAutenticação Obrigatória

Comprar um contrato. O parâmetro loginid foi removido e a validação do campo buy foi relaxada.

Comparação rápida

AspetoLegacy APINew APIAção
EndpointbuybuyNenhum
Autenticação ObrigatóriaSimSimNenhum
Parâmetro loginidOpcionalRemovidoRemover dos pedidos
Padrão do Campo buyRigoroso (32-128 carateres)RelaxadoRever validação

Alterações de rutura

1. Parâmetro loginid removido

O parâmetro loginid foi removido em New. Este parâmetro era anteriormente usado para autenticação multi-conta.

Alteração obrigatória: Remova o campo loginid dos seus pedidos de compra. A seleção de conta é agora gerida através do token de autorização.

2. validação do campo buy relaxada

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

Alteração obrigatória: Se tiver validação do lado do cliente correspondente ao padrão legado, pode relaxá-la.

3. Objeto buy agora obrigatório na resposta

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

Alteração obrigatória: Atualize o tratamento de erros para esperar que o objeto buy esteja sempre presente em respostas bem-sucedidas.

Estrutura de pedido

Legacy APIexemplo de pedido
{
  "buy": "uw2mk7no3oktoRVVsB4Dz7TQnFfAB",
  "price": 10.50,
  "loginid": "CR123456"
}
New APIexemplo de pedido
{
  "buy": "uw2mk7no3oktoRVVsB4Dz7TQnFfAB",
  "price": 10.50
}

Estrutura de resposta

Legacy APIexemplo de resposta
{
  "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 APIexemplo de resposta
{
  "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"
}

Exemplos 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.