Transação
ContaAutenticação ObrigatóriaSubscreva notificações de compra e venda de contratos, depósitos e levantamentos. O parâmetro loginid e alguns campos de contrato foram removidos, symbol foi renomeado para underlying_symbol, e action tem menos valores.
6 Alterações de Rutura
loginid foi removido, symbol foi renomeado para underlying_symbol, e os campos de barreira, display_name, Stop Loss, Stop out e Take Profit foram removidos, e action tem menos valores. subscribe não foi alterado e continua a aceitar apenas 1.Comparação rápida
Alterações de rutura
1. loginid parâmetro removido
Na Legacy API, loginid selecionava a conta quando autorizava várias contas. A New API não o aceita.
Alteração obrigatória: Remova loginid dos seus pedidos transaction . O seu token seleciona a conta.
2. symbol renomeado para underlying_symbol
O objeto transaction devolve o símbolo como underlying_symbol em vez de symbol.
Alteração necessária: Leia underlying_symbol em vez de symbol.
3. Campos de barreira removidos
barrier, high_barrier e low_barrier já não são devolvidos.
Alteração necessária: Obtenha as barreiras de proposal_open_contract em vez disso.
4. display_name removido
O display_name do símbolo já não é devolvido.
Alteração necessária: Obtenha o nome do símbolo de active_symbols em vez disso.
5. stop_loss, stop_out e take_profit removidos
stop_loss, stop_out e take_profit deixaram de ser devolvidos.
Alteração necessária: Obtenha ordens limite de proposal_open_contract em vez disso.
6. Menos valores de action
action é buy, sell, deposit ou withdrawal. A New API já não devolve escrow, adjustment, virtual_credit nem transfer.
Alteração obrigatória: Atualize o código que processa os valores que a New API já não devolve.
Estrutura de pedido
{
"transaction": 1,
"subscribe": 1,
"loginid": "CR123456",
"req_id": 1
}{
"transaction": 1,
"subscribe": 1,
"req_id": 1
}Estrutura de resposta
{
"echo_req": {
"transaction": 1,
"subscribe": 1,
"loginid": "CR123456",
"req_id": 1
},
"msg_type": "transaction",
"req_id": 1,
"subscription": {
"id": "c84a793b-8a87-7999-ce10-9b22f7ceead3"
},
"transaction": {
"action": "buy",
"amount": -10,
"balance": 9990,
"contract_id": 11542203588,
"currency": "USD",
"date_expiry": 1760000300,
"id": "c84a793b-8a87-7999-ce10-9b22f7ceead3",
"longcode": "Win payout if Volatility 100 Index is strictly higher than entry spot at 5 minutes after contract start time.",
"purchase_time": 1760000000,
"transaction_id": 11542203587,
"transaction_time": 1760000000,
"barrier": "S0P",
"display_name": "Volatility 100 Index",
"stop_loss": null,
"stop_out": null,
"symbol": "R_100",
"take_profit": null
}
}{
"echo_req": {
"transaction": 1,
"subscribe": 1,
"req_id": 1
},
"msg_type": "transaction",
"req_id": 1,
"subscription": {
"id": "c84a793b-8a87-7999-ce10-9b22f7ceead3"
},
"transaction": {
"action": "buy",
"amount": -10,
"balance": 9990,
"contract_id": 11542203588,
"currency": "USD",
"date_expiry": 1760000300,
"id": "c84a793b-8a87-7999-ce10-9b22f7ceead3",
"longcode": "Win payout if Volatility 100 Index is strictly higher than entry spot at 5 minutes after contract start time.",
"purchase_time": 1760000000,
"transaction_id": 11542203587,
"transaction_time": 1760000000,
"underlying_symbol": "R_100"
}
}Exemplos de código
function watchTransactions(loginId) {
ws.send(JSON.stringify({ transaction: 1, subscribe: 1, loginid: loginId }));
ws.onmessage = (event) => {
const response = JSON.parse(event.data);
if (response.msg_type !== "transaction" || !response.transaction) return;
const tx = response.transaction;
console.log(tx.action, tx.amount, tx.symbol, tx.display_name, tx.barrier);
};
}Alguma outra questão? Entrar em contacto