Tabela de lucros
ContaAutenticação ObrigatóriaObtenha o histórico de lucros e perdas dos contratos fechados. O loginid parâmetro e o campo app_id foram removidos, e os valores de contract_type foram alterados.
3 Alterações Disruptivas
loginid e o campo app_id foram removidos, e o filtro contract_type aceita valores diferentes.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 necessária: Remova loginid dos seus pedidos de profit_table . O seu token seleciona a conta.
2. app_id removido das transações
A Legacy API devolvia app_id, o ID da aplicação através da qual o contrato foi comprado, em cada transação. A New API não o devolve.
Alteração necessária: Deixe de ler app_id das transações da tabela de lucro.
3. contract_type valores alterados
O filtro contract_type já não aceita CALLSPREAD, PUTSPREAD, LBFLOATCALL, LBFLOATPUT nem LBHIGHLOW, e adiciona HIGHER e LOWER.
Alteração necessária: Remova de contract_typeos valores que a New API já não aceita.
Estrutura de pedido
{
"profit_table": 1,
"contract_type": [
"CALL",
"CALLSPREAD"
],
"description": 1,
"limit": 25,
"loginid": "CR123456",
"req_id": 1
}{
"profit_table": 1,
"contract_type": [
"CALL",
"HIGHER"
],
"description": 1,
"limit": 25,
"req_id": 1
}Estrutura de resposta
{
"echo_req": {
"profit_table": 1,
"contract_type": [
"CALL",
"CALLSPREAD"
],
"description": 1,
"limit": 25,
"loginid": "CR123456",
"req_id": 1
},
"msg_type": "profit_table",
"profit_table": {
"count": 1,
"transactions": [
{
"buy_price": 10,
"contract_id": 11542203588,
"contract_type": "CALL",
"duration_type": "minutes",
"longcode": "Win payout if Volatility 100 Index is strictly higher than entry spot at 5 minutes after contract start time.",
"payout": 19.55,
"purchase_time": 1760000000,
"sell_price": 19.55,
"sell_time": 1760000300,
"shortcode": "CALL_R_100_19.55_1760000000_1760000300_S0P_0",
"transaction_id": 11542203587,
"underlying_symbol": "R_100",
"app_id": 1089
}
]
},
"req_id": 1
}{
"echo_req": {
"profit_table": 1,
"contract_type": [
"CALL",
"HIGHER"
],
"description": 1,
"limit": 25,
"req_id": 1
},
"msg_type": "profit_table",
"profit_table": {
"count": 1,
"transactions": [
{
"buy_price": 10,
"contract_id": 11542203588,
"contract_type": "CALL",
"duration_type": "minutes",
"longcode": "Win payout if Volatility 100 Index is strictly higher than entry spot at 5 minutes after contract start time.",
"payout": 19.55,
"purchase_time": 1760000000,
"sell_price": 19.55,
"sell_time": 1760000300,
"shortcode": "CALL_R_100_19.55_1760000000_1760000300_S0P_0",
"transaction_id": 11542203587,
"underlying_symbol": "R_100"
}
]
},
"req_id": 1
}Exemplos de código
function getProfitTable(loginId) {
ws.send(JSON.stringify({ profit_table: 1, description: 1, limit: 25, loginid: loginId }));
ws.onmessage = (event) => {
const response = JSON.parse(event.data);
if (response.msg_type !== "profit_table") return;
if (response.profit_table) {
response.profit_table.transactions?.forEach((tx) => {
console.log(tx.contract_id, tx.sell_price - tx.buy_price, tx.app_id);
});
}
};
}Alguma outra questão? Entrar em contacto