遊戲啟動
玩家從你的網站進入遊戲時,由你的後端呼叫 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) |
其他共通錯誤見錯誤碼。