公开玩家 API
这里列出授权模拟平台的公开玩家接口。全部金额均为 SIM 模拟积分,不接入真实支付。返回玩家界面
身份与请求约定
注册、登录使用 JSON 对象 {"username":"your_name","password":"your-own-password"},将示例值替换为自己的账户信息。用户名为 3–40 位字母、数字、下划线或连字符,密码为 8–128 位。普通注册只创建玩家。
登录成功后,浏览器保存 HttpOnly Session Cookie,响应 JSON 返回 csrf_token。后续已登录的写请求携带 Cookie 和 X-CSRF-Token 请求头。浏览器写请求的 Origin 必须与当前部署地址一致。
金额以整数分表示,100 分 = 1 SIM。所有写入示例只说明请求格式;调用前须读取公开规则和当前期次,确认授权与封盘状态。
公开信息
GET /api/v1/game:游戏规则、实际周期、封盘间隔、赔率、额度与理论概率。GET /api/v1/rounds/current:当前期次及服务器时间。GET /api/v1/rounds/history?limit=30&before=期号:已结算历史;limit 范围 1–100,before 为可选游标。GET /health、GET /ready:服务健康与开奖服务就绪检查;不可用时返回 503。
账户
POST /api/register:注册模拟玩家。POST /api/login:登录并取得 CSRF 令牌。GET /api/me:当前账户身份,须登录。POST /api/logout:撤销当前 Session,须登录及 CSRF。
投注
POST /api/v1/bets:须登录及 CSRF。request_key 为调用方生成的 8–80 位字母、数字、下划线或连字符。同一次未确认请求重试时保留原键和全部参数,不重复扣款;同键不同参数返回 409。
{"round_id":1,"market":"size","selection":"small","stake":100,"request_key":"example-key-001"}
market 可为 size(selection 为 small/big)、parity(odd/even)或 exact(三位数字 000–999)。上例期号只是格式占位,实际请求使用当前开放期号。赔率、额度和舍入规则以 /api/v1/game 为准。
GET /api/v1/bets?limit=30&before=订单号:仅返回本账户投注;limit 范围 1–100。
模拟钱包
GET /api/v1/wallet:本账户可用与冻结余额。GET /api/v1/wallet/ledger?after=0&limit=100:本账户流水,after 为可选顺序游标,limit 范围 1–500。GET /api/v1/wallet/requests?limit=30&before=申请号:本账户模拟充提申请,limit 范围 1–100。POST /api/v1/wallet/requests:模拟充提申请,须登录及 CSRF,沿用同请求的幂等键。
{"kind":"withdrawal","amount":100,"request_key":"example-transfer-001"}
kind 为 deposit 或 withdrawal,金额范围 100–1000000 分。申请仅表示模拟审核状态,不保证自动批准或实际资金到账。
模拟预测记录
POST /api/v1/predictions:须登录及 CSRF,JSON 为{"round_id":1,"value":123};value 为 0–999 整数,封盘前每账户每期一次,提交后不可修改。GET /api/v1/predictions?limit=100:本账户记录,limit 范围 1–500。GET /api/v1/predictions/score:已结算记录的描述统计,不证明预测优势。
响应与访问范围
常见状态:200 成功、201 已创建、401 需登录、403 权限/CSRF/Origin 或入口策略拒绝、409 状态或幂等冲突、422 参数不符、429 频率限制。受保护的账户数据只对所属账户开放。
此入口按方法和路径白名单开放玩家功能;源码、数据库、管理接口、研究接口和完整内部 API schema 不在公开观察范围内。