Saltar a la navegación

Usuarios y activos

Usuarios y activos: 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.*;

Reglas de identificación de usuario

platformUserId es el 6MM ID de usuario externo. Actualmente es un numérico de 10 dígitos. cadena, por ejemplo:

1188041528

Normas:

  • Guárdelo como una cadena, no como un número entero.
  • No genere, decodifique ni infiera significado a partir de él.
  • Utilice su propio ID de usuario del lado del socio como agentUserId.
  • Persiste la relación entre agentUserId, platformUserId y agentOrderNo.

Vincular usuario

Bind crea o recupera la relación entre un usuario asociado y un 6MM usuario de la plataforma. Llámelo cuando un usuario ingresa por primera vez al flujo comercial o antes del primera transferencia a 6MM.

import com.sixmm.agent.model.BindRequest;
import com.sixmm.agent.model.BindResponse;
BindResponse resp = client.bind(
BindRequest.of("agent-user-001")
.withUsername("alice")
.withExt("{\"source\":\"web\"}"));
System.out.println(resp.platformUserId);
System.out.println(resp.bindStatus);
System.out.println(resp.isSimulatedUser);

Campos de solicitud:

CampoTipoRequeridoDescripción
agentUserIdstringSíID de usuario único del lado del socio
usernamestringNoNombre para mostrar del lado del socio utilizado como apodo del usuario de la plataforma
extstringNoCampo de extensión. Se recomienda la cadena JSON

Campos de respuesta:

CampoTipoDescripción
platformUserIdstring6MM ID de usuario externo
bindStatusstringGeneralmente BOUND
isSimulatedUserbooleanSi se trata de un usuario simulado

Consultar cuenta de socio

import com.sixmm.agent.model.QueryAccountRequest;
import com.sixmm.agent.model.QueryAccountResponse;
QueryAccountResponse resp = client.queryAccount(QueryAccountRequest.of("USDT"));
System.out.println(resp.agentCode);
System.out.println(resp.agentStatus);
resp.assets.forEach(asset -> {
System.out.println(asset.currency);
System.out.println(asset.depositBalance);
});

Cuando currency está ausente, el SDK usa defaultCurrency.

Consultar activos de usuario

import com.sixmm.agent.model.QueryUserAssetsRequest;
import com.sixmm.agent.model.QueryUserAssetsResponse;
QueryUserAssetsResponse resp = client.queryUserAssets(
QueryUserAssetsRequest.of("1188041528"));
System.out.println(resp.walletBalance);
System.out.println(resp.availableBalance);
System.out.println(resp.version);

Campos:

CampoTipoDescripción
walletBalancestringSaldo de billetera
frozenMarginstringMargen congelado
usedMarginstringMargen usado
availableBalancestringSaldo disponible
isolatedMarginstringmargen aislado
versionint64Versión de activo
isSimulatedUserbooleanSi se trata de un usuario simulado

Distinguir las tres carteras.

billeteraFuente de equilibriousar
Cartera de usuario propia del comercianteSistema de contabilidad propio del comerciante.El saldo disponible del usuario en el lado del comerciante
Financiamiento de la plataformaqueryUserAssets de fundingFondos de negociación de segundos y transferencia mutua de financiación/contrato
Contrato de plataformaEl campo de activo del contrato de queryUserAssetsMargen de contrato perpetuo y saldo transferible

queryAccount Consulta la cuenta de margen de la plataforma comercial, no la billetera del usuario comerciante. Esta interfaz no tiene environment parámetros y no se puede consultar como un activo de usuario simulado.

Consulta las dos billeteras de plataforma de usuarios simulados:

QueryUserAssetsResponse assets = client.queryUserAssets(
QueryUserAssetsRequest.of(platformUserId)
.withFunding()
.withEnvironment(ExecutionEnvironment.SIMULATED));

Interfaz: POST /v1/agent/query-user-assets. Se solicita financiación únicamente cuando includeFunding=true; La semántica de consulta de activos del contrato original se utiliza de forma predeterminada.

campos de respuestasignificado
walletBalance, availableBalance, frozenMargin, usedMargin, isolatedMarginMontos relacionados con la billetera del contrato
funding.assetCodeActualmente USDT
funding.availableAmount, heldAmount, totalAmountFinanciamiento disponible, ocupado y monto total
funding.materialized¿Se ha materializado la cuenta de financiación?
environmentEste campo se repite cuando el entorno se pasa explícitamente; Las solicitudes antiguas que omiten el entorno no devuelven este campo.
isSimulatedUserClasificación de cuentas; no puede reemplazar la selección del entorno comercial

Las cantidades se manejan como cadenas o BigDecimal, no float/double.

Guías fuente y relacionadas