Transação
ContaAutenticação ObrigatóriaSubscrever notificações de transação em tempo real para atividade de conta de utilizador, incluindo compras, vendas, depósitos, levantamentos e outras transações financeiras.
7 Alterações Incompatíveis
Vários campos relacionados com contratos foram removidos, o campo symbol foi renomeado e a validação enum
action foi removida na Nova versão.Comparação rápida
Alterações de rutura
1. Alteração do valor do parâmetro subscribe
O Legado aceita apenas subscribe: 1, enquanto o Novo aceita tanto 0 como 1.
2. Parâmetro LoginId removido
O parâmetro opcional loginid foi removido em New.
3. Campos de barreira de contrato removidos
Os campos de resposta barrier, high_barrier e low_barrier foram removidos.
4. Campo de nome de exibição removido
O campo display_name foi removido da resposta na Nova versão.
5. Campos de stop loss/take profit removidos
Os campos de resposta stop_loss, stop_out e take_profit foram removidos.
6. Campo symbol renomeado
O campo symbol foi substituído por underlying_symbol em New.
7. Validação de enum action removida
O campo action na resposta já não valida contra um enum fixo. O New aceita qualquer valor de string.
Estrutura de pedido
Legacy APIexemplo de pedido
{
"transaction": 1,
"subscribe": 1,
"loginid": "CR90000001"
}New APIexemplo de pedido
{
"transaction": 1,
"subscribe": 1
}Estrutura de resposta
Legacy APIexemplo de resposta
{
"transaction": {
"action": "buy",
"amount": -83.23,
"symbol": "R_100", // ❌ Removed
"display_name": "Volatility 100 Index", // ❌ Removed
"barrier": "100.50" // ❌ Removed
},
"msg_type": "transaction"
}New APIexemplo de resposta
{
"transaction": {
"action": "buy",
"amount": -83.23,
"underlying_symbol": "R_100", // 🆕 Renamed
"transaction_id": 10867502908,
"transaction_time": 1699564500
},
"msg_type": "transaction"
}Exemplos de código
async function subscribeToTransactions() {
const request = {
transaction: 1,
subscribe: 1,
loginid: "CR90000001"
};
ws.send(JSON.stringify(request));
ws.onmessage = (msg) => {
const response = JSON.parse(msg.data);
if (response.msg_type === 'transaction') {
const txn = response.transaction;
console.log('Symbol:', txn.symbol);
if (txn.barrier) console.log('Barrier:', txn.barrier);
}
};
}Alguma outra questão? Entrar em contacto