Saldo
Autenticação ObrigatóriaObtenha o saldo de conta atual e, opcionalmente, subscreva atualizações de saldo em tempo real.
Alteração crítica
O Novo retorna apenas o saldo de conta atual — suporte multi-conta e o parâmetro
loginid foram removidos.Comparação Rápida
Alterações Incompatíveis
1. Parâmetro de conta removido
O parâmetro account (para obter "todas" as contas, "atual" ou ID de conta específico) foi removido.
2. Resposta multi-conta removida
O objeto accounts na resposta que continha informação detalhada sobre todas as contas ativas foi removido.
3. Saldos totais removidos
O objeto total que fornecia totais resumidos por tipo de conta (deriv, deriv_demo, mt5, mt5_demo) foi removido.
4. Parâmetro de Login ID removido
O parâmetro loginid foi removido. Este parâmetro era obrigatório quando eram fornecidos múltiplos tokens durante a autorização.
Alteração obrigatória: Use ligações WebSocket separadas ou chamadas de autorização separadas para cada conta que necessita consultar.
Estrutura de Pedido
Legacy APIexemplo de pedido
{
"balance": 1,
"account": "all", // ❌ Removed in New
"loginid": "CR123456", // ❌ Removed in New
"subscribe": 1
}New APIexemplo de pedido
{
"balance": 1,
"subscribe": 1
}Estrutura de Resposta
Legacy APIexemplo de resposta
{
"balance": {
"balance": 10000.50,
"currency": "USD",
"loginid": "CR123456",
"accounts": { // ❌ Not in New
"CR123456": {
"balance": 10000.50,
"converted_amount": 10000.50,
"currency": "USD",
"demo_account": 0,
"status": 1,
"type": "deriv"
}
}
}
}New APIexemplo de resposta
{
"balance": {
"balance": 10000.50,
"currency": "USD",
"loginid": "CR123456"
},
"msg_type": "balance"
}Exemplos de código
Legacy APIimplementação
async function getCurrentBalance() {
const request = {
balance: 1,
subscribe: 1
};
ws.send(JSON.stringify(request));
ws.onmessage = (event) => {
const response = JSON.parse(event.data);
if (response.msg_type === 'balance') {
console.log('Balance:', response.balance.balance);
console.log('Currency:', response.balance.currency);
console.log('Login ID:', response.balance.loginid);
// Access multi-account data
if (response.balance.accounts) {
Object.keys(response.balance.accounts).forEach(id => {
const acc = response.balance.accounts[id];
console.log(`Account ${id}: ${acc.balance}`);
});
}
}
};
}New APIimplementação
async function getCurrentBalance() {
const request = {
balance: 1,
subscribe: 1
};
ws.send(JSON.stringify(request));
ws.onmessage = (event) => {
const response = JSON.parse(event.data);
if (response.msg_type === 'balance') {
console.log('Balance:', response.balance.balance);
console.log('Currency:', response.balance.currency);
console.log('Login ID:', response.balance.loginid);
// Multi-account data no longer available
// Make separate calls for each account
}
};
}Alguma outra questão? Entrar em contacto