跳到导航

用户绑定与资产查询

用户绑定与资产查询: 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 规则

6MM 对外返回的 platformUserId 是平台对外用户 ID,当前为 10 位纯数字字符串,例如:

1188041528

要求:

  • 按字符串保存,不要按整数保存,避免不同语言或数据库类型带来精度、长度或前导零问题。
  • 不要自行生成、拆解或推断 platformUserId 的含义。
  • 代理商系统自己的用户 ID 使用 agentUserId。
  • 划转、查单、Webhook 对账时优先保存 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是代理商侧用户唯一标识
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是否模拟用户

三种余额分别使用

钱包余额来源用途
商户自己的用户钱包商户自己的账务系统用户在商户侧的可用余额
平台 FundingqueryUserAssets 的 funding秒合约资金及 Funding/Contract 互转
平台 ContractqueryUserAssets 的合约资产字段永续合约保证金及可划出余额

queryAccount 查询商户平台保证金账户,不是商户用户钱包。该接口没有 environment 参数,不能作为模拟用户资产查询。

查询模拟用户的两个平台钱包:

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

接口:POST /v1/agent/query-user-assets。includeFunding=true 时才请求 Funding;默认沿用原合约资产查询语义。

响应字段含义
walletBalance、availableBalance、frozenMargin、usedMargin、isolatedMargin合约钱包相关金额
funding.assetCode当前为 USDT
funding.availableAmount、heldAmount、totalAmountFunding 可用、占用及总金额
funding.materializedFunding 账户是否已物化
environment显式传环境时回显;省略环境的旧请求不返回此字段
isSimulatedUser用户账户性质;不能代替交易环境选择

金额以字符串或 BigDecimal 处理,不使用 float/double。

来源与相关指南