游戏启动
玩家从你的网站进入游戏时,由你的后端调用 POST /player/launch 取得一次性网址,再把玩家导向(或以 iframe 打开)这个网址。玩家不需要在本平台注册,也不需要密码。
流程
text
玩家浏览器 你的网站后端 elite
│ 按「进入游戏」 │ │
│──────────────────▶│ POST /api/tenant/v1/player/launch │
│ │─────────────────────────────────▶│ 创建玩家(第一次)、踢掉旧 session
│ │◀─────────────────────────────────│ { url, expiresIn: 60 }
│ 302 或 iframe src │ │
│◀──────────────────│ │
│ GET /Launch?t=…(60 秒内、只能一次) │
│────────────────────────────────────────────────────▶│ 验证票券、签发玩家 session
│◀────────────────────────────────────────────────────│ 转入 /Game/(电脑)或 /Game/m/(手机)- 玩家在你的网站按「进入游戏」。
- 你的后端以玩家账号调用
POST /player/launch。每次进入都调用一次,不要预先产生或缓存网址。 - 把玩家导向响应的
url,或设成 iframe 的src。 - 游戏页验证票券后,会把玩家 session 存在浏览器分页的
sessionStorage,并从网址列抹掉票券,然后进入大厅(或指定的桌)。
请求参数
| 字段 | 必填 | 说明 |
|---|---|---|
username | 是 | 玩家账号,1–32 个字符(字母或数字与 _ . @ -),不分大小写。玩家不存在时自动创建 |
nickname | 暱称,只在创建玩家时使用;之后请用 POST /player/update 修改 | |
currency | 币种,只在创建玩家时使用,默认为你的租户币种。玩家的币种创建后不能变更 | |
lang | 游戏语言:CHT、CHS、ENG、JPN、KOR、THAI、VIET、HIND、PHP(不分大小写)。默认为 Console「品牌与登录」设置的第一个语言,未设置时为 CHT | |
device | mobile 打开手机版(/Game/m/);其他值或不带时为电脑版(/Game/) | |
table | 直接进入这张桌(桌号见 GET /tables,必须是你已激活的桌);不带时进入大厅 | |
variant | 偏好的百家乐玩法 classic/nocomm。目前版本只保存,玩家仍在桌内自行选择 | |
lobbyUrl | 你的网站网址(http:// 或 https://)。目前版本只保存;「回到网站」按钮使用 Console 的设置,见返回网站 | |
limitProfileId | 限红方案 ID:你在 Console「限红方案」创建的方案或平台范本,币种必须与玩家相同;null 改回默认。会保存为玩家的限红方案,之后的 launch 不带就沿用。见限红方案 |
响应:
json
{ "ok": true, "data": { "url": "https://elite.ewin888.com/Launch?t=k1.eyJ0aWQiOjQ2fQ.3xAmPlE-TiCkEt", "expiresIn": 60 } }url的主机就是你调用 API 的主机。- 票券 60 秒内有效、只能使用一次。过期或已使用的网址会显示「链接已失效」页面(HTTP 410);请玩家回到你的网站重新进入,由你的后端再调用一次 launch。
- 被锁定(
status: locked)的玩家回403 PLAYER_LOCKED;禁止下注(no_bet)的玩家可以进入、观看,但不能下注。 - 玩家账号数有上限:免费展示方案 50 个、沙箱 500 个,超过时创建新玩家会回
403 PLAYER_LIMIT。
以 iframe 嵌入
html
<iframe
src="LAUNCH_URL"
allow="autoplay; fullscreen"
allowfullscreen
style="width: 100%; height: 100%; border: 0"
></iframe>- 游戏以
Authorization: Bearer与sessionStorage维持登录,不使用 Cookie,所以在第三方 iframe 中也能运作(不受浏览器封锁第三方 Cookie 影响)。 - 如果浏览器完全禁止网站保存数据,游戏页会提示「请允许浏览器使用 sessionStorage 后重试」。
- 游戏有视频与音效:请保留
allow="autoplay",并允许全屏。 - 不要替 iframe 加上限制性的
sandbox属性(游戏需要执行脚本、访问自己的网域,以及「回到网站」按钮需要导向最上层页面)。 - 手机上建议直接整页导向
url,而不是放在 iframe 里。
设备与语言
device: "mobile"进入手机版;不带device时一律是电脑版,所以请依玩家使用的设备传入(例如由你的网站判断 User-Agent 或窗口宽度)。lang决定游戏接口语言;玩家在游戏内也可以切换。- 可选的语言与默认语言在 Console 品牌与登录 设置。
返回网站
在 Console 品牌与登录 → 返回大厅网址 设置你网站的网址(https://)。玩家的连接结束时(被其他设备登录踢出、被登出、闲置登出、账号禁用),游戏会显示说明页与「回到网站」按钮,按钮以 target="_top" 打开这个网址,所以在 iframe 里也会回到你的网站最上层。
launch 的 lobbyUrl 参数目前只保存,预留给之后的版本逐次覆写这个设置。
单一登录
同一个玩家同时只会有一个有效的游戏 session:
- 调用 launch 时旧 session 立即失效:旧分页会被踢出并显示「账号已在其他地方登录」(原因
SESSION_REPLACED),旧 session 送出的下注一律被拒绝。 - 以最后打开的网址为准:玩家打开 launch 网址时会再做一次同样的处理。所以同时发出多个网址时,只有最后打开的那一个有效,先打开的 session 会被踢出。
POST /player/logout让玩家所有 session 失效并踢出(原因LOGGED_OUT)。POST /player/update把status设为locked时也会立即踢出(原因LOCKED)。- 登出与锁定会送出 Webhook
player.kicked;新的 launch 取代旧 session 时不会送出。 - 玩家 session 最长 12 小时;30 分钟没有操作会提示,60 分钟自动登出。之后需要从你的网站重新进入(重新 launch)。
- 下注的本金在下注当下就从余额扣除,所以玩家被踢出不会影响已受理的注单,结算后照常派彩。
同一个浏览器开多个分页
session 存在分页自己的 sessionStorage。玩家若在新分页再次从你的网站进入,新的 launch 会让旧分页失效,这是预期的行为。
玩家账号
- 玩家账号不分大小写:
Alice与alice是同一位玩家(响应保留第一次创建时的大小写)。 - 建议用你系统中不会改变的会员 ID 产生账号,例如
m10023,而不是可以修改的显示名称。 - 同一个人需要不同币种时,请使用不同的玩家账号。
- 查询与管理玩家:
GET /player、POST /player/update、POST /player/logout,见 API 参考:玩家。
限红方案
- launch 或
POST /player/update可以带limitProfileId,指定玩家使用的限红方案:必须是你在 Console 桌台 → 限红方案 创建的方案或平台范本,而且币种与玩家相同,否则回400 INVALID_PARAMETER。 - 指定后会保存在玩家数据上;
null改回默认方案。 - 限红方案依游戏区分:只套用在同一种游戏的桌,其他游戏的桌使用默认方案。
- 免费展示方案(含沙箱)一律使用平台的「展示」限红。
错误码
| 错误码 | HTTP | 原因 |
|---|---|---|
INVALID_PARAMETER | 400 | 缺少 username、lang 不支持、lobbyUrl 不是 http(s) 网址、limitProfileId 不存在或币种不符 |
INVALID_USERNAME | 400 | 账号不符合规则 |
INVALID_CURRENCY | 400 | 创建新玩家时 currency 不合法 |
PLAYER_LOCKED | 403 | 玩家已被锁定 |
PLAYER_LIMIT | 403 | 玩家数已达方案上限(免费展示方案 50、沙箱 500) |
其他共通错误见错误码。