Comprar
NegociaçãoAutenticação ObrigatóriaComprar um contrato. O parâmetro loginid foi removido e a validação do campo buy foi relaxada.
3 Alterações Disruptivas
loginid foi removido. Os utilizadores com várias contas devem atualizar os seus pedidos.Comparação rápida
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
{
"buy": "uw2mk7no3oktoRVVsB4Dz7TQnFfAB",
"price": 10.50,
"loginid": "CR123456"
}{
"buy": "uw2mk7no3oktoRVVsB4Dz7TQnFfAB",
"price": 10.50
}Estrutura 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"
}{
"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);
}
}
};
}Alguma outra questão? Entrar em contacto