NAV
php csharp json

皇家電子遊戲 整合單一錢包 API Reference

1. 簡介

1-1 站台限制

本系統允許介接廠商(平台)自行建立多個站台。

1-2 玩家限制

本系統允許介接廠商(平台)自建的每個站台可建立多個會員。

1-3 登入限制

本系統同一會員同時只允許一個登入,達允許上限時,將會後踢前。

1-4 幣別限制

本系統允許同一會員擁有不同幣別的帳戶,各帳戶需個別建立。

1-5 名稱解釋

系統代碼:介接廠商(平台)申請使用本系統時所填寫之代號

站台代碼:介接廠商(平台)可為多個站台,自定各自的代碼

1-6 遊戲系統提供下列 API 程序

API 名稱 描述
SingleWallet/Player/CreatePlayer 建立會員(幣別帳戶)
SingleWallet/Game/GameList 取得遊戲列表
SingleWallet/Player/GetURLToken 取得遊戲網址(進入遊戲)
SingleWallet/Player/GetLobbyURLToken 取得遊戲大廳網址(進入遊戲大廳)
SingleWallet/Player/PlayerOnlineList 取得遊戲中的會員
SingleWallet/Player/Kickout 剔除遊戲中的會員
SingleWallet/Player/GetPlayerOnlineStatus 查詢會員線上狀態
SingleWallet/History/GetGameDetail 取得遊戲詳細資訊
SingleWallet/Report/GetGameMinReport 取得遊戲每分鐘統計資訊
SingleWallet/Report/GetGameHourReport 取得遊戲每小時統計資訊
SingleWallet/Report/GetGameHourReportAllGameType 取得遊戲每小時統計資訊(全部遊戲類型)
SingleWallet/Report/GetGameDailyReport 取得遊戲每日統計資訊
SingleWallet/Report/GetGameDailyReportAllGameType 取得遊戲每日統計資訊(全部遊戲類型)
SingleWallet/Player/GetGameMinDetailURLToken 取得某帳戶某分鐘內的遊戲歷程網址
SingleWallet/Player/GetGameMinDetailURLTokenBySeq 取得某帳戶某分鐘內的遊戲歷程網址(By Seq)
SingleWallet/Player/GetSlotGameRecordURLToken 取得某帳戶 slot 遊戲歷程的遊戲盤面
SingleWallet/Jackpot/GetJackpotHitRec 取得 Jackpot 中獎紀錄
SingleWallet/History/GetSeqResult 取得特定序號的贏分值

1-7 網站營運商提供下列 API 程序

API 名稱 描述
GetBalance 取得餘額
Bet 下注
BetResult 結算
JackpotResult Jackpot 中獎
CancelBet 取消下注

2. 流程圖

2-1 建立會員(幣別帳戶)

diagram

2-2 進遊戲流程

diagram

3. API 使用說明

3-1 介接資訊

系統會提供給介接廠商(平台) 以下資訊: 說明
Client ID 包含數字與英文字母大小寫的字串值
Client Secret 包含特殊符號的字串值,用於 md5 加密演算
Deskey 用於 DES-CBC 加解密的 Key
DesIV 用於 DES-CBC 加解密的偏移量

3-2 發送請求

1. 請求內文 需為“Msg=傳送的參數(JSON 格式)進行 DES-CBC 加密後的結果”

2. 標頭 需有以下 3 項

標頭 內容
X-API-ClientID 系統提供的 Client ID
X-API-Signature MD5(Client ID+Client Secret+Timestamp+參數加密後的結果)
X-API-Timestamp 當下的 unix timesamp

3. 對欲進行操作的 URL 做 POST 請求

4. 常見問題

  1. 請求內文 (Request Body) 未加上Msg=

    ❌ 請求內文 (Request Body) 只有加密後的結果,但未加上Msg=

    xkf7wEkQvp+LJTravXHY9RDEX24YMjQxnV/5DPCoIKE=

    ✅ 請求內文 (Request Body) 一定要加上Msg=

    Msg=xkf7wEkQvp+LJTravXHY9RDEX24YMjQxnV/5DPCoIKE=

  2. 請求內文 (Request Body) 使用雙引號

    ❌ 請求內文 (Request Body) 使用了雙引號

    Msg="xkf7wEkQvp+LJTravXHY9RDEX24YMjQxnV/5DPCoIKE="

    ✅ 請求內文 (Request Body) 不需要加上雙引號

    Msg=xkf7wEkQvp+LJTravXHY9RDEX24YMjQxnV/5DPCoIKE=

  3. 回覆內文 (Response Body) 加上Msg=

    ❌ 回覆內文 (Response Body) 加上Msg=

    Msg=xkf7wEkQvp+LJTravXHY9RDEX24YMjQxnV/5DPCoIKE=

    ✅ 回覆內文 (Response Body) 不需要加上Msg=

    xkf7wEkQvp+LJTravXHY9RDEX24YMjQxnV/5DPCoIKE=

  4. 請求參數的數字型別 (ex. int, decimal) 使用雙引號

    5-3 的 API 參數 GameId 為例

    ❌ 請求參數的數字型別 (ex. int, decimal) 使用雙引號

    { "GameId":"1" }

    ✅ 請求參數的數字型別 (ex. int, decimal) 不使用雙引號

    { "GameId":1 }

3-3 加密範例

原始資料

欄位 加密內容
Client ID 3df82c9b0af3
Client Secret p@ssw0rd
當下的 unix timestamp 1494946640
DesKey N5MF76P7
DesIV 4ANG4ACY
參數 {"SystemCode":"TestSystem"}

DES-CBC

{"SystemCode":"TestSystem"} => xkf7wEkQvp+LJTravXHY9RDEX24YMjQxnV/5DPCoIKE=

md5 加密

3df82c9b0af3p@ssw0rd1494946640xkf7wEkQvp+LJTravXHY9RDEX24YMjQxnV/5DPCoIKE=

MD5 => 9b58bd658add3e92ed214b6c3c0cbc87

請求資料

POST / request_url

Content-Type application/x-www-form-urlencoded
X-API-ClientID 3df82c9b0af3
X-API-Signature 9b58bd658add3e92ed214b6c3c0cbc87
X-API-Timestamp 1494946640
Msg= xkf7wEkQvp+LJTravXHY9RDEX24YMjQxnV/5DPCoIKE=

3-4 程式碼 DES 範例

php 與 csharp 範例如右(點選php或csharp選單)

/// <summary>加密</summary>
$encrypt_data = openssl_encrypt($data,'DES-CBC',$DesKey,OPENSSL_RAW_DATA ,$DesIV);
$req_base64 = base64_encode($encrypt_data);
var_dump($req_base64);

/// <summary>解密</summary>
$data = openssl_decrypt(base64_decode($req_base64),'DES-CBC',$DesKey,OPENSSL_RAW_DATA ,$DesIV);
var_dump($data);
/// <summary>加密</summary>
public static string DESEncryption(string plainText, string key, string iv)
{
  using(var des = DES.Create())
  {
    des.Mode = CipherMode.CBC;
    des.Padding = PaddingMode.PKCS7;
    des.Key = Encoding.UTF8.GetBytes(key);
    des.IV = Encoding.UTF8.GetBytes(iv);
    byte[] plainByteArray = Encoding.UTF8.GetBytes(plainText);
    byte[] cipherByteArray = des.CreateEncryptor().TransformFinalBlock(plainByteArray, 0, 
    plainByteArray.Length);
    string cipherText = Convert.ToBase64String(cipherByteArray);
    return cipherText;
  }
}

/// <summary>解密</summary>
public static string DESDecrypt(string text, string key, string iv)
{
  using (var des = DES.Create())
  {
    des.Mode = CipherMode.CBC;
    des.Padding = PaddingMode.PKCS7;
    des.Key = Encoding.UTF8.GetBytes(key);
    des.IV = Encoding.UTF8.GetBytes(iv);
    byte[] plainByteArray = Convert.FromBase64String(text);
    byte[] cipherByteArray = des.CreateDecryptor().TransformFinalBlock(plainByteArray, 0, 
    plainByteArray.Length);
    string cipherText = Encoding.UTF8.GetString(cipherByteArray);
    return cipherText;
  }
}

3-5 程式碼 MD5 範例

php 與 csharp 範例如右(點選php或csharp選單)

$encrypt_data = openssl_encrypt($data,'DES-CBC',$key,OPENSSL_RAW_DATA ,$iv); 
$req_base64 = base64_encode($encrypt_data); 

$timestamp=time(); 

/// <summary>產生簽章</summary> 
$signature_data=$clientid.$clientsecret.$timestamp.$req_base64; 
$signature=md5($signature_data); 
/// <summary>產生簽章</summary>
public static string CreateSignature(string clientID, string clientSecret, string timestamp, string 
encryptData)
{
  using(var md5 = MD5.Create())
  {
    var inputText = clientID + clientSecret + timestamp + encryptData;
    var inputByteArray = Encoding.UTF8.GetBytes(inputText);
    var outputByteArray = md5.ComputeHash(inputByteArray);
    var outputText = ByteToHexBitFiddle(outputByteArray);
    return outputText;
  }
}
public static string ByteToHexBitFiddle(byte[] bytes)
{
  char[] c = new char[bytes.Length * 2];
  int b;
  for (int i = 0; i < bytes.Length; i++)
  {
    b = bytes[i] >> 4;
    c[i * 2] = (char)(55 + b + (((b - 10) >> 31) & -7));
    b = bytes[i] & 0xF;
    c[i * 2 + 1] = (char)(55 + b + (((b - 10) >> 31) & -7));
  }
  return new string(c);
}

3-6 調用 API 舉例

Send


Send

{
    "SystemCode":"TestSystem",
    "WebId":"Uy2m48TRCUo",
    "UserId":"497OHx21A0gInxza7zJj",
    "UserType":1,
    "Currency":"KRW"
}

Response

{
    "ErrorCode":0,
    "ErrorMessage":"OK",
    "Timestamp":1584512886,
    "Data":
    {
        "SystemCode":" TestSystem",
        "WebId":"Uy2m48TRCUo",
        "UserId":"497OHx21A0gInxza7zJj"
    }
}

POST /SingleWallet/Player/CreatePlayer HTTP/1.1
Host: 192.168.1.102:8866
Content-Type: application/x-www-form-urlencoded
X-API-ClientID: 3df82c9b0af3
X-API-Signature: 45d828b54aa091a5b137351e64673258
X-API-Timestamp: 1494946640

json 範例如右(點選json選單)

4. API 請求、標頭以及回傳資訊說明

4-1 請求 URL

名稱 內容
URL http://<server>/<API 名稱>
方法 POST

4-2 標頭

各 API 請求時,皆需有如下的標頭,否則回傳錯誤代碼,錯誤代碼請參考 9-1

名稱 型別 必要 描述
X-API-ClientID String Y 請求的連線端 ID
X-API-Signature String Y 請求的簽章
X-API-Timestamp String Y 請求的時間戳記,格式為 unix timestamp

傳入的 Timestamp 超過現在時間 30 秒以上的呼叫,將被列為不合法的呼叫,會回傳 Invalid decrypt 的錯誤訊息。

4-3 傳入參數說明

各 API 請求時,傳入的 Key 為 request,Value 為以 UTF-8 編碼的 JSON 格式(相關資訊請參閱 「5. 遊戲系統 API 說明」),且經 DES 加密後資料,故使用時需經過解密,且要通過 MD5 的 認證才可使用,否則會回傳 Invalid decrypt 的錯誤訊息。

4-4 回傳資訊說明

成功時

{
    "ErrorCode":0,
    "ErrorMessage":"OK",
    "Timestamp":1584512886,
    "Data":
    {
    "SystemCode":" TestSystem",
    "WebId":"Uy2m48TRCUo",
    "UserId":"497OHx21A0gInxza7zJj"
    }
}

失敗時
{
    "ErrorCode":2001,
    "ErrorMessage":"Illegal arguments.",
    "Timestamp":1584512886,
    "Data":null
}

各 API 不論執行成功或失敗,皆會以 UTF-8 編碼的 JSON 格式經 DES 加密後回傳,且內容包 含下列資訊Data 中的 JSON 格式資訊請參閱「5. 遊戲系統 API 說明」。

名稱 型別 描述
ErrorCode Int 錯誤代碼,詳細請參考 9-1 錯誤代碼表
ErrorMessage String 錯誤訊息,詳細請參考 9-1 錯誤代碼表
Timestamp Long 時間戳記
Data Object API 呼叫回傳的 JSON 格式的 object / object array

範例(此範例為明碼) /SingleWallet/Player/CreatePlayer 回傳資訊如下表

名稱 型別 描述
Data Object
Data/SystemCode String 系統代碼
Data/WebId String 站台代碼
Data/UserId String 會員的唯一識別碼

成功與失敗的 json 格式如右(點選json選單)

5. 遊戲系統 API 說明 🚀

以下三大類的錯誤代碼為所有 API 都可能會收到的

錯誤代碼 錯誤訊息 描述
0 OK 正常
1xxx 系統有誤或是維護中
2xxx 參數輸入驗證有誤

5-1 建立會員(幣別帳戶)

API 名稱:SingleWallet/Player/CreatePlayer

名稱 型別 長度 必要 描述
SystemCode String 2~20 Y 系統代碼(只限英數)
WebId String 3~20 Y 站台代碼(只限英數)
UserId String 3~20 Y 會員惟一識別碼(只限英數)
Currency String 2~5 Y 幣別代碼(請參照代碼表)
名稱 型別 描述
Data Object
Data/SystemCode String 系統代碼
Data/WebId String 站台代碼
Data/UserId String 會員的唯一識別碼
錯誤代碼 錯誤訊息 描述
3010 The player's currency already exists. 此玩家帳戶已存在
3011 Deny permission for system. 系統商權限不足
3018 This currency is not allowed. 此幣別不被允許

補充說明:WebId 請依描述的規則自訂站台代碼 (不需在後台先新增)

5-2 取得遊戲列表

API 名稱:SingleWallet/Game/GameList

名稱 型別 長度 必要 描述
SystemCode String 2~20 Y 系統代碼(只限英數)
名稱 型別 描述
Data Object
Data/GameList Array
Data/GameList/GameId Int 遊戲代碼(請參照代碼表)
Data/GameList/GameType Int 遊戲類型(1:老虎機 2:捕魚機)
Data/GameList/GameName Object
Data/GameList/GameName/en_US String 遊戲名稱(英文)
Data/GameList/GameName/zh_TW String 遊戲名稱(繁體中文)
Data/GameList/GameName/zh_CN String 遊戲名稱(簡體中文)
Data/GameList/GameName/th_TH String 遊戲名稱(泰文)
Data/GameList/GameName/ko_KR String 遊戲名稱(韓文)
Data/GameList/GameName/ja_JP String 遊戲名稱(日文)
Data/GameList/GameName/en_MY String 遊戲名稱(緬甸文)
Data/GameList/GameName/id_ID String 遊戲名稱(印尼文)
Data/GameList/RollerSpec String 滾輪規格
Data/GameList/LineType String 連線類型
Data/GameList/LineNumber String 連線數
Data/GameList/GameStatus Int 遊戲狀態(1:正常 2:維護)
Data/GameList/GamePicUrl String 遊戲圖片網址(改由其它方式提供)
Data/GameList/GameResUrl String 遊戲資源網址(改由其它方式提供)
錯誤代碼 錯誤訊息 描述
3011 Deny permission for system. 系統商權限不足

5-3 取得遊戲網址(進入遊戲)

API 名稱:SingleWallet/Player/GetURLToken

名稱 型別 長度 必要 描述
SystemCode String 2~20 Y 系統代碼(只限英數)
WebId String 3~20 Y 站台代碼(只限英數)
UserId String 3~20 Y 會員惟一識別碼(只限英數)
UserName String 1~20 Y 會員暱稱
GameId Int Y 遊戲代碼(請參照代碼表)
Currency String 2~5 Y 幣別代碼(請參照代碼表)
Language String 5 Y 語系代碼(請參照代碼表)
ExitAction String 0~255 Y 離開遊戲時導向特定網址
名稱 型別 描述
Data Object
Data/URL String 進入遊戲的網址
錯誤代碼 錯誤訊息 描述
3008 The player's currency doesn't exist. 此玩家帳戶不存在
3011 Deny permission for system. 系統商權限不足
3012 Deny permission for game. 遊戲權限不足
3018 This currency is not allowed. 此幣別不被允許

補充說明:ExitAction 帶空字串 ( ExitAction=”” ) 時,離開遊戲時將關閉視窗

5-4 取得遊戲大廳網址(進入遊戲大廳)

API 名稱:SingleWallet/Player/GetLobbyURLToken

名稱 型別 長度 必要 描述
SystemCode String 2~20 Y 系統代碼(只限英數)
WebId String 3~20 Y 站台代碼(只限英數)
UserId String 3~20 Y 會員惟一識別碼(只限英數)
UserName String 1~20 Y 會員暱稱
Currency String 2~5 Y 幣別代碼(請參照代碼表)
Language String 5 Y 語系代碼(請參照代碼表)
ExitAction String 0~255 N 離開遊戲時導向特定網址
名稱 型別 描述
Data Object
Data/URL String 進入遊戲的網址
錯誤代碼 錯誤訊息 描述
3008 The player's currency doesn't exist. 此玩家帳戶不存在
3011 Deny permission for system. 系統商權限不足
3018 This currency is not allowed. 此幣別不被允許

5-5 取得遊戲中的會員

API 名稱:SingleWallet/Player/PlayerOnlineList

名稱 型別 長度 必要 描述
SystemCode String 2~20 Y 系統代碼(只限英數)
WebId String 3~20 Y 站台代碼(只限英數)
GameId Int Y 遊戲代碼(請參照代碼表)
Page Int Y 指定目前頁數(從 1 開始)
Rows Int Y 每頁筆數(範圍:100~500)
名稱 型別 描述
Data Object
Data/DataCount Int 總筆數
Data/PageSize Int 每頁筆數
Data/PageCount Int 總頁數
Data/PageNow Int 目前頁數
Data/UserList Array
Data/UserList/WebId String 站台代碼
Data/UserList/UserId String 會員惟一識別碼
Data/UserList/GameId Int 遊戲代碼(請參照代碼表)
錯誤代碼 錯誤訊息 描述
3011 Deny permission for system. 系統商權限不足
3012 Deny permission for game. 遊戲權限不足

5-6 剔除遊戲中的會員

API 名稱:SingleWallet/Player/Kickout

名稱 型別 長度 必要 描述
KickType Int Y 剔除模式,有下列 4 種 1:System, 2:Web, 3:Game, 4:Player
SystemCode String 2~20 Y 系統代碼(只限英數)
WebId String 0~20 Y 站台代碼(只限英數)
UserId String 0~20 Y 會員惟一識別碼(只限英數)
GameId Int Y 若 KickType 不為 3,則填 0
名稱 型別 描述
Data Object
Data/UserCount Int 被剔除的會員數量
錯誤代碼 錯誤訊息 描述
3011 Deny permission for system. 系統商權限不足
3012 Deny permission for game. 遊戲權限不足

補充說明:

,KickType=2,會剔除站台下所有人

,KickType=3,會剔除正在該遊戲的所有人

,KickType=4,會剔除特定會員

,KickType=2,UserId 請填空字串,GameId 請填 0

,KickType=3,WebId、UserId 請填空字串

,KickType=4,GameId 請填 0

此 API 會回傳符合剔除條件的會員數量,符合條件者將於數秒內被剔除系統

5-7 查詢會員線上狀態

API 名稱:SingleWallet/Player/GetPlayerOnlineStatus

名稱 型別 長度 必要 描述
SystemCode String 2~20 Y 系統代碼(只限英數)
WebId String 3~20 Y 站台代碼(只限英數)
UserId String 3~20 Y 會員惟一識別碼(只限英數)
名稱 型別 描述
Data Object
Data/UserId String 會員惟一識別碼
Data/OnlineList Array
Data/OnlineList/Currency String 幣別代碼(請參照代碼表)
Data/OnlineList/GameId Int 遊戲代碼(請參照代碼表)
錯誤代碼 錯誤訊息 描述
3008 The player's currency doesn't exist. 此玩家帳戶不存在
3011 Deny permission for system. 系統商權限不足

5-8 取得遊戲詳細資訊

API 名稱:SingleWallet/History/GetGameDetail

名稱 型別 長度 必要 描述
SystemCode String 2~20 Y 系統代碼(只限英數)
WebId String 0~20 Y 站台代碼(只限英數)
GameType Int Y 遊戲類型(1.老虎機 2.捕魚機)
TimeStart String 16 Y 開始時間(yyyy-MM-dd HH:mm)
TimeEnd String 16 Y 結束時間(yyyy-MM-dd HH:mm)
名稱 型別 描述
Data Object
Data/GameDetail Array
Data/GameDetail/Currency String 幣別代碼(請參照代碼表)
Data/GameDetail/WebId String 站台代碼
Data/GameDetail/UserId String 會員惟一識別碼
Data/GameDetail/SequenNumber Long 遊戲紀錄惟一編號
Data/GameDetail/GameId Int 遊戲代碼(請參照代碼表)
Data/GameDetail/SubGameType Int 子遊戲代碼(請參照代碼表)
Data/GameDetail/BetAmt Decimal 下注(小數點兩位)
Data/GameDetail/WinAmt Decimal 贏分(小數點兩位)
Data/GameDetail/PlayTime String 遊戲時間
Data/GameDetail/JackpotContribution Decimal Jackpot 貢獻值(小數點五位)
錯誤代碼 錯誤訊息 描述
3011 Deny permission for system. 系統商權限不足
3015 Time is not in the allowed range. 時間不在允許的範圍內

補充說明:

  1. 可以查詢的範圍為目前時間的3分鐘前,最多可以查詢到目前時間往前 72 小時內。 譬如目前是 2020-04-24 16:30,只能查詢 2020-04-24 16:262020-04-21 16:31

  2. WebId 有填值將只回傳該 WebId 底下的資料

  3. WebId 為空字串時,將回傳該系統所有資料

  4. 每次查詢最多 5 分鐘,譬如 TimeStart = 2020-04-24 16:22, TimeEnd = 2020-04-24 16:26,將取得 2020-04-24 16:22:00 ~ 2020-04-24 16:26:59 這 5 分鐘內的資料

5-9 取得遊戲每分鐘統計資訊

API 名稱:SingleWallet/Report/GetGameMinReport

名稱 型別 長度 必要 描述
SystemCode String 2~20 Y 系統代碼(只限英數)
WebId String 0~20 Y 站台代碼(只限英數)
GameType Int Y 遊戲類型(1.老虎機 2.捕魚機)
TimeStart String 16 Y 開始時間(yyyy-MM-dd HH:mm)
TimeEnd String 16 Y 結束時間(yyyy-MM-dd HH:mm)
名稱 型別 描述
Data Object
Data/GameReport Array
Data/GameReport/Currency String 幣別代碼(請參照代碼表)
Data/GameReport/WebId String 站台代碼
Data/GameReport/UserId String 會員惟一識別碼
Data/GameReport/GameId Int 遊戲代碼(請參照代碼表)
Data/GameReport/TimeMinute String 統計時間(分鐘)
Data/GameReport/BetSum Decimal 下注(小數點兩位)
Data/GameReport/WinSum Decimal 贏分(小數點兩位)
Data/GameReport/JackpotWinSum Decimal 彩金(小數點兩位)
Data/GameReport/NetWinSum Decimal 總輸贏(小數點兩位)
Data/GameReport/SequenNumber Long 該分鐘起始的遊戲紀錄編號
Data/GameReport/RecordCount Int 筆數
Data/GameReport/JackpotContributionSum Decimal Jackpot 貢獻值(小數點五位)
錯誤代碼 錯誤訊息 描述
3011 Deny permission for system. 系統商權限不足
3015 Time is not in the allowed range. 時間不在允許的範圍內

補充說明:

  1. 可以查詢的範圍為目前時間的3分鐘前,最多可以查詢到目前時間往前 72 小時內。 譬如目前是 2020-04-24 16:30,只能查詢 2020-04-24 16:262020-04-21 16:31

  2. WebId 有填值將只回傳該 WebId 底下的資料

  3. WebId 為空字串時,將回傳該系統所有資料

  4. 每次查詢最多 15 分鐘,譬如 TimeStart = 2020-04-24 16:12, TimeEnd = 2020-04-24 16:26,將取得 2020-04-24 16:22:00 ~ 2020-04-24 16:26:59 這 15 分鐘內的,每分鐘的統計資料

5-10 取得遊戲每小時統計資訊

API 名稱:SingleWallet/Report/GetGameHourReport

名稱 型別 長度 必要 描述
SystemCode String 2~20 Y 系統代碼(只限英數)
WebId String 0~20 Y 站台代碼(只限英數)
GameType Int Y 遊戲類型(1.老虎機 2.捕魚機)
Hour String 13 Y 查詢小時(yyyy-MM-dd HH)
名稱 型別 描述
Data Object
Data/GameReport Array
Data/GameReport/Currency String 幣別代碼(請參照代碼表)
Data/GameReport/WebId String 站台代碼
Data/GameReport/UserId String 會員惟一識別碼
Data/GameReport/GameId Int 遊戲代碼(請參照代碼表)
Data/GameReport/BetSum Decimal 下注(小數點兩位)
Data/GameReport/WinSum Decimal 贏分(小數點兩位)
Data/GameReport/JackpotWinSum Decimal 彩金(小數點兩位)
Data/GameReport/NetWinSum Decimal 總輸贏(小數點兩位)
Data/GameReport/RecordCount Int 筆數
Data/GameReport/JackpotContributionSum Decimal Jackpot 貢獻值(小數點五位)
錯誤代碼 錯誤訊息 描述
3011 Deny permission for system. 系統商權限不足
3015 Time is not in the allowed range. 時間不在允許的範圍內

補充說明:

  1. 查詢小時為 2021-11-23 12,取得的數據範圍為 2021-11-23 12:00:00 至 2021-11-23 12:59:59

  2. 可以查詢的範圍為目前時間的 2 小時前,最多可以查詢到 1440 小時內(60 天內)。 譬如目前是 2021-11-23 14:02,可查詢範圍為 2021-09-24 142021-11-23 12

  3. WebId 有填值將只回傳該 WebId 底下的資料

  4. WebId 為空字串時,將回傳該系統所有資料

5-11 取得遊戲每小時統計資訊(全部遊戲類型)

API 名稱:SingleWallet/Report/GetGameHourReportAllGameType

名稱 型別 長度 必要 描述
SystemCode String 2~20 Y 系統代碼(只限英數)
WebId String 0~20 Y 站台代碼(只限英數)
Hour String 13 Y 查詢小時(yyyy-MM-dd HH)
名稱 型別 描述
Data Object
Data/GameReport Array
Data/GameReport/GameType Int 遊戲類型(1.老虎機 2.捕魚機)
Data/GameReport/Currency String 幣別代碼(請參照代碼表)
Data/GameReport/WebId String 站台代碼
Data/GameReport/UserId String 會員惟一識別碼
Data/GameReport/GameId Int 遊戲代碼(請參照代碼表)
Data/GameReport/BetSum Decimal 下注(小數點兩位)
Data/GameReport/WinSum Decimal 贏分(小數點兩位)
Data/GameReport/JackpotWinSum Decimal 彩金(小數點兩位)
Data/GameReport/NetWinSum Decimal 總輸贏(小數點兩位)
Data/GameReport/RecordCount Int 筆數
Data/GameReport/JackpotContributionSum Decimal Jackpot 貢獻值(小數點五位)
錯誤代碼 錯誤訊息 描述
3011 Deny permission for system. 系統商權限不足
3015 Time is not in the allowed range. 時間不在允許的範圍內

補充說明:

  1. 查詢小時為 2021-11-23 12,取得的數據範圍為 2021-11-23 12:00:00 至 2021-11-23 12:59:59

  2. 可以查詢的範圍為目前時間的 2 小時前,最多可以查詢到 1440 小時內(60 天內)。 譬如目前是 2021-11-23 14:02,可查詢範圍為 2021-09-24 142021-11-23 12

  3. WebId 有填值將只回傳該 WebId 底下的資料

  4. WebId 為空字串時,將回傳該系統所有資料

5-12 取得遊戲每日統計資訊

API 名稱:SingleWallet/Report/GetGameDailyReport

名稱 型別 長度 必要 描述
SystemCode String 2~20 Y 系統代碼(只限英數)
WebId String 0~20 Y 站台代碼(只限英數)
GameType Int Y 遊戲類型(1.老虎機 2.捕魚機)
Date String 10 Y 查詢日期(yyyy-MM-dd)
名稱 型別 描述
Data Object
Data/GameReport Array
Data/GameReport/Currency String 幣別代碼(請參照代碼表)
Data/GameReport/WebId String 站台代碼
Data/GameReport/UserId String 會員惟一識別碼
Data/GameReport/GameId Int 遊戲代碼(請參照代碼表)
Data/GameReport/BetSum Decimal 下注(小數點兩位)
Data/GameReport/WinSum Decimal 贏分(小數點兩位)
Data/GameReport/JackpotWinSum Decimal 彩金(小數點兩位)
Data/GameReport/NetWinSum Decimal 總輸贏(小數點兩位)
Data/GameReport/RecordCount Int 筆數
Data/GameReport/JackpotContributionSum Decimal Jackpot 貢獻值(小數點五位)
錯誤代碼 錯誤訊息 描述
3011 Deny permission for system. 系統商權限不足
3015 Time is not in the allowed range. 時間不在允許的範圍內

補充說明:

  1. 查詢日期為 2020-04-24,取得的數據範圍為 2020-04-24 12:00:00 至 2020-04-25 11:59:59

  2. 可以查詢的開始範圍為一天前,最多可以查詢到 60 天內,譬如目前是 2020-04-24 10:30,可查詢的開始範圍為 2020-04-22。

  3. WebId 有填值將只回傳該 WebId 底下的資料

  4. WebId 為空字串時,將回傳該系統所有資料

5-13 取得遊戲每日統計資訊(全部遊戲類型)

API 名稱:SingleWallet/Report/GetGameDailyReportAllGameType

名稱 型別 長度 必要 描述
SystemCode String 2~20 Y 系統代碼(只限英數)
WebId String 0~20 Y 站台代碼(只限英數)
Date String 10 Y 查詢日期(yyyy-MM-dd)
名稱 型別 描述
Data Object
Data/GameReport Array
Data/GameReport/GameType Int 遊戲類型(1.老虎機 2.捕魚機)
Data/GameReport/Currency String 幣別代碼(請參照代碼表)
Data/GameReport/WebId String 站台代碼
Data/GameReport/UserId String 會員惟一識別碼
Data/GameReport/GameId Int 遊戲代碼(請參照代碼表)
Data/GameReport/BetSum Decimal 下注(小數點兩位)
Data/GameReport/WinSum Decimal 贏分(小數點兩位)
Data/GameReport/JackpotWinSum Decimal 彩金(小數點兩位)
Data/GameReport/NetWinSum Decimal 總輸贏(小數點兩位)
Data/GameReport/RecordCount Int 筆數
Data/GameReport/JackpotContributionSum Decimal Jackpot 貢獻值(小數點五位)
錯誤代碼 錯誤訊息 描述
3011 Deny permission for system. 系統商權限不足
3015 Time is not in the allowed range. 時間不在允許的範圍內

5-14 取得某帳戶某分鐘內的遊戲歷程網址

API 名稱:SingleWallet/Player/GetGameMinDetailURLToken

名稱 型別 長度 必要 描述
SystemCode String 2~20 Y 系統代碼(只限英數)
WebId String 3~20 Y 站台代碼(只限英數)
UserId String 3~20 Y 會員惟一識別碼(只限英數)
Currency String 2~5 Y 幣別代碼(請參照代碼表)
GameType Int Y 遊戲類型(1:老虎機 2:捕魚機)
GameId Int Y 遊戲代碼(請參照代碼表)
Time String 16 Y 查詢時間(yyyy-MM-dd HH:mm)
Language String 5 Y 語系代碼(請參照代碼表)
名稱 型別 描述
Data Object
Data/URL String 查看遊戲盤面的網址
錯誤代碼 錯誤訊息 描述
3011 Deny permission for system. 系統商權限不足

5-15 取得某帳戶某分鐘內的遊戲歷程網址 ( By SequenNumber )

API 名稱:SingleWallet/Player/GetGameMinDetailURLTokenBySeq

名稱 型別 長度 必要 描述
SystemCode String 2~20 Y 系統代碼(只限英數)
WebId String 3~20 Y 站台代碼(只限英數)
UserId String 3~20 Y 會員惟一識別碼(只限英數)
Currency String 2~5 Y 幣別代碼(請參照代碼表)
GameType Int Y 遊戲類型(1:老虎機 2:捕魚機)
GameId Int Y 遊戲代碼(請參照代碼表)
SequenNumber Long Y 該分鐘起始的遊戲紀錄編號
Language String 5 Y 語系代碼(請參照代碼表)
名稱 型別 描述
Data Object
Data/URL String 查看遊戲盤面的網址
錯誤代碼 錯誤訊息 描述
3011 Deny permission for system. 系統商權限不足

補充說明:

SequenNumber 的來源為 5-9 取得遊戲每分鐘統計資訊 API 回傳的Data/GameReport/SequenNumber 該分鐘起始的遊戲紀錄編號

5-16 取得某帳戶 slot 遊戲歷程的遊戲盤面

API 名稱:SingleWallet/Player/GetSlotGameRecordURLToken

名稱 型別 長度 必要 描述
SystemCode String 2~20 Y 系統代碼(只限英數)
WebId String 3~20 Y 站台代碼(只限英數)
UserId String 3~20 Y 會員惟一識別碼(只限英數)
Currency String 2~5 Y 幣別代碼(請參照代碼表)
GameId Int Y 遊戲代碼(請參照代碼表)
SequenNumber Long Y 遊戲紀錄惟一編號
Language String 5 Y 語系代碼(請參照代碼表)
名稱 型別 描述
Data Object
Data/URL String 查看遊戲盤面的網址
錯誤代碼 錯誤訊息 描述
3011 Deny permission for system. 系統商權限不足

5-17 取得 Jackpot 中獎紀錄

API 名稱:SingleWallet/Jackpot/GetJackpotHitRec

名稱 型別 長度 必要 描述
SystemCode String 2~20 Y 系統代碼(只限英數)
WebId String 0~20 Y 站台代碼(只限英數)
DateStart String 10 Y 開始日期(yyyy-MM-dd)
DateEnd String 10 Y 結束日期(yyyy-MM-dd)
名稱 型別 描述
Data Object
Data/JackpotHitRec Array
Data/JackpotHitRec/JackpotHitID Long 中獎唯一識別號
Data/JackpotHitRec/SequenNumber Long 遊戲紀錄惟一編號
Data/JackpotHitRec/Currency String 幣別代碼(請參照代碼表)
Data/JackpotHitRec/WebId String 站台代碼
Data/JackpotHitRec/UserId String 會員惟一識別碼
Data/JackpotHitRec/GameId Int 遊戲代碼(請參照代碼表)
Data/JackpotHitRec/JackpotType Int 中獎 Jackpot 類型(請參照補充說明)
Data/JackpotHitRec/JackpotWin Decimal 彩金(小數點兩位)
Data/JackpotHitRec/HitTime String 中獎時間
錯誤代碼 錯誤訊息 描述
3011 Deny permission for system. 系統商權限不足
3015 Time is not in the allowed range. 時間不在允許的範圍內

補充說明:

  1. 查詢日期為 2021-11-22 ~ 2021-11-24,取得的數據範圍為 2021-11-22 12:00:00 至 2021-11-25 11:59:59

  2. 可以查詢最多 60 天內,譬如目前是 2021-11-24 19:12:28,可查詢範圍為 2021-09-252021-11-24

  3. WebId 有填值將只回傳該 WebId 底下的資料

  4. WebId 為空字串時,將回傳該系統所有資料

  5. JackpotType 的類型

Jackpot Type 0 1 2 3
Jackpot Name GRAND MAJOR MINOR MINI

5-18 取得特定序號的贏分值

API 名稱:SingleWallet/History/GetSeqResult

名稱 型別 長度 必要 描述
SystemCode String 2~20 Y 系統代碼(只限英數)
WebId String 3~20 Y 站台代碼(只限英數)
UserId String 3~20 Y 會員惟一識別碼(只限英數)
Currency String 2~5 Y 幣別代碼(請參照代碼表)
GameId Int Y 遊戲代碼(請參照代碼表)
SequenNumber Long Y 遊戲紀錄惟一編號
名稱 型別 描述
Data Object
Data/SequenNumber Long 遊戲紀錄惟一編號
Data/Amount Decimal 贏分金額(小數點兩位)
錯誤代碼 錯誤訊息 描述
3011 Deny permission for system. 系統商權限不足
3017 Game result is not found. 找不到遊戲結果

補充說明:

可以查詢的範圍為目前時間的3分鐘前,最多可以查詢到目前時間往前 72 小時內

譬如目前是 2021-04-24 16:30,只能查詢 2020-04-24 16:262020-04-21 16:31

6. 網站營運商需提供下列 API 給 RSG 遊戲平台

營運商提供的 API 請遵循以下規範來設計:

  1. 資料傳輸與加解密方式請與 遊戲系統 API 相同,請參考 3.API 使用說明 以及 4. API 請求、標頭以及回傳資訊說明

  2. API 執行後的回傳結果請用以下規範的錯誤代碼

    (1) 以下錯誤代碼為所有 API 共同的

    錯誤代碼 錯誤訊息 描述
    0 OK 正常
    1001 Execute failed. 執行失敗
    1002 System is in maintenance. 系統維護中
    2001 Illegal arguments. 無效的參數
    2002 Invalid decrypt. 解密失敗

    (2) 各 API 的特定回傳錯誤代碼 ( 請詳見各 API )

    錯誤代碼 錯誤訊息 描述
    4001 The player's currency doesn't exist. 此玩家帳戶不存在
    4002 Duplicate SequenNumber. 重複的 SequenNumber
    4003 Balance is not enough. 餘額不足
    4004 The SequenNumber doesn't exist. 此 SequenNumber 不存在
    4005 This SequenNumber has been settled. 此 SequenNumber 已被結算
    4006 This SequenNumber has been cancelled. 此 SequenNumber 已被取消
    4007 Duplicate TransactionId. 重複的TransactionId
    4008 Deny prepay, other reasons. 拒絕預扣,其他原因
    4009 Transaction is not found. 找不到交易結果
  3. {{url}}:網站營運商提供給 RSG 遊戲平台呼叫的 API 網址

  4. 本遊戲系統根據遊戲時的 SPIN 狀況,會有不同的子遊戲代碼(請參照代碼表)。
    在呼叫營運商提供的 API 時,其中除了 Jackpot 的子遊戲名稱是
    單獨使用 JackpotResult (6-4),其它子遊戲會成對使用 Bet (6-2)BetResult (6-3)

  5. Bet (6-2) API 的 Amount 參數只在子遊戲代碼(請參照代碼表)對應的
    名稱為”一般”時會有大於 0 的下注 (舉例:子遊戲代碼為 0 或 3000),其它子遊戲代碼下注皆會帶 0

  6. SequenNumber 為遊戲紀錄惟一編號(以下簡稱 Seq) (1) Seq 會成對出現在 下注與結算 API
    (2) Seq 在 Jackpot 中獎時則只會單獨出現

  7. 常見問題

    1. 營運商回覆 RSG 回覆內文 (Response Body) 不需要加上 Msg=

      ❌ 回覆內文 (Response Body) 加上Msg=

      Msg=xkf7wEkQvp+LJTravXHY9RDEX24YMjQxnV/5DPCoIKE=

      ✅ 回覆內文 (Response Body) 不需要加上Msg=

      xkf7wEkQvp+LJTravXHY9RDEX24YMjQxnV/5DPCoIKE=

6-1 取得餘額

API 名稱:{{url}}/GetBalance

名稱 型別 長度 必要 描述
SystemCode String 2~20 Y 系統代碼(只限英數)
WebId String 3~20 Y 站台代碼(只限英數)
UserId String 3~20 Y 會員惟一識別碼(只限英數)
Currency String 2~5 Y 幣別代碼(請參照代碼表)
名稱 型別 描述
Data Object
Data/Balance Decimal 會員當下餘額(小數點兩位) (範圍 0.00~9999999999.99)
錯誤代碼 錯誤訊息 描述
4001 The player's currency doesn't exist. 此玩家帳戶不存在

6-2 下注

API 名稱:{{url}}/Bet

名稱 型別 長度 必要 描述
SystemCode String 2~20 Y 系統代碼(只限英數)
WebId String 3~20 Y 站台代碼(只限英數)
UserId String 3~20 Y 會員惟一識別碼(只限英數)
TransactionID String 23 Y 交易惟一識別碼(只限英數)
Currency String 2~5 Y 幣別代碼(請參照代碼表)
GameId Int Y 遊戲代碼(請參照代碼表)
SubGameType Int Y 子遊戲代碼(請參照代碼表)
SequenNumber Long Y 遊戲紀錄惟一編號
Amount Decimal Y 下注金額(小數點兩位) (範圍 0.00~9999999999.99)
名稱 型別 描述
Data Object
Data/Balance Decimal 會員當下餘額(小數點兩位) (範圍 0.00~9999999999.99)
錯誤代碼 錯誤訊息 描述
4001 The player's currency doesn't exist. 此玩家帳戶不存在
4002 Duplicate SequenNumber. 重複的 SequenNumber
4003 Balance is not enough. 餘額不足

6-3 結算

API 名稱:{{url}}/BetResult

名稱 型別 長度 必要 描述
SystemCode String 2~20 Y 系統代碼(只限英數)
WebId String 3~20 Y 站台代碼(只限英數)
UserId String 3~20 Y 會員惟一識別碼(只限英數)
TransactionID String 23 Y 交易惟一識別碼(只限英數)
Currency String 2~5 Y 幣別代碼(請參照代碼表)
GameId Int Y 遊戲代碼(請參照代碼表)
SubGameType Int Y 子遊戲代碼(請參照代碼表)
SequenNumber Long Y 遊戲紀錄惟一編號
Amount Decimal Y 贏分金額(小數點兩位) (範圍 0.00~9999999999.99)
PlayTime String 19 Y 遊戲時間(yyyy-MM-dd HH:mm:ss)
名稱 型別 描述
Data Object
Data/Balance Decimal 會員當下餘額(小數點兩位) (範圍 0.00~9999999999.99)
錯誤代碼 錯誤訊息 描述
4001 The player's currency doesn't exist. 此玩家帳戶不存在
4004 The SequenNumber doesn't exist. 此 SequenNumber 不存在
4005 This SequenNumber has been settled. 此 SequenNumber 已被結算

6-4 Jackpot 中獎

API 名稱:{{url}}/JackpotResult

名稱 型別 長度 必要 描述
SystemCode String 2~20 Y 系統代碼(只限英數)
WebId String 3~20 Y 站台代碼(只限英數)
UserId String 3~20 Y 會員惟一識別碼(只限英數)
TransactionID String 23 Y 交易惟一識別碼(只限英數)
Currency String 2~5 Y 幣別代碼(請參照代碼表)
GameId Int Y 遊戲代碼(請參照代碼表)
SubGameType Int Y 子遊戲代碼(請參照代碼表)
SequenNumber Long Y 遊戲紀錄惟一編號
Amount Decimal Y 贏分金額(小數點兩位) (範圍 0.00~9999999999.99)
PlayTime String 19 Y 遊戲時間(yyyy-MM-dd HH:mm:ss)
名稱 型別 描述
Data Object
Data/Balance Decimal 會員當下餘額(小數點兩位) (範圍 0.00~9999999999.99)
錯誤代碼 錯誤訊息 描述
4001 The player's currency doesn't exist. 此玩家帳戶不存在
4005 This SequenNumber has been settled. 此 SequenNumber 已被結算

6-5 取消下注

API 名稱:{{url}}/CancelBet

名稱 型別 長度 必要 描述
SystemCode String 2~20 Y 系統代碼(只限英數)
WebId String 3~20 Y 站台代碼(只限英數)
UserId String 3~20 Y 會員惟一識別碼(只限英數)
TransactionID String 23 Y 交易惟一識別碼(只限英數)
SequenNumber Long Y 遊戲紀錄惟一編號
名稱 型別 描述
Data Object
Data/Balance Decimal 會員取消下注後餘額(小數點兩位) (範圍 0.00~9999999999.99)
錯誤代碼 錯誤訊息 描述
4004 The SequenNumber doesn't exist. 此 SequenNumber 不存在
4006 This SequenNumber has been cancelled. 此 SequenNumber 已被取消

捕魚機遊戲 預付款API 說明

6-6 預扣6-7 退款6-8 檢查交易,將針對所支援魚機遊戲進行相關的 api 動作。

目前支援預扣款魚機遊戲列表:

遊戲ID 遊戲名稱
3001 海霸王
3002 福娃補魚

RSG 將會向平台廠商預扣一筆金額。其規則為各魚機遊戲廳別所定義。但當玩家額度不足於預扣該廳別的金額則會預扣玩家全部額度。

玩家會因個別的魚機遊戲,分別向廠商進行預扣。但最終在 RSG 內部金額則為兩款遊戲預扣的總額。

玩家一旦有預扣一筆金額至 RSG 內部,並開始射擊將使用 RSG 內部錢包開始扣款。而扣款至餘額為 0 時,需重新載入遊戲才會重新再向廠商預扣所需額度。

另外玩家一旦進行預扣後,切換廳別並不會再向廠商預扣。直到登出並進行退款後才能重新預扣金額。

玩家登入時,若第一次向廠商進行預扣失敗,會使用 6-8 檢查交易 api 向廠商查詢該筆預扣交易,若是該筆預扣交易存在則會讓玩家繼續登入遊戲,不存在則會中斷玩家連線。

預付金額說明

海霸王 ( 3001 ) 預扣金額:當下進入廳別的最大押注 x 1800 以下為預扣範例:

廳別 幣別 最大押注 預扣金額
歡樂廳 NT 10 18,000
富豪廳 NT 100 180,000
霸王廳 NT 1000 1,800,000
歡樂廳 RMB 3 5,400
富豪廳 JPY 400 720,000
霸王廳 MYR 200 360,000

福娃捕魚 ( 3002 ) 預扣金額:當下進入廳別的最大押注 x 2700 以下為預扣範例:

廳別 幣別 最大押注 預扣金額
歡樂廳 NT 1 2,700
富豪廳 NT 10 27,000
福娃廳 NT 100 270,000
歡樂廳 RMB 0.3 810
富豪廳 JPY 40 108,000
福娃廳 MYR 20 54,000

預扣成功時序圖

diagram

預扣失敗時序圖

diagram

退款成功時序圖

diagram

退款失敗時序圖

diagram

RSG 會因為玩家進出不同的魚機遊戲有可能會多次向廠商進行預扣,但僅有登出後一分鐘的退款動作。在多次的預扣及退款中,會在 PrepayRefund api 請求中帶入 SessionId 參數作為同一個交易過程唯一識別碼

交易時序圖

diagram

6-6 預扣

API 名稱:{{url}}/Prepay

名稱 型別 長度 必要 描述
SystemCode String 2~20 Y 系統代碼(只限英數)
WebId String 3~20 Y 站台代碼(只限英數)
UserId String 3~20 Y 會員惟一識別碼(只限英數)
GameId Int Y 遊戲代碼(只限 3001 & 3002)
Currency String 2~5 Y 幣別代碼(請參照代碼表)
TransactionId String 8~30 Y 交易惟一識別碼(只限英數、@)
SessionId String 36 Y 同一交易過程識別碼
Amount Decimal Y 預扣金額(小數點兩位) (範圍0.00~9999999999.99)
名稱 型別 描述
Data Object
Data/Balance Decimal 會員預扣後餘額(小數點兩位) (範圍 0.00~9999999999.99)
Data/Amount Decimal 預扣金額(小數點兩位) (範圍 0.00~9999999999.99)
錯誤代碼 錯誤訊息 描述
4001 The player's currency doesn't exist. 此玩家帳戶不存在
4003 Balance is not enough. 餘額不足
4007 Duplicate TransactionId. 重複的TransactionId
4008 Deny prepay, other reasons. 拒絕預扣,其他原因

6-7 退款

API 名稱:{{url}}/Refund

名稱 型別 長度 必要 描述
SystemCode String 2~20 Y 系統代碼(只限英數)
WebId String 3~20 Y 站台代碼(只限英數)
UserId String 3~20 Y 會員惟一識別碼(只限英數)
GameId Int Y 遊戲代碼(只限 3001 & 3002)
Currency String 2~5 Y 幣別代碼(請參照代碼表)
TransactionId String 8~30 Y 交易惟一識別碼(只限英數、@)
SessionId String 36 Y 同一交易過程識別碼
Amount Decimal Y 退款金額(小數點兩位) (範圍0.00~9999999999.99)
名稱 型別 描述
Data Object
Data/Balance Decimal 會員退款後餘額(小數點兩位) (範圍 0.00~9999999999.99)
Data/Amount Decimal 退款金額(小數點兩位) (範圍 0.00~9999999999.99)
錯誤代碼 錯誤訊息 描述
4001 The player's currency doesn't exist. 此玩家帳戶不存在
4007 Duplicate TransactionId. 重複的TransactionId

6-8 檢查交易

API 名稱:{{url}}/CheckTransaction

名稱 型別 長度 必要 描述
SystemCode String 2~20 Y 系統代碼(只限英數)
WebId String 3~20 Y 站台代碼(只限英數)
UserId String 3~20 Y 會員惟一識別碼(只限英數)
GameId Int Y 遊戲代碼(只限 3001 & 3002)
Currency String 2~5 Y 幣別代碼(請參照代碼表)
TransactionId String 8~30 Y 交易惟一識別碼(只限英數、@)
名稱 型別 描述
Data Object
Data/TransactionId String 交易惟一識別碼(只限英數、@)
Data/TransactionTime String yyyy-MM-dd HH:mm:ss
Data/WebId String 站台代碼(只限英數)
Data/UserId String 會員惟一識別碼(只限英數)
Data/GameId Int 遊戲代碼(只限 3001 & 3002)
Data/Currency String 幣別代碼(請參照代碼表)
Data/Action Int 1 = 預付, 2 = 退款
Data/Amount Decimal 交易金額 (小數點兩位) (範圍0.00~9999999999.99)
Data/AfterBalance Decimal 會員進行交易後餘額(小數點兩位) (範圍0.00~9999999999.99)
錯誤代碼 錯誤訊息 描述
4001 The player's currency doesn't exist. 此玩家帳戶不存在
4009 Transaction is not found. 找不到交易結果

7. FTP 功能

7-1 功能說明

FTP 方式依提供以下三種資料

  1. 遊戲詳細交易信息

  2. 遊戲每分鐘統計資訊

  3. 遊戲每日統計資訊

7-2 目錄說明

FTP 內的目錄第一層會先以資料分類遊戲分類做區分,

第二層會以日期來區分,譬如:2020032520200326

每日統計資訊無第二層目錄。

目錄範例:

  1. 遊戲詳細交易信息:history_fish / 20200325

  2. 遊戲每分鐘統計資訊:report_min_slot / 20200326

  3. 遊戲每日統計資訊:report_daily

7-3 壓縮檔名說明

遊戲詳細交易信息 和 遊戲每分鐘統計資訊 的壓縮檔名

資料分類遊戲分類系統代碼起始時間結束時間所組成

檔名範例:

report_min_slot_TestSystem_202003251710_202003251719.zip

該壓縮檔內的資料時間範圍:2020-03-25 17:10:00 ~ 17:19:59

裡面會有最多 10 分鐘內的檔案

每日統計資訊 的壓縮檔名

資料分類系統代碼日期所組成

檔名範例:

report_daily_TestSystem_20200325.zip

7-4 檔名說明

遊戲詳細交易信息 和 遊戲每分鐘統計資訊 的檔名

檔案會依照資料分類遊戲分類系統代碼站台代碼每分鐘

組成一個 CSV 檔

檔名範例:

report_min_slot_TestSystem_web4_20200325_1712.csv

該 CSV 檔內的資料時間範圍:2020-03-25 17:12:00 ~ 17:12:59

每日統計資訊的檔名

檔案會依照資料分類遊戲分類系統代碼站台代碼日期

檔名範例:

report_min_slot_TestSystem_web4_20200325.csv

7-5 欄位說明

  1. 遊戲詳細交易信息:請參照 5-8 取得遊戲詳細資訊

  2. 遊戲每分鐘統計資訊:請參照 5-9 取得遊戲每分鐘統計資訊

  3. 遊戲每日統計資訊:請參照 5-12 取得遊戲每日統計資訊

8. API 取明細與取盤面網址

8-1 老虎機

  1. 5-8 取得遊戲詳細資訊 ( SingleWallet/History/GetGameDetail )

  2. 5-16 取得某帳戶 slot 遊戲歷程的遊戲盤面 ( SingleWallet/Player/GetSlotGameRecordURLToken )

8-2 捕魚機

捕魚機由於數據量較多,建議用以下來搭配使用

  1. 5-9 取得遊戲每分鐘統計資訊 (SingleWallet/Report/GetGameMinReport )

  2. 取得某帳戶某分鐘內的遊戲歷程網址

    a. 參數為"分鐘" 5-14 (SingleWallet/Player/GetGameMinDetailURLToken)

    b. 參數為"Seq" 5-15 (SingleWallet/Player/GetGameMinDetailURLTokenBySeq)

以上(1)為捕魚遊戲每分鐘匯總,(2)則為每分鐘細單連結(a 或 b 擇一來使用) Seq 為該分鐘第一個 SequenNumber

9. 錯誤代碼

9-1 錯誤代碼表

代碼類別 描述
0 正常
1xxx 系統有誤或是維護中
2xxx 參數輸入驗證有誤
3xxx 邏輯判斷後有誤
錯誤代碼 錯誤訊息 描述
0 OK 正常
1001 Execute failed. 執行失敗
1002 System is in maintenance. 系統維護中
2001 Illegal arguments. 無效的參數
2002 Invalid decrypt. 解密失敗
3005 Balance is not enough. 餘額不足
3006 Transaction is not found. 找不到交易結果
3008 The player's currency doesn't exist. 此玩家帳戶不存在
3010 The player's currency already exists 此玩家帳戶已存在
3011 Deny permission for system. 系統商權限不足
3012 Deny permission for game. 遊戲權限不足
3014 Duplicate TransactionID. 重複的 TransactionID
3015 Time is not in the allowed range. 時間不在允許的範圍內
3016 Deny withdraw, player is in gaming. 拒絕提點,玩家正在遊戲中
3017 Game result is not found. 找不到遊戲結果
3018 This currency is not allowed. 此幣別不被允許

9-2 會得到錯誤代碼 2002 的 3 種情況:

  1. 加密錯誤

  2. POST 資料時,未在 body 以 Msg=xxxxx 的方式傳送

  3. X-API-Timestamp 時間有誤,傳入的 Timestamp 超過現在時間 30 秒以上的呼叫

9-3 會得到錯誤代碼 2001 的常見情況:

  1. 數值型態 ( Int,Long,Decimal ) 的參數,在傳送時請移除雙引號

    錯誤 => {"GameId": "36"},正確 => {"GameId": 36}

  2. 時間參數,請注意 API 參數的 長度 以及 描述,總計有以下 3 種

    yyyy-MM-dd HH:mm

    yyyy-MM-dd HH

    yyyy-MM-dd

附錄 A - 遊戲代碼表

版本: v1.16.0

1. 遊戲代碼

1-1 說明

本遊戲代碼供遊戲介接以及歷史紀錄獲取後的識別用

目前提供 85 款老虎機、 2 款捕魚機、 1款街機,遊戲畫面「開心農場」和「雷神之錘」

有支援直式與橫式,「麻將發了」和 「麻將發了2」「聚寶財神」、「魔龍傳奇」、「黃金摔角

手」、「有請財神」、「迦羅寶石4」、「超級王牌2」、「勇闖黃金城」、「狗來富」、「逛夜市3」以及「大過年3」只支援直式,其它都只支援橫式

1-2 老虎機遊戲代碼(遊戲畫面只限橫式)

代碼 en-US zh-TW zh-CN 最後新增
1 Fortune Thai 泰有錢 泰有钱
2 Magic Gem 魔法石 魔法石
3 Royal 777 皇家 777 皇家 777
4 Love City 慾望城市 欲望城市
5 Gold Chicken 金鷄報喜 金鸡报喜
6 Pharaoh 法老王 法老王
7 Alibaba 阿里巴巴 阿里巴巴
8 Lucky Fruits 幸運水果 幸運水果
10 Jungle 動物叢林 动物丛林
11 Captain Hook 虎克船長 虎克船长
12 HUCA 野蠻遊戲 野蛮游戏
14 Sweet Candy 甜蜜糖果 甜蜜糖果
15 Fire Spin 烈焰轉輪 烈焰转轮
16 Popeye 大力水手 大力水手
17 Crazy Doctor 瘋狂博士 疯狂博士
18 Nonstop 永不停止 永不停止
19 5 Dragons 五龍爭霸 五龙争霸
21 72 Changes 七十二變 七十二变
23 Mermaid 人魚傳說 人鱼传说
24 Buffalo 荒野水牛 荒野水牛
25 Wild Panda 竹林熊貓 竹林熊猫
26 Lucky Thailand 泰好運 泰好运
27 God of Wealth 財神到 财神到
28 Lucky Dragon 行運一條龍 行运一条龙
29 HUSA HUSA HUSA
30 Dragon King 龍王 龙王
31 TiKi Party 提金派對 提金派对
32 Goblin Miner 礦工哥布林 矿工哥布林
33 Lucky Bar 幸運拉霸 幸运拉霸
34 Africa 非洲 非洲
35 Wizard Store 巫師商店 巫师商店
36 Mr.Doggy 家犬先生 家犬先生
37 Disco Night 迪斯可之夜 迪斯可之夜
38 Horror Nights 農場夜驚魂 农场夜惊魂
39 China Empress 武媚娘 武媚娘
40 FuWaFaFa 福娃發發 福娃发发
41 Tarzan 泰山 泰山
42 Jalapeno 墨西哥辣椒 墨西哥辣椒
43 Piggy Punch 金豬爆吉 金猪爆吉
44 Sevens High 七起來 七起来
45 Kunoichi 女忍者 女忍者
46 Ninja 忍者 忍者
47 Jelly 27 果凍 27 果冻 27
48 Angry Bear 暴怒棕熊 暴怒棕熊
49 Poseidon 海神 海神
50 Dancing Lion 跳跳獅 跳跳狮
51 Medusa 美杜莎 美杜莎
52 Medea 美狄亞 美狄亚
53 Neon Circle 霓虹圓 霓虹圆
55 Get High 嗨起來 嗨起来
56 Cowboy 西部牛仔 西部牛仔
58 The Little Match Girl 賣火柴的小女孩 卖火柴的小女孩
59 Mystery Panda 秘林熊貓 秘林熊猫
60 Hip Hop Monkey 嘻哈金剛 嘻哈金刚
61 Book of Gold 黃金之書 黄金之书
65 Tai Chi 太極 太极
66 Golden Leaf Clover 金色幸運草 金色幸运草
68 Wizard Store Gold 巫師商店黃金版 巫师商店黄金版
70 Rat's Money 鼠來寶 鼠来宝
72 Songkran 潑水節 泼水节
73 Elf Archer 精靈射手 精灵射手
76 Bear Kingdom 小熊王國 小熊王国
78 Royal 7777 皇家 7777 皇家 7777
81 Dragon King2 龍王 2 龙王 2
82 Pharaoh II 法老王 II 法老王 II
90 Dragon Fight 龍行天下 龙行天下
100 Roma 羅馬競技場 罗马竞技场
113 Chin Shi Huang 秦皇傳說 秦皇传说
121 Legend of Lu Bu 戰神呂布 战神吕布
123 Jurassic Treasure 侏羅紀寶藏 侏罗纪宝藏 2024.11
2001 Energy Combo 能量外星人 能量外星人

1-3 老虎機遊戲代碼(遊戲畫面只限直式)

代碼 en-US zh-TW zh-CN 最後新增
117 Rich Mahjong 麻將發了 麻将发了
114 Caishen Fortunes 聚寶財神 聚宝财神
119 Dragon Legend 魔龍傳奇 魔龙传奇
75 Luchadors 黃金摔角手 黃金摔角手 2024.01
120 Caishen Coming 有請財神 有請財神 2024.01
125 Fortune Gems 4 迦羅寶石4 迦罗宝石4 2024.11
128 Super Ace 2 超級王牌2 超级王牌2 2024.11
116 Fortune of Aztecs 勇闖黃金城 勇闯黄金城 2024.11
118 Rich Mahjong 2 麻將發了2 麻将发了2 2024.11
122 Lucky Dog 狗來富 狗来富 2024.11
126 Night Market 3 逛夜市3 逛夜市3 2024.12
127 Chinese New Year 3 大過年3 大过年3 2024.12

1-4 老虎機遊戲代碼(直橫式皆有)

代碼 en-US zh-TW zh-CN 最後新增
111 Happy Farm 開心農場 开心农场
112 Power of Thor 雷神之錘 雷神之锤

1-5 捕魚機遊戲代碼(遊戲畫面只限橫式)

代碼 en-US zh-TW zh-CN 最後新增
3001 Ocean Emperor 八爪天下海霸王 八爪天下海霸王
3002 FuWa Fishing 福娃捕魚 福娃捕鱼

1-6 街機遊戲代碼(遊戲畫面只限橫式)

代碼 en-US zh-TW zh-CN 最後新增
5001 Crown 5PK 皇冠5PK 皇冠5PK

2. 子遊戲代碼

2-1 說明

本子遊戲代碼供歷史紀錄獲取後的識別用

2-2 老虎機子遊戲代碼

代碼 子遊戲名稱 最後新增
0 一般 (Spin)
1 免費
2 比倍
3 Jackpot
4 重轉
5 選擇
6 連鎖
7 消除
99 特色

2-3 捕魚機子遊戲代碼

代碼 子遊戲名稱 最後新增
3000 一般 (射擊)
3001 龍王砲
3002 砲返現 ( 龍王 )
3003 元寶牆
3004 鑽頭炮
3005 砲返現 ( 鑽頭 )
99 特色
100 Jackpot

附錄 B - 幣別代碼表

版本: v1.4.0

代碼 幣別名稱 比例備註 最後新增
NT 新台幣
HK 港元
IDR 印尼盾 1 : 1000
JPY 日圓
KRW 韓圓
MYR 馬幣
RMB 人民幣
SGD 新加坡元
THB 泰銖
USA 美元
MMK 緬甸緬元
VND 越南盾 1 : 1000
INR 印度盧比
PHP 披索
EUR 歐元
GBP 英鎊
USDT 泰達幣
MYR2 馬幣 100 1 : 0.01
RSG01 新台幣 100 1 : 0.01
RSG02 新台幣 130 1 : 1/130
AUD 澳大利亞元 2024.08
BRL 巴西雷亞爾 2024.08
LAK 寮國基普 1 : 1000 2024.08
NGN 奈及利亞奈拉 2024.08
PKR 巴基斯坦盧比 2024.08
ZAR 南非蘭特 2024.08
MXN 墨西哥比索 2024.08
USDK 美元 1000 1 : 0.001 2024.08
BDT 孟加拉塔卡 2024.08
JPY2 日圓 130 1 : 1/130 2025.03
VNDO 越南盾原幣 2025.03
RSG03 泰銖 5000 1 : 1/5000 2025.03
LAKO 寮國基普原幣 2025.03

附錄 C - 語系代碼表

版本: v1.1.0

代碼 語言名稱 最後新增
en-US 英文
zh-TW 繁體中文
zh-CN 簡體中文
th-TH 泰文
ko-KR 韓文
ja-JP 日文
en-MY 緬甸文
id-ID 印尼文
vi-VN 越南文 2021.11

附錄 D - 版本說明

1.9.0

  1. 新增四種幣別
    • 日圓 130
    • 越南盾原幣
    • 泰銖 5000
    • 寮國基普原幣

1.8.0

  1. 雷神之錘支援直橫式

1.7.0

  1. 新增兩款新遊戲

1.6.1

  1. 修正 6-7退款的回傳資訊的描述

1.6.0

  1. 新增五款新遊戲

1.5.0

  1. 新增兩款新遊戲

1.4.0

  1. 新增 3-2 發送請求 常見問題清單
  2. 新增 6. 網站營運商需提供下列 API 給 RSG 遊戲平台 常見問題清單
  3. 新增回首頁連結

1.3.0

  1. 將 API 文件由 PDF 版本轉為網頁版本,本版本為網頁版初始版

1.2.0

  1. 修正 3-5 程式碼 PHP 的 MD5 範例

  2. API 增加參數

    • 5-4 取得遊戲大廳網址(進入遊戲大廳) - SingleWallet/Player/GetLobbyURLToken 新增離開時的 url 參數: ExitAction,此參數不用強制傳入
  3. 新增 ErrorCode = 3018,此幣別不被允許,會回傳此錯誤的 API 如下:

    • 5-1 建立會員(幣別帳戶) - SingleWallet/Player/CreatePlayer
    • 5-3 取得遊戲網址(進入遊戲) - SingleWallet/Player/GetURLToken
    • 5-4 取得遊戲大廳網址(進入遊戲大廳) - SingleWallet/Player/GetLobbyURLToken