ナビゲーションにスキップ

ユーザーと資産

ユーザーと資産: Agent Java SDK v0.3.0 の統合、例、パラメーター、および応答セマンティクス。

Markdownとして表示

このガイドは、Agent Java SDK v0.3.0、Java 8 以降、およびタグ付けされたパブリック コントラクトを対象としています。例は client を初期化した後にパートナー バックエンドで実行されます。 クイックスタート.

前提条件の例

Java スニペットはこれらのインポートを共有します。クイック スタートを使用して client を初期化し、保存されたバインディングから platformUserId を取得します。ユーザー/オーダー ID の例は、独自の永続化された値に置き換える必要があります。

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

ユーザーIDのルール

platformUserId は 6MM の外部ユーザー ID です。現在は 10 桁の数字です 文字列、例:

1188041528

ルール:

  • 整数ではなく文字列として保存します。
  • そこから意味を生成、解読、または推測しないでください。
  • 独自のパートナー側ユーザー ID を agentUserId として使用します。
  • agentUserId、platformUserId、および agentOrderNo 間の関係を維持します。

バインドユーザー

バインドは、パートナー ユーザーと 6MM の間の関係を作成または取得します。 プラットフォームのユーザー。ユーザーが最初に取引フローに入るとき、または取引フローに入る前に呼び出します。 最初に 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);

リクエストフィールド:

分野タイプ必須説明
agentUserIdstringはいパートナー側の一意のユーザーID
usernamestringいいえプラットフォームユーザーのニックネームとして使用されるパートナー側の表示名
extstringいいえ拡張フィールド。 JSON 文字列が推奨されます

応答フィールド:

分野タイプ説明
platformUserIdstring6MM 外部ユーザー ID
bindStatusstring通常 BOUND
isSimulatedUserbooleanこれがシミュレートされたユーザーであるかどうか

パートナーアカウントのクエリ

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

currency が存在しない場合、SDK は defaultCurrency を使用します。

ユーザー資産のクエリ

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

フィールド:

分野タイプ説明
walletBalancestringウォレット残高
frozenMarginstring凍結マージン
usedMarginstring使用済み証拠金
availableBalancestring利用可能残高
isolatedMarginstring孤立したマージン
versionint64アセットのバージョン
isSimulatedUserbooleanこれがシミュレートされたユーザーであるかどうか

3つの財布を区別する

財布バランスソース使用
販売者自身のユーザーウォレット加盟店独自の会計システムユーザーの加盟店側の利用可能残高
プラットフォームの資金調達queryUserAssets/funding秒取引資金と資金・契約の相互送金
プラットフォーム契約queryUserAssets の契約資産フィールド無期限契約証拠金と譲渡可能残高

queryAccount 販売者ユーザーのウォレットではなく、販売者プラットフォームの証拠金口座をクエリします。このインターフェイスには environment パラメータがないため、シミュレートされたユーザー アセットとしてクエリを実行することはできません。

シミュレートされたユーザーの 2 つのプラットフォーム ウォレットをクエリします。

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

インターフェース: POST /v1/agent/query-user-assets。資金は includeFunding=true の場合にのみ要求されます。元の契約資産クエリ セマンティクスがデフォルトで使用されます。

応答フィールド意味
walletBalance、availableBalance、frozenMargin、usedMargin、isolatedMargin契約ウォレット関連金額
funding.assetCode現在USDT
funding.availableAmount、heldAmount、totalAmount利用可能な資金、占有額、総額
funding.materialized資金口座が具体化されているかどうか?
environmentこのフィールドは、環境が明示的に渡されるときにエコーされます。環境を省略する古いリクエストは、このフィールドを返しません。
isSimulatedUserアカウントの分類。取引環境の選択を置き換えることはできません

金額は、float/double ではなく、文字列または BigDecimal として処理されます。

ソースおよび関連ガイド