秒合约跳转与内嵌接入
秒合约跳转与内嵌接入: Agent Java SDK v0.3.0 接入、示例、参数及响应说明。
本文对应 Agent Java SDK v0.3.0、Java 8+ 与该标签的公开契约。示例在合作方后端运行;先按快速开始初始化 client。
示例前提
Java 示例共用以下导入。按快速开始初始化 client,从已保存的绑定取得 platformUserId。示例用户和订单 ID 必须替换为实际持久化值。
秒合约页面接入
跳转进入
后端签发一次性入口链接,把 webUrl 返回前端,由浏览器立即打开:
对应接口:POST /v1/agent/create-entry-url。本例进入模拟页面;实盘使用 tradingMode=real,并让商户钱包接口使用实盘环境。
以下为交易页面路径示例;语言、交易对和站点路径以平台提供的前端配置为准:
redirectPath 是前端内部相对路径,必须以 / 开头;returnUrl 是商户绝对 HTTP/HTTPS 地址。expireAt 为 Unix 秒。一次性 ticket 过期或已消费后重新签发,不能长期缓存或共享给其他用户。Agent 保存目标路径;页面模式由前端处理,不会因签发入口链接自动执行资金划转。
SDK 内嵌进入
已有合约内嵌的商户可以复用后端签 token 和续签逻辑,并配置秒合约页面地址。前端继续使用 Widget 的 partner-token + tokenProvider 机制。
接入顺序:
- 使用平台提供的 Widget SDK 创建实例,配置目标秒合约页面和实盘/模拟模式。
tokenProvider收到该实例的channelId后,请求商户自己的认证接口。- 商户后端根据登录会话取得
agentUserId,调用通用createEmbedToken。 - 商户后端返回
embedToken、expireAt,并原样带回当前请求的channelId,由前端交给 SDK。 - 续签使用同一实例通道;重建 Widget 后使用新实例提供的通道。
后端签 token 的调用:
对应接口:POST /v1/agent/create-embed-token。业务入参为 agentUserId、channelId,以及可选 symbol。秒合约不需要借用合约交易对来选择玩法。玩法、页面地址和交易模式由前端配置;token 不负责选择资金环境。
token 为短期一次性凭据,不放入 URL query,不当作用户永久登录凭据。签发或续签 token 不会充值、划转或改变余额。Java Agent SDK 负责后端认证;浏览器端另行加载 Trading Widget SDK。
前端完整示例
以下参数已按公开 Trading Widget SDK 核对(2026-10-10,线上版本 1.8.0)。Widget 版本与 Java SDK v0.3.0 是两个独立版本。
商户后端 /api/seconds/embed-token 接收 { "channelId": "tw_xxx" },校验当前登录会话并调用前面的 createEmbedToken,成功后返回以下顶层结构:
expireAt 使用 Agent 返回的实际 Unix 秒时间戳,不要使用示例值;channelId 由商户后端原样带回当前请求值,Agent 的 token 响应本身不包含该字段。如果商户接口使用 { "data": ... } 包装,前端须先取 data 再返回上述对象给 tokenProvider。业务失败应返回失败 HTTP 状态或在解析包装层时显式抛错。
SDK 在初始化和续签时调用 tokenProvider,每次都应请求新的 token;不要缓存并重复兑换同一个 token。用户切换或实盘/模拟盘切换时销毁旧实例,再以目标模式创建新实例。模拟页面的资金接口另行传 environment=SIMULATED;设置 tradingMode 或签 token 都不会替商户切换钱包请求的环境。