Deriv API
Documentação

Vender

NegociaçãoAutenticação Obrigatória

Venda um contrato ativo antes da expiração para realizar lucro ou minimizar perdas. O parâmetro loginid foi removido, validação de preço adicionada e os campos de resposta agora garantidos.

Comparação rápida

AspetoLegacy APINew APIAção
EndpointsellsellNenhum
Autenticação ObrigatóriaSimSimNenhum
Parâmetro loginidOpcionalRemovidoRemover dos pedidos
Validação de priceSem mínimomínimo: 0Garantir não negativo
Objeto de venda da RespostaOpcionalObrigatórioRemover verificações de nulos

Alterações de rutura

1. Parâmetro loginid removido

O parâmetro loginid que era usado para cenários de múltiplas contas foi removido em v4. O contexto de conta deve agora ser estabelecido através do fluxo de autorização.

2. Validação do parâmetro price adicionada

O parâmetro price tem agora uma restrição de validação minimum: 0. Valores negativos serão rejeitados.

Alteração necessária: Ensure you always pass a non-negative value for price. Use 0 for selling at market.

3. objeto sell agora obrigatório na resposta

No legado, o objeto sell era opcional na resposta. Em v4, está sempre presente para operações de venda bem-sucedidas.

4. Todos os campos do objeto sell agora obrigatórios

Todos os 5 campos dentro do objeto sell estão agora garantidamente presentes: balance_after, contract_id, reference_id, sold_for, e transaction_id.

Estrutura de pedido

Legacy APIexemplo de pedido
{
  "sell": 11542203588,
  "price": 500,
  "loginid": "CR123456"
}
New APIexemplo de pedido
{
  "sell": 11542203588,
  "price": 500
}

Estrutura de resposta

Legacy APIexemplo de resposta
{
  "sell": {
    "balance_after": 10500.50,
    "contract_id": 11542203588,
    "sold_for": 750.25
  },
  "msg_type": "sell"
}
New APIexemplo de resposta
{
  "sell": {
    "balance_after": 10500.50,
    "contract_id": 11542203588,
    "reference_id": 11542203587,
    "sold_for": 750.25,
    "transaction_id": 98765432
  },
  "msg_type": "sell"
}

Exemplos de código

async function sellContract(contractId, minimumPrice, loginId) {
  const request = {
    sell: contractId,
    price: minimumPrice,
    loginid: loginId
  };

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

  ws.onmessage = (msg) => {
    const response = JSON.parse(msg.data);
    if (response.msg_type === "sell") {
      if (response.sell) {
        const soldFor = response.sell.sold_for ?? 0;
        console.log("Sold for: " + soldFor);
      }
    }
  };
}
Click to open live chat support. Get instant help from our support team.