Vai alla navigazione

Utenti e risorse

Utenti e risorse: Agent Java SDK Integrazione v0.3.0, esempi, parametri e semantica della risposta.

Visualizza come Markdown

Questa guida è rivolta a Agent Java SDK v0.3.0, Java 8+ e agli appalti pubblici contrassegnati. Gli esempi vengono eseguiti nel backend di un partner dopo aver inizializzato client in Avvio rapido.

Prerequisiti di esempio

Gli snippet Java condividono queste importazioni. Inizializza client utilizzando Quick Start e ottieni platformUserId dall’associazione salvata. Gli ID utente/ordine di esempio devono essere sostituiti con i tuoi valori persistenti.

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

Regole ID utente

platformUserId è l’ID utente esterno 6MM Attualmente è un numero di 10 cifre stringa, ad esempio:

1188041528

Regole:

  • Memorizzalo come una stringa, non come un numero intero.
  • Non generare, decodificare o dedurre significato da esso.
  • Utilizza il tuo ID utente lato partner come agentUserId.
  • Persistenza della relazione tra agentUserId, platformUserId e agentOrderNo.

Associa utente

Bind crea o recupera la relazione tra un utente partner e un 6MM utente della piattaforma. Chiamalo quando un utente entra per la prima volta nel flusso di trading o prima del primo trasferimento in 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);

Campi richiesta:

CampoTipoNecessarioDescrizione
agentUserIdstringSÌID utente univoco lato partner
usernamestringNONome visualizzato lato partner utilizzato come nickname dell’utente della piattaforma
extstringNOCampo estensione. Si consiglia la stringa JSON

Campi di risposta:

CampoTipoDescrizione
platformUserIdstring6MM ID utente esterno
bindStatusstringDi solito BOUND
isSimulatedUserbooleanIndica se si tratta di un utente simulato

Interroga l’account del partner

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 è assente, SDK utilizza defaultCurrency.

Interrogare le risorse utente

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

Campi:

CampoTipoDescrizione
walletBalancestringSaldo del portafoglio
frozenMarginstringMargine congelato
usedMarginstringMargine utilizzato
availableBalancestringSaldo disponibile
isolatedMarginstringMargine isolato
versionint64Versione dell’asset
isSimulatedUserbooleanIndica se si tratta di un utente simulato

Distinguere i tre portafogli

portafoglioFonte del saldoutilizzo
Portafoglio utente del commercianteIl sistema contabile del commercianteIl saldo disponibile dell’utente dal lato commerciante
Finanziamento della piattaformaqueryUserAssets di fundingSecondi scambi di fondi e trasferimento reciproco di finanziamenti/contratti
Contratto di piattaformaIl campo della risorsa contratto di queryUserAssetsMargine contrattuale perpetuo e saldo trasferibile

queryAccount Interroga il conto di margine della piattaforma del commerciante, non il portafoglio dell’utente del commerciante. Questa interfaccia non dispone di parametri environment e non può essere interrogata come risorsa utente simulata.

Interroga i due portafogli della piattaforma degli utenti simulati:

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

Interfaccia: POST /v1/agent/query-user-assets. Il finanziamento viene richiesto solo quando includeFunding=true; per impostazione predefinita viene utilizzata la semantica della query della risorsa contratto originale.

campi di rispostaSenso
walletBalance, availableBalance, frozenMargin, usedMargin, isolatedMarginImporti relativi al portafoglio contrattuale
funding.assetCodeAttualmente USDT
funding.availableAmount, heldAmount, totalAmountFondi disponibili, occupati e importo totale
funding.materializedSe il conto di finanziamento è stato materializzato?
environmentQuesto campo viene ripetuto quando l’ambiente viene passato esplicitamente; le vecchie richieste che omettono l’ambiente non restituiscono questo campo.
isSimulatedUserClassificazione dei conti; non può sostituire la selezione dell’ambiente di trading

Gli importi vengono gestiti come stringhe o BigDecimal, non float/double.

Fonte e guide correlate