## 說明 本API提供廠商開牌紀錄、下注及改牌紀錄推送。 ## API 域名 - 測試站(拉開牌紀錄):https://rm.dev-royalgame.com - 正式站(拉開牌紀錄):https://rm.rcg666.com ## API列表 ### 開牌紀錄 #### 百家樂 URL : `/api/OpenList/Bacc` Http Method : `GET` Parameter : `QueryString` 參數如下: | 名稱 | Type | required | 說明 | | -------- | -------- | ---- | -------- | | ServerId | string | true | 遊戲桌別(上限20字元) | | NoRun | string | false | 輪號(上限20字元) | > ServerId 如附件 1 > 未帶 `NoRun` 會給`當前`或`最近`的資料 > 若未帶 `NoRun` ,在每輪首局時因尚未產生開牌紀錄,故會發生屬性 `R` 與 `CR` 不一致的狀況。 Request Example ``` https://demo.exmple.com/api/OpenList/Bacc?ServerId=GCBC20201101&NoRun=230606001 ``` Response Example ```json { "status": int, // error Code 附件 5,若成功為 0 "message": "string", // 訊息 "data": { "SI": "string", "R": "string", // NoRun, 開牌紀錄的輪號 "FA": "string", // FirstNoAct, 本次統計結果的起始局號 "LA": "string", // 本LastNoAct, 次統計結果的最後局號 "GST": int, // 遊戲狀態, 0:非當前輪、1:倒數、2:開牌、3:結算,4:中場休息、5:維護 "CR": "string", // CurrentNoRun, 當前輪數 "CA": "string", // CurrentNoAct, 當前局數 "D": { "Summary": { "Total": int, // 總數 "Banker": int, // 開莊次數 "Player": int, // 開閒次數 "Tie": int, // 和局次數 "ZDD": int, // 莊對次數 "XDD": int, // 閒對次數 "Cancel": int // 當局取消次數 }, "List": [ { "A": string, // NoAct, 遊戲局號 "G": string, // 遊戲結果, 參考 附件2 "P": int, // 贏家點數 "ZDD": boolean, // 莊對 true/false "XDD": boolean // 閒對 true/false } ] } } } ``` #### 龍虎 URL : `/api/OpenList/LongHu` Http Method : `GET` Parameter : `QueryString` 參數如下: | 名稱 | Type | required | 說明 | | -------- | -------- | ---- | -------- | | ServerId | string | true | 遊戲桌別(上限20字元) | | NoRun | string | false | 輪號(上限20字元) | > ServerId 如附件 1 > 未帶 `NoRun` 會給`當前`或`最近`的資料 > 若未帶 `NoRun` ,在每輪首局時因尚未產生開牌紀錄,故會發生屬性 `R` 與 `CR` 不一致的狀況。 Request Example ``` https://demo.exmple.com/api/OpenList/LongHu?ServerId=GCLH20201201 ``` Response Example ```json { "status": int, // error Code 附件 5,若成功為 0 "message": "string", // 訊息 "data": { "SI": "string", "R": "string", // NoRun, 開牌紀錄的輪號 "FA": "string", // FirstNoAct, 本次統計結果的起始局號 "LA": "string", // LastNoAct, 本次統計結果的最後局號 "GST": int, // 遊戲狀態, 0:非當前輪、1:倒數、2:開牌、3:結算,4:中場休息、5:維護 "CR": "string", // CurrentNoRun, 當前輪數 "CA": "string", // CurrentNoAct, 當前局數 "D": { "Summary": { "Total": int, // 總數 "Dragon": int, // 開龍次數 "Tiger": int, // 開虎次數 "Tie": int, // 和局次數 "Cancel": int // 當局取消次數 }, "List": [ { "A": "string", // NoAct, 遊戲局號 "G": "string", // 遊戲結果, 參考 附件2 "P": int // 贏家點數 } ] } } } ``` #### 輪盤 URL : `/api/OpenList/LunPan` Http Method : `GET` Parameter : `QueryString` 參數如下: | 名稱 | Type | required | 說明 | | -------- | -------- | ---- | -------- | | ServerId | string | true | 遊戲桌別(上限20字元) | | NoRun | string | false | 輪號(上限20字元) | | RowCount | int | false | 最後n局,預設300 | > ServerId 如附件 1 > 未帶 `NoRun` 會給`當前`或`最近`的資料 > 若未帶 `NoRun` ,在每輪首局時因尚未產生開牌紀錄,故會發生屬性 `R` 與 `CR` 不一致的狀況。 Request Example ``` https://demo.exmple.com/api/OpenList/LunPan?ServerId=GCLP20201301 ``` Response Example ```json { "status": int, // error Code 附件 5,若成功為 0 "message": "string", // 訊息 "data": { "SI": "string", "R": "string", // NoRun, 開牌紀錄的輪號 "FA": "string", // FirstNoAct, 本次統計結果的起始局號 "LA": "string", // LastNoAct, 本次統計結果的最後局號 "GST": int, // 遊戲狀態, 0:非當前輪、1:倒數、2:開牌、3:結算,4:中場休息、5:維護 "CR": "string", // CurrentNoRun, 當前輪數 "CA": "string", // CurrentNoAct, 當前局數 "D": { "Summary": { "Total": int, // 總數 "Small": int, // 開小次數 "Big": int, // 開大次數 "Red": int, // 開紅次數 "Black": int, // 開黑次數 "Odd": int, // 開單次數 "Even": int, // 開雙次數 "Cancel": int // 當局取消次數 }, "List": [ { "A": "string", // NoAct, 遊戲局號 "G": "string", // 遊戲結果, 參考 附件2 "P": int // 贏家點數 } ] } } } ``` #### 骰子 URL : `/api/OpenList/ShaiZi` Http Method : `GET` Parameter : `QueryString` 參數如下: | 名稱 | Type | required | 說明 | | -------- | -------- | ---- | -------- | | ServerId | string | true | 遊戲桌別(上限20字元) | | NoRun | string | false | 輪號(上限20字元) | | RowCount | int | false | 最後n局,預設300 | > ServerId 如附件 1 > 未帶 `NoRun` 會給`當前`或`最近`的資料 > 若未帶 `NoRun` ,在每輪首局時因尚未產生開牌紀錄,故會發生屬性 `R` 與 `CR` 不一致的狀況。 Request Example ``` https://demo.exmple.com/api/OpenList/ShaiZi?ServerId=GCSZ20201401 ``` Response Example ```json { "status": int, // error Code 附件 5,若成功為 0 "message": "string", // 訊息 "data": { "SI": "string", "R": "string", // NoRun, 開牌紀錄的輪號 "FA": "string", // FirstNoAct, 本次統計結果的起始局號 "LA": "string", // LastNoAct, 本次統計結果的最後局號 "GST": int, // 遊戲狀態, 0:非當前輪、1:倒數、2:開牌、3:結算,4:中場休息、5:維護 "CR": "string", // CurrentNoRun, 當前輪數 "CA": "string", // CurrentNoAct, 當前局數 "D": { "Summary": { "Total": int, // 總數 "Small": int, // 開小次數 "Big": int, // 開大次數 "Odd": int, // 開單次數 "Even": int, // 開雙次數 "Cancel": int, // 當局取消次數 "Triple": int // 開圍骰次數 }, "List": [ { "A": "string", // NoAct, 遊戲局號 "G": [ "string", // 骰1點數, 參考 附件2 "string", // 骰2點數, 參考 附件2 "string" // 骰3點數, 參考 附件2 ] } ] } } } ``` #### 番攤 URL : `/api/OpenList/FanTan` Http Method : `GET` Parameter : `QueryString` 參數如下: | 名稱 | Type | required | 說明 | | -------- | -------- | ---- | -------- | | ServerId | string | true | 遊戲桌別(上限20字元) | | NoRun | string | false | 輪號(上限20字元) | | RowCount | int | false | 最後n局,預設300 | > ServerId 如附件 1 > 未帶 `NoRun` 會給`當前`或`最近`的資料 > 若未帶 `NoRun` ,在每輪首局時因尚未產生開牌紀錄,故會發生屬性 `R` 與 `CR` 不一致的狀況。 Request Example ``` https://demo.exmple.com/api/OpenList/FanTan?ServerId=GCFT20201501 ``` Response Example ```json { "status": int, // error Code 附件 5,若成功為 0 "message": "string", // 訊息 "data": { "SI": "string", "R": "string", // NoRun, 開牌紀錄的輪號 "FA": "string", // FirstNoAct, 本次統計結果的起始局號 "LA": "string", // LastNoAct, 本次統計結果的最後局號 "GST": int, // 遊戲狀態, 0:非當前輪、1:倒數、2:開牌、3:結算,4:中場休息、5:維護 "CR": "string", // CurrentNoRun, 當前輪數 "CA": "string", // CurrentNoAct, 當前局數 "D": { "Summary": { "Total": int, // 總數 "P1": int, // 開1次數 "P2": int, // 開2次數 "P3": int, // 開3次數 "P4": int, // 開4次數 "Cancel": int // 當局取消次數 }, "List": [ { "A": "string", // NoAct, 遊戲局號 "G": "string" // 點數, 參考 附件2 } ] } } } ``` #### 博丁 URL : `/api/OpenList/PokDeng` Http Method : `GET` Parameter : `QueryString` 參數如下: | 名稱 | Type | required | 說明 | | -------- | -------- | ---- | -------- | | ServerId | string | true | 遊戲桌別(上限20字元) | | NoRun | string | false | 輪號(上限20字元) | > ServerId 如附件 1 > 未帶 `NoRun` 會給`當前`或`最近`的資料 > 若未帶 `NoRun` ,在每輪首局時因尚未產生開牌紀錄,故會發生屬性 `R` 與 `CR` 不一致的狀況。 Request Example ``` https://demo.exmple.com/api/OpenList/PokDeng?ServerId=2110210702 ``` Response Example ```json { "status": int, // error Code 附件 5,若成功為 0 "message": "string", // 訊息 "data": { "SI": "string", "R": "string", // NoRun, 開牌紀錄的輪號 "FA": "string", // FirstNoAct, 本次統計結果的起始局號 "LA": "string", // 本LastNoAct, 次統計結果的最後局號 "GST": int, // 遊戲狀態, 0:非當前輪、1:倒數、2:開牌、3:結算,4:中場休息、5:維護 "CR": "string", // CurrentNoRun, 當前輪數 "CA": "string", // CurrentNoAct, 當前局數 "D": { "Summary": { "Total": int, // 總數 "P1": int, // 開閒1次數 "P2": int, // 開閒2次數 "P3": int, // 開閒3次數 "P4": int, // 開閒4次數 "P5": int, // 開閒5次數 "B": int, // 開莊次數 "Cancel": int // 當局取消次數 }, "List": [ { "A": "string", // NoAct, 遊戲局號 "P": [ "string", // P1 點數 '0.0'~ '9.9' "string", // P2 點數 '0.0'~ '9.9' "string", // P3 點數 '0.0'~ '9.9' "string", // P4 點數 '0.0'~ '9.9' "string" // P5 點數 '0.0'~ '9.9' ], "B": "string", // Banker 點數 '0.0'~ '9.9' "W": [ "string", // W1, 1: 贏, 0: 輸 , 2: 贏 2 倍 , 3: 和 , cancel: 取消 "string", // W2, 1: 贏, 0: 輸 , 2: 贏 2 倍 , 3: 和 , cancel: 取消 "string", // W3, 1: 贏, 0: 輸 , 2: 贏 2 倍 , 3: 和 , cancel: 取消 "string", // W4, 1: 贏, 0: 輸 , 2: 贏 2 倍 , 3: 和 , cancel: 取消 "string" // W5, 1: 贏, 0: 輸 , 2: 贏 2 倍 , 3: 和 , cancel: 取消 ], "WB": "string" // Banker 1: 贏, 0: 輸 , 2: 贏 2 倍 , 3: 和 , cancel: 取消 } ] } } } ``` #### 色碟 URL : `/api/OpenList/SeDie` Http Method : `GET` Parameter : `QueryString` 參數如下: | 名稱 | Type | required | 說明 | | -------- | -------- | ---- | -------- | | ServerId | string | true | 遊戲桌別(上限20字元) | | NoRun | string | false | 輪號(上限20字元) | | RowCount | int | false | 最後n局,預設300 | > ServerId 如附件 1 > 未帶 `NoRun` 會給`當前`或`最近`的資料 > 若未帶 `NoRun` ,在每輪首局時因尚未產生開牌紀錄,故會發生屬性 `R` 與 `CR` 不一致的狀況。 Request Example ``` https://demo.exmple.com/api/OpenList/SeDie?ServerId=2112071601 ``` Response Example ```json { "status": int, // error Code 附件 5,若成功為 0 "message": "string", // 訊息 "data": { "SI": "string", "R": "string", // NoRun, 開牌紀錄的輪號 "FA": "string", // FirstNoAct, 本次統計結果的起始局號 "LA": "string", // 本LastNoAct, 次統計結果的最後局號 "GST": int, // 遊戲狀態, 0:非當前輪、1:倒數、2:開牌、3:結算,4:中場休息、5:維護 "CR": "string", // CurrentNoRun, 當前輪數 "CA": "string", // CurrentNoAct, 當前局數 "D": { "Summary": { "Total": int, // 總數 "R0": int, // 0紅4白次數 "R1": int, // 1紅3白次數 "R2": int, // 2紅2白次數 "R3": int, // 3紅1白次數 "R4": int, // 4紅0白次數 "Cancel": int // 當局取消次數 }, "List": [ { "A": "string", // NoAct, 遊戲局號 "G": "string" // 點數, 參考 附件2 } ] } } } ``` #### 泰國骰 URL : `/api/OpenList/HiLo` Http Method : `GET` Parameter : `QueryString` 參數如下: | 名稱 | Type | required | 說明 | | -------- | -------- | ---- | -------- | | ServerId | string | true | 遊戲桌別(上限20字元) | | NoRun | string | false | 輪號(上限20字元) | | RowCount | int | false | 最後n局,預設300 | > ServerId 如附件 1 > 未帶 `NoRun` 會給`當前`或`最近`的資料 > 若未帶 `NoRun` ,在每輪首局時因尚未產生開牌紀錄,故會發生屬性 `R` 與 `CR` 不一致的狀況。 Request Example ``` https://demo.exmple.com/api/OpenList/HiLo?ServerId=2201111701 ``` Response Example ```json { "status": int, // error Code 附件 5,若成功為 0 "message": "string", // 訊息 "data": { "SI": "string", "R": "string", // NoRun, 開牌紀錄的輪號 "FA": "string", // FirstNoAct, 本次統計結果的起始局號 "LA": "string", // 本LastNoAct, 次統計結果的最後局號 "GST": int, // 遊戲狀態, 0:非當前輪、1:倒數、2:開牌、3:結算,4:中場休息、5:維護 "CR": "string", // CurrentNoRun, 當前輪數 "CA": "string", // CurrentNoAct, 當前局數 "D": { "Summary": { "Total": int, // 總數 "Hi": int, // 開Hi次數 "Lo": int, // 開Lo次數 "HiLo": int, // 開HiLo次數 "Cancel": int // 當局取消次數 }, "List": [ { "A": "string", // NoAct, 遊戲局號 "G": [ "string", // 骰1點數, 參考 附件2 "string", // 骰2點數, 參考 附件2 "string" // 骰3點數, 參考 附件2 ] } ] } } } ``` ### 下注 URL: `/api/betting` Http Method: `POST` Parameter: `Json` Http head:下注 api 需額外加入head |Head Name|內容| |---|---| |Authorization|Bearer {jwtToken}| > 呼叫 Login Api 後可取得會員 7 天有效之 jwtToken [文件連結](https://hackmd.io/nP3NC6VAQMWg2xV0MJNDog?view) ``` example: POST /resource HTTP/1.1 Host: server.example.com Authorization: Bearer eyJhbGciOiJIUzI1NiIXVCJ9TJV...r7E20RMHrHDcEfxjoYZgeFONFh7HgQ ``` Request Example ```json { "Serverid":"200405023", "MemberId": "2300000101", //使用登入 api (/api/Member/Login) 成功登入後取得之 clubId "BetList":[{ "BetArea": "Xian", //注區清單如附件(3), "Point": 999, //money },{ "BetArea": "Zhuang", //注區清單如附件(3), "Point": 999, //money }], } ``` Response Example ```json { "Data": { "NoRun": '230606001', //下注輪號 "NoActive": '0001', //下注局號 }, "Status": 9017, //int:error Code 如附件 4,若成功為 0 "Message": "this is error message" //下注失敗時的錯誤訊息,若成功為空值(string.empty) } ``` ### 改牌記錄推送 URL: `由客戶提供 API 位置` Http Method: `POST` Parameter: 參數如下: | 名稱 | Type | required | 說明 | | -------- | -------- | ---- | -------- | | ServerId | string | true | 遊戲桌別(上限20字元) | | NoRun | string | true | 輪號(上限20字元) | | NoActive | string | true | 局號(上限20字元) | | D | object | true | 開牌結果| Request Example ```json { "ServerId": string, // "ServerId" "NoRun": string, // 輪號 "NoRun" "NoActive": string, // 局號 "NoAct" "D":{ "G": string, // 遊戲結果, 參考 附件2 "P": int, // 贏家點數 "ZDD": boolean, // 莊對 true/false, "XDD": boolean // 閒對 true/false } } ``` Response Example ```json { s: 0, // int : 0 為成功 ,1 為失敗 errorMes: "this is error message" //失敗時的錯誤訊息,若成功為空值(string.empty) } ``` ### 會員餘額 取得特定會員當前餘額 URL: `/api/Balance` Http Method: `Get` Parameter: `Json` Http head:下注 api 需額外加入head |Head Name|內容| |---|---| |Authorization|Bearer {jwtToken}| > 呼叫 Login Api 後可取得會員 7 天有效之 jwtToken [文件連結] Parameter : `QueryString` 參數如下: | 名稱 | Type | required | 說明 | | -------- | -------- | ---- | -------- | | memberId | string | true | 會員Id | Request Example ``` https://demo.exmple.com/api/Balance?MemberId=1111111 ``` Response Example ```json { "status": 0, //int:error Code 附件 5,若成功為 0 "message": "", //string訊息 "data": { "memberId": "0804140087", "balance": 0 } } ``` ## 附件 ### 附件1 桌別清單 | 遊戲桌別(ServerId) | 桌別名稱 | | -------- | -------- | | GCBC20201101 | 百家樂C-A | | GCBC20201102 | 百家樂C-B | | GCBC20201103 | 百家樂C-C | | GCBC20201104 | 百家樂C-D | | 2201050139 | 百家樂P-A | | 2201050140 | 百家樂P-B | | 2201050141 | 百家樂P-C | | 2201050142 | 百家樂P-D | | 2201050143 | 百家樂P-E | | 2201050144 | 百家樂P-F | | GCLH20201201 | 龍虎R-A | | GCLH20201202 | 龍虎R-B | | GCLP20201301 | 輪盤R-A | | GCLP20201302 | 輪盤R-B | | GCSZ20201401 | 骰寶R-A | | GCFT20201501 | 骰子番攤R-A | | 2110210702 | 博丁R-A | | 2201111701 | 泰國骰R-A | ### 附件2 遊戲結果 ### 撲克牌 牌面資料 [花色][牌面] ex: 黑桃A = 21 | 花色 | 數值 | 說明 | | -------- | -------- | -------- | | 黑桃 | 2 | | | 紅心 | 1 | | | 方塊 | 3 | | | 梅花 | 4 | | | 牌面 | 數值 | 說明 | | --- | ---| -------- | | A | 1 | | | 2 | 2 | | | 3 | 3 | | | 4 | 4 | | | 5 | 5 | | | 6 | 6 | | | 7 | 7 | | | 8 | 8 | | | 9 | 9 | | | 10 | A | | | J | J | | | Q | Q | | | K | K | | ### 百家樂 | 數值 | 說明 | | -------- | -------- | | B | 莊贏 | | P | 閒贏 | | T | 和局 | | Cancel | 取消 | ### 龍虎 | 數值 | 說明 | | -------- | ------- | | T | 虎贏 | | D | 龍贏 | | Tie | 和局 | | Cancel | 取消 | ### 輪盤 | 數字 | 數值 | 說明 | | --- | ---| -------- | | 0 | A0 | | | 1 | 01 | | | 2 | 02 | | | 3 | 03 | | | 4 | 04 | | | 5 | 05 | | | 6 | 06 | | | 7 | 07 | | | 8 | 08 | | | 9 | 09 | | | 10 | 10 | | | 11 | 11 | | | 12 | 12 | | | 13 | 13 | | | 14 | 14 | | | 15 | 15 | | | 16 | 16 | | | 17 | 17 | | | 18 | 18 | | | 19 | 19 | | | 20 | 20 | | | 21 | 21 | | | 22 | 22 | | | 23 | 23 | | | 24 | 24 | | | 25 | 25 | | | 26 | 26 | | | 27 | 27 | | | 28 | 28 | | | 29 | 29 | | | 30 | 30 | | | 31 | 31 | | | 32 | 32 | | | 33 | 33 | | | 33 | 34 | | | 35 | 35 | | | 36 | 36 | | ### 骰子、泰國骰 | 數字 | 數值 | 說明 | | --- | ---| -------- | | 1 | 1 | | | 2 | 2 | | | 3 | 3 | | | 4 | 4 | | | 5 | 5 | | | 6 | 6 | | ### 番攤 | 數字 | 數值 | 說明 | | --- | ---| -------- | | 1 | 01 | | | 2 | 02 | | | 3 | 03 | | | 4 | 04 | | ### 色碟 | 數字 | 數值 | 說明 | | --- | ---| -------- | | 0紅4白 | 00 | | | 1紅3白 | 01 | | | 2紅2白 | 02 | | | 3紅1白 | 03 | | | 4紅0白 | 04 | | ### 附件 3 注區清單 | 注區 | 說明 | | -------- | -------- | | Zhuang | 莊 | | Xian | 閒 | | He | 和 | | ZDD | 莊對對 | | XDD | 閒對對 | | Big | 大 | | Small | 小 | | AnyPair | 任意對子| | PerfectPair | 完美對子 | ### 附件 4 下注失敗錯誤代碼 | 錯誤代碼 | 說明 | | -------- | -------- | | 9002 | 下注找不到ServerID | | 9003 | 下注找不到退水相關資料 | | 9008 | 錢包扣款失敗 | | 9009 | 錯誤的遊戲 | | 9010 | 錯誤的下注金額 | | 9011 | 下注金額小於或等於0 | | 9012 | 下注金額跟下注注區數量不一致 | | 9013 | 注區錯誤 | | 9015 | 百家超過30局只能下注大小以外的注區 | | 9016 | 下注金額超出限注範圍 | | 9017 | 百家莊閒差額超出代理上限 | | 9018 | 已經停止下注 | | 9019 | 錯誤的輪號 | | 9020 | 錯誤的局號 | | 9021 | 扣點失敗 | | 9022 | 取得下注嬴計表失敗| | 9023 | 會員編號錯誤 | | 9099 | 下注其他錯誤 | ### 附件 5 API錯誤代碼 | 錯誤代碼 | 說明 | | -------- | -------- | | -1 | 系統錯誤 | | 0 | 成功 | | 1 | 找不到資料 | ### Release Note #### V1.1 1. 開牌紀錄增加 GST 屬性(遊戲狀態) #### V1.2 1. 開牌紀錄增加 CA、CR 屬性(當前輪局) 2. 增加Balance api #### V1.3 1. 增加正式站域名 #### V1.4 1. 增加正式站域名 #### V1.5 1. 更新正式站域名 2. 更新測試站域名 #### V1.6 1. 新增開牌紀錄(龍虎、輪盤、骰子、番攤、博丁、色碟、泰國骰) #### V1.7 1. 新增開牌紀錄api參數(輪盤、骰子、番攤、色碟、泰國骰) #### V1.8 1. 修正開牌紀錄泰國骰api參數 #### V1.9 1. 新增附件1 桌別清單 2. 新增附件2 遊戲結果 龍虎說明