Extrato
ContaAutenticação ObrigatóriaObter extrato de conta mostrando transações. O parâmetro loginid foi removido, campos relacionados com transferências removidos e validação action_type relaxada.
7 Alterações Incompatíveis
loginid foi removido. Os campos de resposta relacionados com transferência (app_id, fees,from, to, withdrawal_details) já não estão disponíveis.Comparação rápida
Alterações de rutura
1. loginid parâmetro removido
O parâmetro loginid utilizado para autorização de múltiplos tokens foi removido do pedido.
Alteração necessária: Remove loginid from your request payloads. Authenticate with the specific account token instead.
2. Campos relacionados com transferência removidos
Os seguintes campos já não são devolvidos em objetos de transação:
app_id,fees,from,to,withdrawal_details(removido)
3. action_type validação de enum removida
O parâmetro action_type já não valida contra um enum fixo. A nova API aceita qualquer valor de string.
4. Campos de resposta agora obrigatórios
A resposta garante agora determinados campos: statement.count, statement.transactions, e para cada transação: action_type, amount, balance_after, transaction_id, e transaction_time.
Estrutura de pedido
{
"statement": 1,
"action_type": "buy",
"limit": 25,
"loginid": "CR123456"
}{
"statement": 1,
"action_type": "buy",
"limit": 25
}Estrutura de resposta
{
"statement": {
"count": 100,
"transactions": [
{
"action_type": "buy",
"amount": -10.50,
"app_id": 1234,
"fees": { "amount": 0.5 }
}
]
},
"msg_type": "statement"
}{
"statement": {
"count": 100,
"transactions": [
{
"action_type": "buy",
"amount": -10.50,
"balance_after": 989.50,
"transaction_id": 987654321,
"transaction_time": 1234567890
}
]
},
"msg_type": "statement"
}Exemplos de código
async function getStatement(loginid) {
const request = {
statement: 1,
loginid: loginid
};
ws.send(JSON.stringify(request));
ws.onmessage = (event) => {
const response = JSON.parse(event.data);
if (response.msg_type === 'statement') {
response.statement.transactions.forEach(t => {
if (t.fees) console.log('Fee:', t.fees.amount);
});
}
};
}Alguma outra questão? Entrar em contacto