Tabela de lucros
ContaAutenticação ObrigatóriaObtenha o histórico de lucros e perdas. O parâmetro loginid foi removido, os campos de resposta são agora obrigatórios e a validação foi relaxada.
5 Alterações Incompatíveis
loginid foi removido, os campos de resposta são agora obrigatórios, e app_id já não pode ser nulo.Comparação rápida
Alterações de rutura
1. Parâmetro loginid removido
O parâmetro loginid já não é suportado em pedidos. A autenticação é agora gerida através de tokens de sessão.
2. app_id já não é anulável
O campo app_id nas transações mudou de integer | null para integer.
3. Campos de resposta agora obrigatórios
O objeto profit_table, count e transactions são agora obrigatórios na resposta.
4. Campos de transação agora obrigatórios
Os objetos de transação têm agora campos obrigatórios: buy_price, payout, purchase_time, sell_price e transaction_id.
5. Validação flexibilizada
A validação do lado do servidor é mais permissiva para os parâmetros sort, limit, contract_type e parâmetros de data.
Alteração necessária: Implement client-side validation if you were relying on the server to reject invalid values.
Estrutura de pedido
{
"profit_table": 1,
"limit": 25,
"sort": "ASC",
"loginid": "CR12345"
}{
"profit_table": 1,
"limit": 25,
"sort": "ASC"
}Estrutura de resposta
{
"profit_table": {
"count": 100,
"transactions": [
{
"app_id": null,
"buy_price": 10.00,
"sell_price": 15.00
}
]
},
"msg_type": "profit_table"
}{
"profit_table": {
"count": 100,
"transactions": [
{
"app_id": 12345,
"buy_price": 10.00,
"sell_price": 15.00
}
]
},
"msg_type": "profit_table"
}Exemplos de código
async function getProfitTable() {
const request = {
profit_table: 1,
limit: 25,
loginid: "CR12345"
};
ws.send(JSON.stringify(request));
ws.onmessage = (event) => {
const response = JSON.parse(event.data);
if (response.msg_type === 'profit_table') {
const count = response.profit_table?.count || 0;
console.log('Total:', count);
response.profit_table?.transactions?.forEach(t => {
const appId = t.app_id ?? 'Unknown';
});
}
};
}Alguma outra questão? Entrar em contacto