Zur Navigation springen

Benutzer und Vermögenswerte

Benutzer und Vermögenswerte: Agent Java SDK v0.3.0-Integration, Beispiele, Parameter und Antwortsemantik.

Als Markdown anzeigen

Dieser Leitfaden richtet sich an Agent Java SDK v0.3.0, Java 8+ und den getaggten öffentlichen Auftrag. Beispiele werden nach der Initialisierung von client in einem Partner-Backend ausgeführt Schnellstart.

Beispielvoraussetzungen

Die Java-Snippets teilen diese Importe. Initialisieren Sie client mit Quick Start und rufen Sie platformUserId aus der gespeicherten Bindung ab. Beispiel-Benutzer-/Bestell-IDs müssen durch Ihre eigenen persistenten Werte ersetzt werden.

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

Benutzer-ID-Regeln

platformUserId ist die externe Benutzer-ID 6MM. Derzeit handelt es sich um eine 10-stellige Zahl Zeichenfolge, zum Beispiel:

1188041528

Regeln:

  • Speichern Sie es als Zeichenfolge, nicht als Ganzzahl.
  • Erzeugen, entschlüsseln oder leiten Sie daraus keine Bedeutung ab.
  • Verwenden Sie Ihre eigene Partner-Benutzer-ID als agentUserId.
  • Behalten Sie die Beziehung zwischen agentUserId, platformUserId und agentOrderNo bei.

Benutzer binden

Bind erstellt oder ruft die Beziehung zwischen einem Partnerbenutzer und einem 6MM ab. Plattformbenutzer. Rufen Sie es auf, wenn ein Benutzer zum ersten Mal in den Handelsfluss eintritt oder bevor Erster Transfer nach 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);

Anfragefelder:

FeldTypErforderlichBeschreibung
agentUserIdstringJaEindeutige Partner-Benutzer-ID
usernamestringNEINPartnerseitiger Anzeigename, der als Spitzname des Plattformbenutzers verwendet wird
extstringNEINErweiterungsfeld. Die Zeichenfolge JSON wird empfohlen

Antwortfelder:

FeldTypBeschreibung
platformUserIdstring6MM externe Benutzer-ID
bindStatusstringNormalerweise BOUND
isSimulatedUserbooleanOb es sich um einen simulierten Benutzer handelt

Partnerkonto abfragen

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

Wenn currency fehlt, verwendet SDK defaultCurrency.

Benutzerressourcen abfragen

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

Felder:

FeldTypBeschreibung
walletBalancestringWallet-Guthaben
frozenMarginstringGefrorener Rand
usedMarginstringGebrauchter Rand
availableBalancestringVerfügbares Guthaben
isolatedMarginstringIsolierter Rand
versionint64Asset-Version
isSimulatedUserbooleanOb es sich um einen simulierten Benutzer handelt

Unterscheiden Sie die drei Geldbörsen

GeldbörseBalance-Quelleverwenden
Eigenes Benutzer-Wallet des HändlersEigenes Buchhaltungssystem des HändlersDas verfügbare Guthaben des Benutzers auf der Händlerseite
PlattformfinanzierungqueryUserAssets von fundingSekundenhandel mit Geldern und gegenseitige Finanzierung/Vertragsübertragung
PlattformvertragDas Vertragsvermögenswertfeld von queryUserAssetsDauervertragsmarge und übertragbarer Saldo

queryAccount Fragen Sie das Margin-Konto der Händlerplattform ab, nicht die Wallet des Händlerbenutzers. Diese Schnittstelle verfügt nicht über environment-Parameter und kann nicht als simuliertes Benutzer-Asset abgefragt werden.

Fragen Sie die beiden Plattform-Wallets simulierter Benutzer ab:

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

Schnittstelle: POST /v1/agent/query-user-assets. Eine Finanzierung wird nur beantragt, wenn includeFunding=true; Standardmäßig wird die ursprüngliche Abfragesemantik für Vertragsvermögenswerte verwendet.

AntwortfelderBedeutung
walletBalance, availableBalance, frozenMargin, usedMargin, isolatedMarginBeträge im Zusammenhang mit der Vertragsmappe
funding.assetCodeDerzeit USDT
funding.availableAmount, heldAmount, totalAmountVerfügbare Fördermittel, belegte Mittel und Gesamtbetrag
funding.materializedOb das Finanzierungskonto realisiert wurde?
environmentDieses Feld wird wiedergegeben, wenn die Umgebung explizit übergeben wird. Alte Anfragen, die die Umgebung weglassen, geben dieses Feld nicht zurück.
isSimulatedUserKontoklassifizierung; kann die Auswahl der Handelsumgebung nicht ersetzen

Beträge werden als Zeichenfolgen oder BigDecimal behandelt, nicht als float/double.

Quelle und zugehörige Leitfäden