---
title: API
tags: API
language_tabs:
- bash
includes:
search: true
toc_footers:
- <a href='http://github.com/mpociot/documentarian'>Documentation Powered by Documentarian</a>
---
# API
# 目錄
- [文檔簡介](#文檔簡介)
- [文檔版本歷史](#文檔版本歷史)
- [API位置](#API位置)
- [API調用精度限制](#API調用精度限制)
- [加密流程](#加密流程)
- [IP限制](#IP限制)
- [語系](#語系)
- [Web API](#Web-API)
- [共用API](#共用-API)
- [創建會員帳號](#創建會員帳號(已完成))
- [遊戲登入url](#遊戲登入url(已完成))
- [取得會員剩餘額度](#取得會員剩餘額度(已完成))
- [注單編號取得注單詳細結果連結](#注單編號取得注單詳細結果連結)
- [取得會員下注內容](#取得會員下注內容)
- [會員登出](#會員登出)
- [Transfer Wallet API](#Transfer-Wallet-API)
- [設定會員金額轉出入](#設定會員金額轉出入(已完成))
- [遊戲編號相關](#遊戲編號相關)
- [百家樂相關資料](#百家樂相關資料)
- [錯誤代碼](#錯誤代碼)
- [BetType說明](#BetType說明)
- [會員狀態](#會員狀態)
- [補單狀態](#補單狀態)
# 文檔簡介
Web Service API 接口用於接入遊戲系統, 包括註冊, 查詢用戶帳戶, 用戶下注記錄查詢和從帳戶提現或者帳戶充值,轉帳錢包.
# 文檔版本歷史
## 1.0.0 - 2021/05/18
- 文檔初始化
# API位置
- 測試站: http://casino.qf-net.net:8080/cashapi/
- 正式站: https://lv668.net/cashapi/
# API調用精度限制
所有的點數值只保留小數點後兩位, 例如:1000.23, 89.32, 1002304.89
# 加密流程
- Request
- 所有請求需要包含以下參數
| Parameter | Type | Description |
| --------- | ------ | -------------- |
| `AgentId` | string | 公鑰(代理編號) |
| `Key` | string | 驗證參數 |
- Response
- 所有回應需要包含以下欄位
| Parameter | Type | Description |
| ----------- | ------ | ----------- |
| `ErrorCode` | String | 狀態碼 |
| `Message` | String | 狀態描述 |
| `Data` | Object | 數據資料 |
```json
{
"ErrorCode":"0",
"Message":"",
"Data":{
......
}
}
```
## Key 產生方式
Key = {6個任意字元} + MD5(所有請求參數串 + KeyG) + {6個任意字元}
- 任意字元
任意填入,前後各 6 字元不需相同,驗證時會去頭尾後比對中間加密部份
- 請求參數串
依各 API 方法參數列表,務必**按請求參數順序**以 `parameter1=value1¶meter2=value2&...` 格式串起,API 端將會檢查請求參數串內容及順序,以確保請求參數未被竄改
EX:
- 如果 GET query string 是
`Account=Test1&GameId=A01&Lang=zh-CN&AgentId=10081`
請求參數串即為:
```bash
"Account=Test1&GameId=A01&Lang=zh-CN&AgentId=10081"
```
- 如果 POST request body 是
```json
{
"Account": "Test1",
"GameId": "A01",
"Lang": "zh-CN",
"AgentId": "10081"
}
```
請求參數串即為:
```bash
"Account=Test1&GameId=A01&Lang=zh-CN&AgentId=10081"
```
- KeyG
```bash
KeyG = MD5(DateTime.now().setZone("UTC-4").toString("yyMMd") + 公鑰(AgentId) + 私鑰(AgentKey))
```
- 日期為當下 UTC-4 時間,日期格式為 `yyMMd`,例如:
2018/2/7 => 18027, 7 號是 `7` 而不是 `07`
2018/2/18 => 180218
#### 範例
以下使用 nodejs 及 [Luxon](https://github.com/moment/luxon) 時間套件進行加密範例
```javascript=
const agentId = 'Your AgentId';
const agentKey = 'Your AgentKey';
let requestData = {
'parameter1': 'value1',
'parameter2': 'value2',
'parameter3': 'value3'
};
const date = DateTime.now().setZone('UTC-4').toFormat('yyMMd');
const keyG = md5(date + agentId + agentKey);
let paramsString = '';
for (const [key, value] of Object.entries(requestData)) {
if (paramsString !== '') {
paramsString += '&';
}
paramsString += key + '=' + value;
}
// 帶入 Key
requestData.Key = Math.random().toString(36).substr(2,6) + md5(paramsString + keyG) + Math.random().toString(36).substr(2,6));
// 發請請求
...
```
# IP限制
所有API只通過貴方所提供給我方的IP,除此之外的IP皆無法通過
# 語系
平台API支援語系切換,只需加上lang參數
- zh-TW:繁體(預設值)
- zh-CN:簡體
- en-US:英文
# Web API
## 共用 API
### 創建會員帳號(已完成)
> Example request:
```bash
curl -X POST \
"http://casino.qf-net.net:8080/cashapi/member/add" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"AgentId": "公鑰(代理編號)","Account":"emilytest","Password":"xxx","Port":"A1,A2,A3","Key":"驗證參數"}'
```
```javascript
const url = new URL(
"http://casino.qf-net.net:8080/cashapi/member/add"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"AgentId": "公鑰(代理編號)",
"Account": "emilytest",
"Password":"xxx",
"Port":"A1,A2,A3",
"Key":"驗證參數"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
```
> Example response (200):
```json
{
"ErrorCode": 0,
"Message": "新增成功",
"CostTime": 0.2570350170135498046875,
"CostMemory": "726k"
}
```
#### HTTP Request
`POST cashapi/member/add`
##### Body Parameters
| Parameter | Type | Status | Description |
| ------------ | ------ | -------- | ------------------------------------------------------------ |
| `Account` | string | required | 會員帳號(帳號請輸入4~20位英文數字) |
| `Password` | string | required | 會員密碼(密碼規則:須為6-18碼英數字夾雜且符合0-9及a-z字,特殊字元可包含 _ . ! @ # $ & * + = |) |
| `Port` | string | required | 會員盤口,[取得代理可設定會員的盤口](#取得代理可設定會員的盤口),多個用逗號隔開(至少設定一個,至多設定三個)|
<!-- END_2145fb50ab8623efd3359a4e9fcc0cdb -->
<!-- START_eee7e5ce87e797068e47fc84c7cc209d -->
### 遊戲登入url(已完成)
> Example request:
```bash
curl -X POST \
"http://casino.qf-net.net:8080/cashapi/member/login" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"AgentId": "公鑰(代理編號)","Account":"jackytest","Password":"xxxxx","Device":"PC","ClientIP":"127.0.0.1",Key":"驗證參數"}'
```
```javascript
const url = new URL(
"http://casino.qf-net.net:8080/cashapi/member/login"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"AgentId": "公鑰(代理編號)",
"Account": "jackytest",
"Password": "xxxx",
"Device": "PC",
"ClientIP": "127.0.0.1",
"Key":"驗證參數"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
```
> Example response (200):
```json
{
"ErrorCode": 0,
"CostTime": 0.373978137969970703125,
"Data": {
"LoginUrl": "http://casino.qf-net.net/pcgame/index.html?token=1b4c48b02f7cfe21d66707ec0d0e85ee4",
"Token": "1b4c48b02f7cfe21d66707ec0d0e85ee4"
},
"CostMemory": "19k"
}
```
#### HTTP Request
`POST cashapi/member/login`
##### Query Parameters
| Parameter | Status | Description |
| --------- | -------- | ------------------------------- |
| `Account` | required | 會員帳號 |
| `Password` | required | 會員密碼 |
| `Device` | required | PC:電腦版 H5:手機版 |
| `ClientIP` | required | 會員IP |
### 設定會員的盤口(已完成)
> Example request:
```bash
curl -X POST \
"http://casino.qf-net.net:8080/cashapi/member/port" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"AgentId": "公鑰(代理編號)","Account":"emilytest","Port":"A1,A2,A3","Key":"驗證參數"}'
```
```javascript
const url = new URL(
"http://casino.qf-net.net:8080/cashapi/member/port"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"AgentId": "公鑰(代理編號)",
"Account": "emilytest",
"Port": "A1,A2,A3",
"Key":"驗證參數"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
```
> Example response (200):
```json
{
"ErrorCode": 0,
"Message": "設定成功",
"CostTime": 0.116917133331298828125,
"CostMemory": "57k"
}
```
#### HTTP Request
`POST cashapi/member/port`
##### Body Parameters
| Parameter | Type | Status | Description |
| ---------- | ------ | -------- | ------------------------------------------------------------ |
| `Account` | string | required | 會員帳號 |
| `Port` | string | required | 會員盤口,多個用逗號隔開 |
<!-- END_58e5d92e27a5d19f6324abad67febc7c -->
<!-- START_58e5d92e27a5d19f6324abad67febc7c -->
### 取得代理可設定會員的盤口(已完成)
> Example request:
```bash
curl -X POST \
"http://casino.qf-net.net:8080/cashapi/member/getagentport" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"AgentId": "公鑰(代理編號)","GameType":"JB(遊戲種類)","Key":"驗證參數"}'
```
```javascript
const url = new URL(
"http://casino.qf-net.net:8080/cashapi/member/getagentport"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"AgentId": "公鑰(代理編號)",
"GameType": "JB(遊戲種類)",
"Key":"驗證參數"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
```
> Example response (200):
```json
{
"ErrorCode": 0,
"Data": [
{
"Port": "A1",
"QuotaMin": "20",
"QuotaMax": "100"
},
{
"Port": "A2",
"QuotaMin": "20",
"QuotaMax": "160"
},
{
"Port": "A3",
"QuotaMin": "20",
"QuotaMax": "200"
},
{
"Port": "A4",
"QuotaMin": "50",
"QuotaMax": "300"
},
{
"Port": "A5",
"QuotaMin": "50",
"QuotaMax": "500"
},
{
"Port": "A6",
"QuotaMin": "50",
"QuotaMax": "600"
},
{
"Port": "A7",
"QuotaMin": "100",
"QuotaMax": "1000"
},
{
"Port": "A8",
"QuotaMin": "100",
"QuotaMax": "2000"
}
],
"CostTime": 0.0204780101776123046875,
"CostMemory": "690k"
}
```
#### HTTP Request
`POST cashapi/member/getagentport`
##### Body Parameters
| Parameter | Type | Status | Description |
| ---------- | ------ | -------- | ------------------------------------------------------------ |
| `GameType` | string | required | 遊戲種類(暫時只有JB)
### 取得會員剩餘額度
> Example request:
```bash
curl -X POST \
"http://casino.qf-net.net:8080/cashapi/member/quota" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"AgentId": "公鑰(代理編號)","Account":"kaitest","Key":"驗證參數"}'
```
```javascript
const url = new URL(
"http://casino.qf-net.net:8080/cashapi/member/quota"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"AgentId": "公鑰(代理編號)",
"Account": "kaitest",
"Key":"驗證參數"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
```
> Example response (200):
```json
{
"ErrorCode": 0,
"CostTime": 0.0016338825225830078125,
"Data": {
"account": "wb_kaitest",
"credit": "522"
},
"CostMemory": "8k"
}
```
#### HTTP Request
`POST cashapi/member/quota`
##### Query Parameters
| Parameter | Status | Description |
| --------- | -------- | ----------- |
| `Account` | required | 會員帳號 |
### 取得會員下注內容
> Example request:
```bash
curl -X POST \
"http://casino.qf-net.net:8080/cashapi/wagers/GetBetRecordByTime" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"AgentId": "公鑰(代理編號)","StartTime":"2020-02-10 15:30:30","EndTime":"2020-02-10 18:30:30","Page":"1","PageLimit":"100","Key":"驗證參數"}'
```
```javascript
const url = new URL(
"http://casino.qf-net.net:8080/cashapi/wagers/GetBetRecordByTime"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"AgentId": "公鑰(代理編號)",
"StartTime": "2020-02-10T15:30:30",
"EndTime": "2020-02-10T18:30:30",
"Page": "1",
"PageLimit": "100",
"Key":"驗證參數"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
```
> Example response (200):
```json
{
"ErrorCode": 0,
"CostTime": 4.1749479770660400390625,
"Data": {
"Result": [
{
"Account": "wb_shiuan",
"WagersId": "9756109",
"GameId": "casino",
"GameType": "1",
"BetAmount": "100.000",
"validBetAmount": 100,
"WagersTime": "2021-05-24 11:19:26",
"PayoffTime": "2021-05-24 11:19:27",
"SettlementTime": "2021-05-23 08:00:58",
"PayoffAmount": "100.000",
"Jackpot": "0",
"Status": "1",
"Contribution": "",
"GameCategoryId": "2",
"Currency": "RMB",
"GameMethod": "1",
"TableType": "1",
"TableId": "37",
"Round": "1621825892",
"Run": "13",
"GameResult": "s12,h9,h8,d6,,",
"BetType":"TPW"
},
{
"Account": "wb_shiuan",
"WagersId": "9756108",
"GameId": "casino",
"GameType": "1",
"BetAmount": "50.000",
"validBetAmount": 50,
"WagersTime": "2021-05-24 11:19:26",
"PayoffTime": "2021-05-24 11:19:27",
"SettlementTime": "2021-05-23 08:00:58",
"PayoffAmount": "-50.000",
"Jackpot": "0",
"Status": "2",
"Contribution": "",
"GameCategoryId": "2",
"Currency": "RMB",
"GameMethod": "1",
"TableType": "1",
"TableId": "37",
"Round": "1621825892",
"Run": "13",
"GameResult": "s12,h9,h8,d6,,",
"BetType":"TBW"
},
{
"Account": "wb_shiuan",
"WagersId": "9756107",
"GameId": "casino",
"GameType": "1",
"BetAmount": "100.000",
"validBetAmount": 100,
"WagersTime": "2021-05-24 10:43:21",
"PayoffTime": "2021-05-24 10:43:22",
"SettlementTime": "2021-05-11 12:59:52",
"PayoffAmount": "95.000",
"Jackpot": "0",
"Status": "1",
"Contribution": "",
"GameCategoryId": "2",
"Currency": "RMB",
"GameMethod": "1",
"TableType": "1",
"TableId": "17",
"Round": "1621822099",
"Run": "51",
"GameResult": "c12,c9,s3,c4,c8,",
"BetType":"TPW"
},
{
"Account": "wb_shiuan",
"WagersId": "9756106",
"GameId": "casino",
"GameType": "1",
"BetAmount": "50.000",
"validBetAmount": 50,
"WagersTime": "2021-05-24 10:43:04",
"PayoffTime": "2021-05-24 10:43:04",
"SettlementTime": "2021-05-11 13:00:21",
"PayoffAmount": "50.000",
"Jackpot": "0",
"Status": "1",
"Contribution": "",
"GameCategoryId": "2",
"Currency": "RMB",
"GameMethod": "1",
"TableType": "1",
"TableId": "38",
"Round": "1621822037",
"Run": "55",
"GameResult": "h3,c8,h2,d4,c2,s11",
"BetType":"FBW"
},
{
"Account": "wb_shiuan",
"WagersId": "9756105",
"GameId": "casino",
"GameType": "1",
"BetAmount": "20.000",
"validBetAmount": 20,
"WagersTime": "2021-05-24 10:42:47",
"PayoffTime": "2021-05-24 10:42:48",
"SettlementTime": "2021-05-11 12:59:52",
"PayoffAmount": "19.000",
"Jackpot": "0",
"Status": "1",
"Contribution": "",
"GameCategoryId": "2",
"Currency": "RMB",
"GameMethod": "1",
"TableType": "1",
"TableId": "17",
"Round": "1621822099",
"Run": "50",
"GameResult": "d3,s2,h1,c4,s12,",
"BetType":"TBW"
}
]
},
"CostMemory": "22k"
}
```
#### Response 欄位定義
| 欄位 | 名稱 |
| -------------- | ------------------------------------------------------------ |
| Account | 會員帳號 |
| WagersId | 注單編號 |
| GameId | 遊戲代號 |
| GameType | [遊戲類別](#遊戲類別) |
| BetAmount | 下注金額 |
| validBetAmount | 有效金額 |
| WagersTime | 下注時間 |
| PayoffTime | 更新時間 |
| SettlementTime | 歸帳時間 |
| PayoffAmount | 輸贏 |
| Commission | 退水 |
| Jackpot | 獎金 |
| Status | [注單狀態](#注單狀態) |
| Contribution | 貢獻金 |
| GameCategoryId | 遊戲類型1:電子2:真人3:彩票4:體育5:捕魚6:棋牌 |
| Currency | [幣別](#幣別) |
| GameMethod | [遊戲玩法](#遊戲玩法) |
| TableType | [桌檯類型](#桌檯類型) |
| TableId | 遊戲局桌檯Id |
| Round | 輪號 |
| Run | 局號 |
| GameResult | 開牌結果,順序:[閒1,莊1,閒2,莊2,閒補,莊補],若空的表示 無補牌 | |
|BetType|[玩法](#BetType說明) |
#### HTTP Request
`POST cashapi/wagers/GetBetRecordByTime`
##### Body Parameters
| Parameter | Type | Status | Description |
| ----------- | ------ | -------- | ---------------------- |
| `StartTime` | string | required | 開始時間 |
| `EndTime` | string | required | 結束時間 |
| `Page` | string | required | 頁數 |
| `PageLimit` | string | optional | 每頁幾筆,最高上限10000 |
<!-- END_ed186d080ec7bf4d1f741083ce9c7d7f -->
<!-- START_2cb8d575ff728d1a5f4f67b18867cd2f -->
### 注單編號取得注單詳細結果連結
> Example request:
```bash
curl -X POST \
"http://casino.qf-net.net:8080/cashapi/wagers/GetGameDetailUrl" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"AgentId": "公鑰(代理編號)","WagersId":"1","Key":"驗證參數"}'
```
```javascript
const url = new URL(
"http://casino.qf-net.net:8080/cashapi/wagers/GetGameDetailUrl"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"AgentId": "公鑰(代理編號)",
"WagersId": "1",
"Key":"驗證參數"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
```
> Example response (200):
```json
{
"ErrorCode": 0,
"CostTime": 0.0002400875091552734375,
"Data": "http://casino.qf-net.net:8080/wagers/detail.php?aid=16141725593609201&wagersid=9756106",
"CostMemory": "1k"
}
```
#### HTTP Request
`POST cashapi/wagers/GetGameDetailUrl`
##### Body Parameters
| Parameter | Type | Status | Description |
| ---------- | ------ | -------- | ----------- |
| `WagersId` | string | required | 注單編號 |
### 會員登出
> Example request:
```bash
curl -X POST \
"http://casino.qf-net.net:8080/cashapi/member/kickmember" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"AgentId": "公鑰(代理編號)","Account":"kaitest","Key":"驗證參數"}'
```
```javascript
const url = new URL(
"http://casino.qf-net.net:8080/cashapi/member/kickmember"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"AgentId": "公鑰(代理編號)",
"Account": "kaitest",
"Key":"驗證參數"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
```
> Example response (200):
```json
{
"ErrorCode": 0,
"CostTime": 0.0363361835479736328125,
"CostMemory": "14k"
}
```
#### HTTP Request
`POST cashapi/member/kickmember`
##### Body Parameters
| Parameter | Type | Status | Description |
| --------- | ------ | -------- | ----------- |
| `Account` | string | required | 會員帳號 |
<!-- END_c16df8c0e24a5a1013448008c14f6d12 -->
## Transfer Wallet API
> 多錢包 API
### 設定會員金額轉出入
> Example request:
```bash
curl -X POST \
"http://casino.qf-net.net:8080/cashapi/member/transfer" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"AgentId": "公鑰(代理編號)","Account":"jackytest","Amount":"100","TransactionId":"62943311","TransferType":2,"Key":"驗證參數"}'
```
```javascript
const url = new URL(
"http://casino.qf-net.net:8080/cashapi/member/transfer"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"AgentId": "公鑰(代理編號)",
"Account": "jackytest",
"Amount": "100",
"TransactionId": "62943311",
"TransferType": 2,
"Key":"驗證參數"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
```
> Example response (200):
```json
{
"code": 200,
"ErrorCode": 0,
"CostTime": 0.207190990447998046875,
"Data": {
"TransactionId": "62943311",
"Balance": "300",
"Status": "1"
},
"CostMemory": "769k"
}
```
#### HTTP Request
`POST cashapi/member/transfer`
##### Body Parameters
| Parameter | Type | Status | Description |
| --------------- | ------- | -------- | --------------------------------------------------------- |
| `Account` | string | required | 會員帳號 |
| `Amount` | string | required | 金額 |
| `TransactionId` | string | required | 平台交易編號 ,介接平台產⽣,核對帳務(限英數字,長度4~40字) |
| `TransferType` | integer | required | 1.轉出,2.轉入,核對帳務 |
## 遊戲編號相關
| 代號 | 名稱 |
| ----- | ------ |
| xg006 | xg真人 |
## 百家樂相關資料
### 代號
| 代號 | 名稱 |
| ---------- | ------------------------------------------------------------ |
| GameMethod | 百家樂類型 |
| TableType | 桌台類型 |
| TableId | 遊戲局桌檯Id |
| Round | 局號 |
| Run | 輪號 |
| GameResult | 開牌結果gameType等於<br>1,百家樂時,順序:[閒1,莊1,閒2,莊2,閒補,莊補],若空的表示 無補牌<br>5,龍虎時,順序:[龍,虎] |
| BetType | 下注注區列表 |
| Commission | 退水 |
### 遊戲類別
| 遊戲名稱 | gameType |
| -------------- | -------- |
| 百家樂 | 1 |
| 骰寶 | 2 |
| 輪盤 | 3 |
### 遊戲玩法
| 名稱 | GameMethod |
| ---------- | ---------- |
| 百家樂標準 | 1 |
### 桌檯類型
| 名稱 | TableType |
| ---------- | --------- |
| 標準百家樂 | 1 |
## 百家樂撲克牌代碼說明
撲克牌代碼為花色和數字的組合 ex SA 代表黑桃A
## 花色
| 牌例 | 對應 |
| ---- | ---- |
| S | 黑桃 |
| H | 紅心 |
| D | 方塊 |
| C | 梅花 |
## 數字
| 牌例 | 對應 |
| ---- | ---- |
| A | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 4 |
| 5 | 5 |
| 6 | 6 |
| 7 | 7 |
| 8 | 8 |
| 9 | 9 |
| 0 | 10 |
| J | J |
| Q | Q |
| K | K |
## 補單狀態
| 狀態 | ModifiedStatus |
| ----------- | -------------- |
| Normal | 正常已結算 |
| Modified | 改單 |
| Canceled | 事後取消 |
| NonCheckout | 未結算 |
## 交易狀態
| 狀態 | status |
| ---- | ------ |
| 1 | 成功 |
| 2 | 失敗 |
## 會員狀態
| 狀態 | Status |
| ---- | -------- |
| 3 | 正常 |
| 2 | 停止下注 |
| -2 | 停用 |
## 注單狀態
| 狀態 | status |
| ---- | ------ |
| 1 | 待結算 |
| 2 | 註銷單 |
| 3 | 已結算和局 |
| 4 | 已刪單 |
## 錯誤代碼
| code | 錯誤說明 |
| ---- | ---------------------- |
| 1 | 參數是必須的 |
| 3 | 哈希無效(加密無效) |
| 4 | 未找到該資料 |
| 5 | http method 是不允許的 |
| 6 | 功能未找到 |
| 7 | 內部服務器錯誤 |
| 8 | 帳號已存在 |
| 15 | 數據格式錯誤 |
| 18 | 超過可用額度 |
| 65 | 遠方API回傳錯誤 |
| 66 | 沒有實做該API |
| 67 | 交易編號已存在 |
| 71 | 日期間隔不正確 |
| 77 | 會員不存在 |
| 81 | 超過代理可使用限額 |
## 遊戲語系
| code | 錯誤說明 |
| ----- | -------- |
| zh-CN | 簡體 |
| zh-TW | 繁體 |
| en-US | 英語 |
| th | 泰語 |
| id | 印尼文 |
| ko | 韩文 |
| ja | 日語 |
| vn | 越語 |
## 幣別
| 代碼 | 幣別 |
| ---- | -------- |
| TWD | 台幣 |
| RMB | 人民幣 |
| USD | 美金 |
| THB | 泰銖 |
| IDR | 印尼盾 |
| MYR | 馬幣 |
| VND | 越南盾 |
| KRW | 韓幣 |
| SGD | 新加坡幣 |
| NZD | 紐西蘭幣 |
| AUD | 澳元 |
| JPY | 日圓 |
| INR | 印度盧比 |
|HKD |港幣 |
### BetType說明
| 代碼 | 說明 |
| ---------------- | --------------- |
|TAP |任意一對|
|TBP |莊對子|
|TBW |莊|
|TDD |大|
|TPP |閒對子|
|TPW |閒|
|TSS |小|
|TTT |和局|
|TWP |完美對子|
|FAP |任意一對(免傭)|
|FBP |莊對子(免傭)|
|FBW |莊(免傭)|
|FDD |大(免傭)|
|FPP |閒對子(免傭)|
|FPW |閒(免傭)|
|FS6 |超级6(免傭)|
|FSS |小(免傭)|
|FTT |和局(免傭)|
|FWP |完美對子(免傭)|