# 電子視訊API文件 (v1.2) [TOC] --- ## Socket URL ### URL 1: wss://ws8001.rvfly.com ### URL 2(備用): wss://ws8002.rvfly.com --- ## 指令說明 | 指令 | 說明 | |:----------------:|:--------------------------------------------------------------------------------------- | | gls2gsOpenTable | 例行維護完,開桌 | | gls2gsCloseTable | 關桌,進行例行維護 | | tlsNewGame | 新局開始的起始點,會開始倒數秒數 | | tlsUptime | 倒數結束的時間點,一個時間點的通知點,代表下注時間已過 | | tlsOpenCard | 停止下注後,正在翻牌中 | | tlsShowWinner | 結果計算完畢,開始派彩動作 | | tlsGameIdle | 此局結束 | | tlsDealerLogin | 荷官登入此桌指令,會即時更新dealer內資訊 | | tlsDealerLogout | 荷官登出此桌指另,登出後dealer會變成null | | tlsShuffle | 洗牌指令,遊戲正在進行洗牌 | | tlsCancelGame | 此局取消指令,新局開始與派彩之間發生錯誤或不如預期情況,督導 評估後才回執行取消本局指令 | --- ## 指令時序 1. gls2gsOpenTable 2. tlsDealerLogin 3. tlsShuffle 4. **tlsNewGame** 5. **tlsUptime** 6. **tlsOpenCard** 7. **tlsShowWinner** 8. **tlsGameIdle** 9. tlsDealerLogout 10. gls2gsCloseTable **PS: 4 ~ 8 為每局時序** --- ## 欄位資料說明 | 欄位 | 說明 | |:--------------:|:-------------------------------------------------------- | | tableKey | 實體桌的桌號 | | gameRound | 每局唯一的局號 | | gameType | 遊戲玩法分類 | | deck | 靴號 | | round | 同一靴裡的局號(counter) | | betTime | 此桌的下注時間(millisecond) | | startTimeStamp | 開始下注的timestamp(13位數) | | betEndTime | 停止下注的timestamp(13位數) | | status | 狀態(new_game、open_cards、show_winner、shuffling、idle) | | timestamp | 指令發送的timestamp(13位數) | | dealer | 荷官的個人資料 | --- ## 各指令資料範例 ### gls2gsOpenTable ```json= // Data for JSON { "cmd" : "gls2gsOpenTable", "tableKey" : "a001sF01", "status" : "open", "timestamp" : 1585210003182 } ``` ### gls2gsCloseTable ```json= // Data for JSON { "cmd": "gls2gsCloseTable", "tableKey": "a001sF01", "status": "close", "timestamp": 1585210003182 } ``` ### tlsNewGame ```json= // Data for JSON { "cmd": "tlsNewGame", "tableKey": "a001sF01", "gameRound": "840aa001200330100226a10010664", "gameType": "a1", "deck": 12, "round": 1, "betTime": 18000, "startTimeStamp": 1585534180268, "betEndTime": 1585534199268, "status": "new_game", "timestamp": 1585534180316, "dealer": { "pid": 59, "lobbyKey": null, "firstName": "", "lastName": "", "gender": "Female", "birthday": "", "country": null, "idNumber": "A123456759", "idType": null, "state": "Taiwan ", "city": "Taipei", "address": "", "phone": "", "displayName": "", "height": null, "weight": null, "cup": "A", "bust": null, "waist": null, "hip": null, "email": "", "imType": "", "imId": "", "enrollDate": "2019/8/12", "status": "On-Line", "photo": "m_no59.jpg", "video": "m_no59.mp4", "loginId": "59", "previousAction": "login", "previousTime": 1585533563 } } ``` ### tlsUptime ```json= // Data for JSON { "cmd": "tlsUptime", "tableKey": "a001sF01", "gameRound": "840aa001200330100226a10010664", "betEndTime": 1585534199268, "status": "new_game", "timestamp": 1585534199310 } ``` ### tlsOpenCard ```json= // Data for JSON { "cmd": "tlsOpenCard", "tableKey": "a001sF01", "gameRound": "840aa001200330100226a10010664", "status": "open_cards", "cardInfo": [ { "index": 1, "suit": "clubs", "point": 13, "type": "player", "status": "open" }, ... { "index": 6, "suit": "clubs", "point": 8, "type": "banker", "status": "open" } ], "timestamp": 1585534208981 } ``` ### tlsShowWinner ```json= // Data for JSON { "cmd": "tlsShowWinner", "tableKey": "a001sF01", "gameRound": "840aa001200330100226a10010664", "status": "show_winner", "timestamp": 1585534210996, "gameResult": { // 開牌資料 object }, "gameHistory": [ // 各局路單資料 array object ] } ``` ### tlsGameIdle ```json= // Data for JSON { "cmd": "tlsGameIdle", "tableKey": "a001sF01", "gameRound": "840aa001200330100226a10010664", "status": "idle", "timestamp": 1585534310733 } ``` ### tlsDealerLogin ```json= // Data for JSON { "cmd": "tlsDealerLogin", "tableKey": "a001sF01", "status": "idle", "timestamp": 1585534475065, "dealer": { "pid": 77, "lobbyKey": null, "firstName": "", "lastName": "", "gender": "Female", "birthday": "", "country": null, "idNumber": "A123456777", "idType": null, "state": "Taiwan", "city": "Taipei", "address": "", "phone": "", "displayName": "雯雯", "height": null, "weight": null, "cup": "A", "bust": null, "waist": null, "hip": null, "email": "", "imType": "", "imId": "", "enrollDate": "2019/10/8", "status": "On-Line", "photo": "m_no77.jpg", "video": "m_no77.mp4", "loginId": "77", "previousAction": "login", "previousTime": 1585534475 } } ``` ### tlsDealerLogout ```json= // Data for JSON { "cmd": "tlsDealerLogout", "tableKey": "a001sF01", "status": "idle", "timestamp": 1585534448458 } ``` ### tlsShuffle ```json= // Data for JSON { "cmd": "tlsShuffle", "tableKey": "a001sF01", "status": "shuffling", "timestamp": 1585534039133 } ``` ### tlsCancelGame ```json= // Data for JSON { "cmd":"tlsCancelGame", "tableKey": "a001sF01", "gameRound": "840aa001200326181247a10011201", "status": "idle", "timestamp": 1585278593498 } ``` --- ## 百家樂 相關資料說明 | 桌號(tableKey) | 說明 | |:--------------:|:---------------:| | a001sF01 | 脫衣百家樂 1 桌 | | a001sF02 | 脫衣百家樂 2 桌 | | a001sF03 | 脫衣百家樂 3 桌 | | a001sF04 | 天王百家樂 4 桌 | | a001sF05 | 天王百家樂 5 桌 | | a001sF06 | 天王百家樂 6 桌 | | a001sF07 | 音速百家樂 1 桌 | | a001sF08 | 音速百家樂 2 桌 | | a001sF09 | 音速百家樂 3 桌 | | 欄位 | 說明 | |:-----------:|:--------------:| | cardInfo | array | | index | 開牌順序 | | suit | 花色 | | point | 點數 | | type | 莊 or 閑 | | status | open or close | | gameResult | object | | winner | 贏家(莊 or 閑) | | playerPoint | 閑家點數(0-9) | | bankerPoint | 莊家點數(0-9) | | playerPair | 閑家對子(0-9) | | bankerPair | 莊家對子(0-9) | --- ## 色牒 相關資料說明 | 桌號(tableKey) | 說明 | |:--------------:|:---------:| | a001sM01 | 色牒 1 桌 | | a001sM02 | 色牒 2 桌 | | a001sM03 | 色牒 3 桌 | | a001sM04 | 色牒 4 桌 | | 欄位 | 說明 | |:-----:|:-------------------------:| | ball1 | 第 1 球顏色(red or white) | | ball2 | 第 2 球顏色(red or white) | | ball3 | 第 3 球顏色(red or white) | | ball4 | 第 4 球顏色(red or white) | ---