Saltar a la navegación

Libro mayor de contratos

Libro mayor de contratos: Agent Java SDK v0.3.0 integración, ejemplos, parámetros y semántica de respuesta.

Ver como Markdown

Esta guía está dirigida a Agent Java SDK v0.3.0, Java 8+ y el contrato público etiquetado. Los ejemplos se ejecutan en un backend asociado después de inicializar client en Inicio rápido.

Requisitos previos de ejemplo

Los fragmentos Java comparten estas importaciones. Inicialice client usando el Inicio rápido y obtenga platformUserId del enlace guardado. Los ID de usuario/pedido de ejemplo deben reemplazarse con sus propios valores persistentes.

import com.sixmm.agent.*;
import com.sixmm.agent.model.*;
import java.util.*;

listPerpetualLedger

Modelo de solicitud: PerpetualLedgerRequest.

import com.sixmm.agent.model.PerpetualLedgerRequest;
import com.sixmm.agent.model.PerpetualResponse;
import java.util.Collections;
PerpetualLedgerRequest request = new PerpetualLedgerRequest();
request.platformUserIds = Collections.singletonList("1188041528");
request.limit = 100;
request.endTime = System.currentTimeMillis();
request.startTime = request.endTime - 3_600_000L;
PerpetualResponse response = client.listPerpetualLedger(request);
System.out.println(response.data.items.size());
System.out.println(response.data.hasMore);
System.out.println(response.data.nextCursor);

Campos de solicitud

CampoJava tipoRequeridoSignificado
platformUserIdsjava.util.List<String>Condicional1 a 100 identificaciones públicas únicas; requerido para rellenos y pedidos condicionales. Omitir consultas admitidas para el alcance del jugador directo; [] no es válido.
assetTypeStringNoClasificación de activos según lo devuelto por el libro mayor; no asumas USDT.
changeTypeStringNoTipo de cambio de negocio del libro mayor, preservando los valores de origen.
startTimeLongNoMilisegundos Unix inclusivos; utilice una ventana de historial fija UTC.
endTimeLongNoMilisegundos exclusivos de Unix.
limitIntegerNoPredeterminado 500; 1–1000.
cursorStringNoUtilice el nextCursor devuelto con filtros sin cambios; detenerse cuando hasMore sea falso.

El ejemplo lee una página. Para campos obligatorios, alcance del reproductor, semántica de filtro, límite, cursor y reintentos limitados, siga Resumen de consultas. Mantenga todos los filtros sin cambios mientras busca; no interprete un error como un resultado vacío.

Registros del libro mayor de contratos

Interfaz: account/ledger. Los datos devueltos solo contienen los siguientes 11 campos comerciales y no incluyen los indicadores booleanos del pedido.

data campotiposignificado
ledgerIdstringEl libro mayor de origen registra el ID de la transacción; la misma transacción puede dividirse en múltiples detalles
symbolstringPar comercial relacionado, puede omitirse si no está relacionado
assetTypestringTipo de activo, guardado por valor de origen; utilizado para la clasificación de activos, no inferido por defecto USDT
changeTypestringTipo de negocio de cambio de cuenta, guardado según el valor de origen, como tarifa de manejo, pérdidas y ganancias, transferencia; Se puede filtrar por el mismo campo.
amountstringEl monto del cambio de este detalle, un número positivo indica un aumento, un número negativo indica una disminución; se mantiene la precisión
walletBalanceBeforestringEl saldo de la billetera antes del cambio de cuenta registrado en este detalle
walletBalanceAfterstringEl saldo de la billetera después del cambio de cuenta registrado en este detalle
frozenBalanceBeforestringEn este detalle se registra el saldo congelado registrado antes del cambio de cuenta.
frozenBalanceAfterstringEl saldo congelado registrado en este detalle después del cambio de cuenta.
referenceIdstringNúmero de negocio asociado; interpretado como changeType y no puede considerarse uniformemente como orden orderId; “0” indica que la fuente no tiene un número asociado válido
createdAtintegerTiempo de creación de los detalles del cambio de cuenta, milisegundos; este campo se utiliza para filtrar el tiempo en esta interfaz

Utilice el saldo antes y después del cambio de cuenta devuelto por la interfaz. Diferentes changeType tienen diferentes semánticas y no se puede suponer que cada cantidad sea igual a walletBalanceAfter − walletBalanceBefore. La visualización/resumen de los registros del libro mayor debe conservar el tipo y la identidad detallada.

A continuación se muestra un ejemplo del formato, utilizando un ID y un monto ficticios:

{
"code": 0,
"message": "success",
"data": {
"items": [
{
"platformUserId": "1188041528",
"entityType": "ACCOUNT_LEDGER",
"entityId": "900001",
"data": {
"ledgerId": "ledger-example-001",
"symbol": "BTCUSDT",
"assetType": "USDT",
"changeType": "HANDLING_FEE",
"amount": "-0.10000000",
"walletBalanceBefore": "100.00000000",
"walletBalanceAfter": "99.90000000",
"frozenBalanceBefore": "0.00000000",
"frozenBalanceAfter": "0.00000000",
"referenceId": "800001",
"createdAt": 1791590400000
}
}
],
"nextCursor": "",
"hasMore": false
}
}

Ejemplo de sobre de respuesta

Esta es una página vacía ilustrativa, no una muestra de una operación completada. Las tablas de campos específicos de recursos anteriores describen items[].data.

{"code":0,"message":"success","data":{"items":[],"nextCursor":"","hasMore":false}}

Guías fuente y relacionadas