Tabla de ganancias
CuentaRequiere autenticaciónObtenga el historial de ganancias y pérdidas. El parámetro loginid eliminado, campos de respuesta ahora obligatorios, y validación relajada.
5 Cambios Importantes
loginid ha sido eliminado, los campos de respuesta ahora son obligatorios, y app_id ya no es anulable.Comparación rápida
Cambios importantes
1. parámetro loginid eliminado
El parámetro loginid ya no es compatible con las solicitudes. La autenticación ahora se maneja mediante tokens de sesión.
2. app_id ya no es nullable
El campo app_id en transacciones cambió de integer | null a integer.
3. Campos de respuesta ahora obligatorios
El objeto profit_table, count y transactions ahora son obligatorios en la respuesta.
4. Campos de transacción ahora obligatorios
Los objetos de transacción ahora tienen campos obligatorios: buy_price, payout, purchase_time, sell_price, y transaction_id.
5. Validación relajada
La validación del lado del servidor es más permisiva para sort, limit, contract_type, y los parámetros de fecha.
Cambio requerido: Implement client-side validation if you were relying on the server to reject invalid values.
Estructura de solicitud
{
"profit_table": 1,
"limit": 25,
"sort": "ASC",
"loginid": "CR12345"
}{
"profit_table": 1,
"limit": 25,
"sort": "ASC"
}Estructura de respuesta
{
"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"
}Ejemplos 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';
});
}
};
}¿Alguna otra pregunta? Póngase en contacto