Ir para a navegação

Usuários e ativos

Usuários e ativos: Integração Agent Java SDK v0.3.0, exemplos, parâmetros e semântica de resposta.

Ver como Markdown

Este guia é direcionado a Agent Java SDK v0.3.0, Java 8+ e ao contrato público marcado. Os exemplos são executados em um back-end de parceiro após a inicialização de client em Início rápido.

Pré-requisitos de exemplo

Os trechos Java compartilham essas importações. Inicialize client usando o Quick Start e obtenha platformUserId da ligação salva. Os exemplos de IDs de usuário/pedido devem ser substituídos por seus próprios valores persistentes.

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

Regras de ID do usuário

platformUserId é o ID do usuário externo 6MM. Atualmente é um número de 10 dígitos cadeia de caracteres, por exemplo:

1188041528

Regras:

  • Armazene-o como uma string, não como um número inteiro.
  • Não gere, decodifique ou infira significado a partir dele.
  • Use seu próprio ID de usuário do parceiro como agentUserId.
  • Persista o relacionamento entre agentUserId, platformUserId e agentOrderNo.

Vincular usuário

Bind cria ou busca o relacionamento entre um usuário parceiro e um 6MM usuário da plataforma. Chame-o quando um usuário entrar pela primeira vez no fluxo de negociação ou antes do primeira transferência para 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 solicitação:

CampoTipoObrigatórioDescrição
agentUserIdstringSimID de usuário exclusivo do parceiro
usernamestringNãoNome de exibição do parceiro usado como apelido do usuário da plataforma
extstringNãoCampo de extensão. A string JSON é recomendada

Campos de resposta:

CampoTipoDescrição
platformUserIdstring6MM ID de usuário externo
bindStatusstringGeralmente BOUND
isSimulatedUserbooleanSe este é um usuário simulado

Consultar conta do parceiro

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);
});

Quando currency está ausente, o SDK usa defaultCurrency.

Consultar ativos do usuário

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:

CampoTipoDescrição
walletBalancestringSaldo da carteira
frozenMarginstringMargem congelada
usedMarginstringMargem usada
availableBalancestringSaldo disponível
isolatedMarginstringMargem isolada
versionint64Versão do ativo
isSimulatedUserbooleanSe este é um usuário simulado

Distinguir as três carteiras

carteiraFonte de equilíbriousar
Carteira de usuário do próprio comercianteSistema de contabilidade próprio do comercianteO saldo disponível do usuário no lado do comerciante
Financiamento da plataformaqueryUserAssets de fundingFundos de negociação de segundos e transferência mútua de financiamento/contrato
Contrato de plataformaO campo de ativo de contrato de queryUserAssetsMargem de contrato perpétuo e saldo transferível

queryAccount Consulte a conta de margem da plataforma do comerciante, não a carteira do usuário do comerciante. Esta interface não possui parâmetros environment e não pode ser consultada como um ativo de usuário simulado.

Consulte as duas carteiras da plataforma de usuários simulados:

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

Interface: POST /v1/agent/query-user-assets. O financiamento é solicitado apenas quando includeFunding=true; a semântica de consulta do ativo do contrato original é usada por padrão.

campos de respostasignificado
walletBalance, availableBalance, frozenMargin, usedMargin, isolatedMarginValores relacionados à carteira de contrato
funding.assetCodeAtualmente USDT
funding.availableAmount, heldAmount, totalAmountFinanciamento disponível, ocupado e valor total
funding.materializedSe a conta de financiamento foi materializada?
environmentEste campo é repetido quando o ambiente é passado explicitamente; solicitações antigas que omitem o ambiente não retornam este campo.
isSimulatedUserClassificação de contas; não pode substituir a seleção do ambiente de negociação

Os valores são tratados como strings ou BigDecimal, não float/double.

Fonte e guias relacionados