Deriv API
Documentación

Tabla de ganancias

CuentaRequiere autenticación

Obtenga el historial de ganancias y pérdidas. El parámetro loginid eliminado, campos de respuesta ahora obligatorios, y validación relajada.

Comparación rápida

AspectoLegacy APINew APIAcción
Endpointprofit_tableprofit_tableNinguno
Requiere autenticaciónNinguno
Parámetro loginidSoportadoEliminadoEliminar de las solicitudes
Campos de respuestaOpcionalObligatorioActualizar manejo de errores
Tipo de app_idinteger | nullenteroEliminar verificaciones nulas

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

Legacy APIejemplo de solicitud
{
  "profit_table": 1,
  "limit": 25,
  "sort": "ASC",
  "loginid": "CR12345"
}
New APIejemplo de solicitud
{
  "profit_table": 1,
  "limit": 25,
  "sort": "ASC"
}

Estructura de respuesta

Legacy APIejemplo de respuesta
{
  "profit_table": {
    "count": 100,
    "transactions": [
      {
        "app_id": null,
        "buy_price": 10.00,
        "sell_price": 15.00
      }
    ]
  },
  "msg_type": "profit_table"
}
New APIejemplo de respuesta
{
  "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

Click to open live chat support. Get instant help from our support team.