---
# System prepended metadata

title: KLine API

---

# KLine API
## 0. API使用說明
### 0.1 加密
```php=
# md5('密碼');
# 明碼： 123
# 加密： md5('123')
# 加密結果： E10ADC3949BA59ABBE56E057F20F883E
```
### 0.2 JWT Token驗證
#### 0.2.1 驗證方式
**Step 1.** 使用 */api/Member/KLineLogin* 登入後，獲取 *token*
**Step 2.** 在需要驗證的 *API* 服務進行 *HttpRequest* 時，請於 *Header* 帶入 *token*
```yaml
# 欄位：Authorization
# 值： Bearer {Token}

# 例：
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwYXNzd29yZCI6ImNmNzlhZ.....Td__jiThpm8
```

### 0.3 Request 說明
請將*Request*資料，以*json*格式，帶入*body*，進行請求

### 0.4 Api 資訊
```shell
# 請求路徑
# {API Request URL}{API_Path}
# 
# Example:
# https://pwaapi.rryon.site/api/Member/Login

```
### 0.5 Api 域名

#### 測試環境
- API Request URL:https://pwaapi.microhard.online
- Demo Website: https://www.microhard.online
#### 正式環境
- API Request URL: http://pwaapi.amaryllis.moe
- Demo Website: http://www.amaryllis.moe


## 1. API說明
## 1.1 /api/Member/KLineLogin
**說明：** 登入帳號API(KLine專用)
**方法：** POST
**驗證：** <span class="red">無</span>

**Reuqest**
```json=
{
  "account": "ktester", //KLine會員帳號
  "password": "CF79AE6ADDBA60AD018347359BD144D2", // MD5(密碼)
  "uidKey": "web" // [web|mobile]
}
```
**Response**
```json=
{
  "status": 1, // 1:正常 -1:其它錯誤 -2:密碼錯誤 -4:會員在線 -5:停用 -6:會員鎖定 -7:會員凍結 -8:無此帳號 -9:組別不匹配
  "desc": "SUCCESS",
  "result": {
    "token": "eyJhbGciOi....", // 登入使用的Token
    "clubid": "0000000000", // 會員編號
    "clubename": "ktester", // 會員帳號
    "clubcname": "ktester", // 會員名稱
    "franchiserid": null, // 未啟用
    "huilvtype": "THB", // 幣別
    "now_xinyong": 123.456, // 當前信用
    "isTest": 0, // 是否測試帳號 [0|1]
    "zuBie": "K", // 組別
    "isSocialLogin": false, // 是否為社群登入 [true|false]
    "collet": "0", // 未啟用
    "payment": "0", // 未啟用
    "collet_isEnabled": false, // 未啟用
    "payment_isEnabled": false, // 未啟用
    "expiresAt": 1686639132, // 有效期限
    "mustChangePasssword": 0, // 是否3個月未改密碼 [0|1]
    "baccGroupLimit": {
			"bpMax": 5000, // 莊閒最大
			"bpMin": 100, // 莊閒最小
			"tieMax": 625, // 和家最大
			"tieMin": 100, // 和家最小
			"pairMax": 625, // 對對最大
			"pairMin": 100, // 對對最小
			"bigMinLimit": 100, // 大號最小
			"bigMaxLimit": 3333, // 大號最大
			"smallMinLimit": 100, // 小號最小
			"smallMaxLimit": 3333, // 小號最大
			"anyPairMinLimit": 100, // 任一對子最小
			"anyPairMaxLimit": 1000, // 任一對子最大
			"perfectPairMinLimit": 100, // 完美對子最小
			"perfectPairMaxLimit": 200, // 完美對子最大
			"gameType": "Bacc",
			"memberId": "Kkzdusr001",
			"currency": "THB",
			"fN1Percentage": 0,
			"fN2Percentage": 0,
			"fN3Percentage": 0,
			"fN4Percentage": 80,
			"fN5Percentage": 80,
			"fN1DiscountRate": 99.1,
			"fN2DiscountRate": 99.1,
			"fN3DiscountRate": 99.1,
			"fN4DiscountRate": 99.1,
			"fN5DiscountRate": 99.1,
			"mbDiscountRate": 99.1, // 會員退水
			"fN1": null, // 未啟用
			"fN2": null, // 未啟用
			"fN3": null, // 未啟用
			"fN4": null, // 未啟用
			"fN5": null // 未啟用
		}
  }
}
```
## 2.2 /api/Member/Logout
**說明：** 登出會員帳號
**方法：** POST
**驗證：** <span class="red">是</span>
**Request**
```json
/* 無 */
```

**Response**
```json=
{
    "status": 1,
    "desc": "SUCCESS",
    "result": null
}
```
**備註**
```json
1.此功能會將token失效，但並不會把錢從遊戲商錢包抽會到平台主錢包
```

## 3.3 /api/Game/GetGameToken/W1RCGv2
**說明：** 登入遊戲
**方法：** POST
**驗證：** <span class="red">是</span>
**Request**
```json=
{
  "desk": "BlueVersionLobby", // 固定帶入 BlueVersionLobby
  "device": "DESKTOP", // 裝置 [DESKTOP|MOBILE]
  "lang": "zh-tw", // 語系 [zh-cn|zh-tw|en-us|th-th|vi-vn|ko-kr|ja-jp|my-mm]
  "lobbyURL": "https://......" // 返回網址
}
```
**Response**
```json=
{
    "status": 1,
    "desc": "SUCCESS",
    "result": {
        "urlInfo": "https://......" // 遊戲入口
    }
}
```
**備註**
:::danger
1.此功能就是將會員主錢包轉入遊戲商
2.如果會員閒置超過30分鐘，系統會將錢抽會到平台主錢包
:::

## 4.4 /api/UnReturnAccount/ForceUpdateMoney
**說明：** 強制踼線取回額度
**方法：** POST
**驗證：** <span class="red">是</span>
**Request**
```json
/* 無 */
```
**Response**
```json=
{
    "status": 1,
    "desc": "SUCCESS",
    "result": {
        "totalMoney": 123.456 // 玩家餘額
    }
}
```
**備註**
:::danger
1.呼叫此功能會將遊戲錢包抽回到平台主錢包。
2.避免呼叫頻率過高，會有快取5秒的時間，快取時間內取到的額度會是0元。
:::

<style>
    .red { color: red; }
</style>