loading-img

协议 (Protocol)

Merchant API 使用 HTTP(s) 来发送数据和返回数据, 目前支持的数据格式只有 JSON. 关于 JSON 的信息可参考(http://www.json.org/)

在 HTTP Header 部分, 除了 HTTP 协议必须的 Header 外, 还有使用如下的 Header:

HTTP Header 是否必须 示例 说明
API authorize 服务接口名称
DataType JSON 数据格式 JSON
Digest MD5(Data) 发送数据的信息摘要, 后期可增加与 merchant 相对应的 key
Accept-Encoding gzip, deflate 标识是否支持返回数据 zip 压缩
Content-Encoding gzip 标识提交的数据已使用 zip 压缩
Accept-Language en_US 默认返回消息的国际化的语言

关于字符编码, 在对所有涉及 text <=> byte[] 进行 encode/decode 处理时, 请显式指定编码格式为 UTF-8

关于 Digest, 使用 md5 对信息摘要, 示例代码如下:

public static String digest(byte[] input) {
		byte[] digest = Digest.md5().compute( input );
		return Hex.encodeHexString( digest );
	}

名词解释

  1. Game Provider: 游戏提供者, 提供游戏的平台, 管理玩家和商户的数据
  2. Merchant: 商户, 每个注册的商户, 都有其各自的配置和数据保存在游戏提供者的系统中
  3. 接口使用者: API 接口的调用者
  4. 接口提供者: API 接口的服务提供者
  5. Acct ID: 用户唯一标识 ID, 游戏玩家

API 接口概况

在 API 的使用时, 由调用者按接口定义的消息, 生成相应的数据, 发送到接口提供者提供的 URL 上, 接口提供者处理完成后, 将相应的消息返回回来.

一般的接口定义为: xxxResponse xxxx(xxxRequest request) xxxRequest 为 API 相应的请求消息, xxxResponse 为 API 相应的响应消息

所有的请求消息, 都包括:

名称 数据类型 示例 说明
serialNo Varchar(50) 20120722224255982841 用于标识消息的序列, 由调用者生成
merchantCode Varchar(10) TEST 标识商户 ID

所有的响应消息, 都包括:

名称 数据类型 示例 说明
serialNo Varchar(50) 20120722224255982841 用于标识消息的序列, 由调用者生成
code Integer 0 处理结果代码定义 code
msg Varchar(128) success 处理结果描述
merchantCode Varchar(10) TEST 标识商户 ID

其中, code 用来定义接口调用的处理结果, 详细的 code 的定义, 请参照 "附录 1 响应消息代码定义".

特别注意: serialNo 是消息标识, 同一个 serialNo 只会有一个 request/response, 请确保每次生成的 serialNo 是唯一的值. 建议使用 GUID/UUID, 或是日期+时间+随机数的字符串.

API 接口定义 (Service Interface)

游戏大厅页面跳转

使用场景: 当游戏玩家在进入 merchant 网站后, 通过网页上的游戏提供商按钮, 将玩家页面转到游戏提供商的大厅.

接口名: Game Lobby Redirect

接口提供者: Game Lobby Provider

接口使用者: Merchant

名称 数据类型 必填 示例 说明
acctId Varchar(50) TESTPLAYER1 游戏玩家 ID
token Varchar(128) fe1a85adc54545d2963b661a22d09c9e
language Varchar(10) en_US 语言
channel Varchar(10) Web 注单来自手机或网
isLobby boolean true/false 是否进入游戏大厅

  1. 详细的 language 的定义, 请参照"附录 2 语言代码定义"。
  2. 请参考4.15查询域名列表以获取最新域名。
  3. 请将DEMO替换成您的商户号。

Game Lobby Redirect URL and Parameters:

https://lobby.sampledomain.com/DEMO/auth/?acctId=TESTPLAYER1&language=zh_CN&token=fe1a85adc54545d2963b661a22d09c9e&channel=Web&isLobby=true

游戏页面跳转

使用场景: 当游戏玩家在进入 merchant 网站后, 通过网页上的 Goto Game 或 Real Money 按钮, 将玩家页面转到游戏提供商的游戏.

接口名: Game Redirect

接口提供者: Game Provider

接口使用者: Merchant

名称 数据类型 必填 示例 说明
acctId Varchar(50) TESTPLAYER1 游戏玩家 ID
token Varchar(128) fe1a85adc54545d2963b661a22d09c9e
language Varchar(10) en_US 语言
game Varchar(10) sLongX3 游戏代码
brand Varchar(10) No TEST123 客制化商戶代碼

  1. 详细的 language 的定义, 请参照"附录 2 语言代码定义".
  2. Game 的定义, 请"附录 4 游戏代码定义".
  3. 请参考4.15查询域名列表以获取最新域名。
  4. 请将DEMO替换成您的商户号。

Game Lobby Redirect URL and Parameters(real money):

https://lobby.sampledomain.com/DEMO/auth/?acctId=TESTPLAYER1&language=zh_CN&token=fe1a85adc54545d2963b661a22d09c9e&game=sLongX3

Game Lobby Redirect URL and Parameters(play for fun):

https://play.sampledomain.com/game?merchantCode=DEMO&game=sLongX3&language=zh_CN

用户授权

使用场景: 当游戏提供商收到从 merchant 网站跳转过来的请求后, 通过本 API 验证请求是否合法.

接口名: authorize

接口提供者: Merchant

接口使用者: Game Provider

请求消息定义 AuthorizeRequest:

名称 数据类型 必填 示例 说明
acctId Varchar(50) TESTPLAYER1 游戏玩家 ID
token Varchar(128) fe1a85adc54545d2963b661a22d09c9e
language Varchar(10) en_US 语言
gameCode Varchar(10) sLongX3 游戏代码
forFun boolean false 测试游戏
merchantCode Varchar(10) TEST 标识商户 ID
serialNo Varchar(50) 20120722224255982841 用于标识消息的序列, 由调用者生成

响应消息定义 AuthorizeResponse:

名称 数据类型 示例 说明
acctInfo AcctInfo AcctInfo 类

AcctInfo 定义 :

名称 数据类型 必填 示例 说明
acctId Varchar(50) TESTPLAYER1 用户标识 ID
userName Varchar(15) TestPlayer 用户名称
currency Char(3) CNY 货币的 ISO 代码
balance Decimal(12, 4) 0 用户当前余额
siteId Varchar(10) SITE_CNY1 商户的站点

特别注意:

  1. 详细的货币代码定义, 请参照"附录 3 货币代码定义".
  2. 详细的加密货币代码定义, 请参照"附录 4 加密货币代码定义".
  3. AuthorizeResponse 接口中的 balance 值可以忽略(设置为 0 即可).
  4. Acct ID 格式: [a-zA-Z0-9_-]{5, 30}. 例子: TestPlayer_1

Authorize 请求和响应消息示例

JSON AuthorizeRequest:

{
		"acctId": "TESTPLAYER1", 
		"language": "en_US", 
		"merchantCode": "TEST", 
		"gameCode": "sLongX3", 
		"forFun": "false", 
		"token": "fe1a85adc54545d2963b661a22d09c9e", 
		"serialNo": "20120722224255982841"
	}

JSON AuthorizeResponse:

{
		"acctInfo": {
			"acctId": "TESTPLAYER1", 
			"balance": 0, 
			"userName": "TestPlayer", 
			"currency": "CNY"
			"siteId": "SITE_CNY1"
		},										
		"merchantCode": "TEST",
		"msg": "success",
		"code": 0,
		"serialNo": "20120722224255982841"
	}

Http 客户端中的示例:

查询用户信息

使用场景: 查询用户信息(如余额)

接口名: getAcctInfo

接口提供者: Game Provider

接口使用者: Merchant

求消息定义 GetAcctInfoRequest:

名称 数据类型 必填 示例 说明
acctId Varchar(50) TESTPLAYER1 游戏玩家 ID
merchantCode Varchar(10) TEST 标识商户 ID
serialNo Varchar(50) 20120722224255982841 用于标识消息的序列, 由调用者生成

响应消息定义 GetAcctInfoResponse:

名称 数据类型 必填 示例 说明
resultCount Integer 100 总共的记录数
pageCount Integer 1 总共的页数
list AcctInfo[] AcctInfo 类

AcctInfo 定义:

名称 数据类型 必填 示例 说明
acctId Varchar(50) TESTPLAYER1 用户标识 ID
userName Varchar(50) TestPlayer 用户名称
currency Char(3) CNY 货币的 ISO 代码
balance Decimal(12, 4) 0 用户当前余额

GetAcctInfo 请求和响应消息示例

JSON GetAcctInfoRequest:

{
		"acctId": "TESTPLAYER1", 
		"merchantCode": "TEST", 
		"serialNo": "20120802152140143938"
	}

JSON GetAcctInfoResponse:

{
		"list": [{
			"userName": "TestPlayer1", 
			"currency": "CNY", 
			"acctId": "TESTPLAYER1", 
			"balance": 1000
		}],										
		"resultCount": 1,
		"pageCount": 1,
		"merchantCode": "TEST",
		"msg": "success",
		"code": 0,
		"serialNo": "20120802152140143938"
	}

Http 客户端中的示例:

查询用户余额 (单一钱包)

使用场景 : 查询用户余额

接口名 : getBalance

接口提供者 : Merchant

接口使用者 : Game Provider

GetBalance 请求消息定义:

名称 数据类型 必填 示例 说明
acctId Varchar(50) TESTPLAYER1 游戏玩家 ID
token(仅适用于测试环境) Varchar(128) fe1a85adc54545d2963b661a22d09c9e
merchantCode Varchar(10) Yes TEST 标识商户 ID
serialNo Varchar(50) Yes 20120722224255982841 用于标识消息的序列, 由调用者生成
currency Char(3) CNY 货币的 ISO 代码

GetBalance 响应消息定义:

名称 数据类型 必填 示例 说明
acctInfo AcctInfo[] AcctInfo acctInfo
acctId Varchar(50) TESTPLAYER1 游戏玩家 ID
userName Varchar(15) TestPlayer 用户名称
currency Char(3) CNY 货币的 ISO 代码
balance Decimal(12, 4) 0 玩家当前余额
siteId Varchar(10) SITE_CNY1 商户的站点

GetBalance 请求和响应消息示例 :

JSON GetBalanceRequest::

{
		"acctId": "TESTPLAYER1", 
		"token": "fe1a85adc54545d2963b661a22d09c9e",(仅适用于测试环境)
		"merchantCode": "TEST", 
		"serialNo": "20120802152140143938",
		"currency": "CNY"
	}

JSON GetBalanceResponse:

{
		"acctInfo": {
			"userName": "TestPlayer1", 
			"currency": "CNY", 
			"acctId": "TESTPLAYER1", 
			"balance": 1000
		},										
		"merchantCode": "TEST",
		"msg": "success",
		"code": 0,
		"serialNo": "20120802152140143938"
	}

转帐 (单一钱包)

使用场景 :

  1. 用户 place bet 时,由 Game Provider 将金额信息传入 merchant,merchant 将相应的金额从用户的余额中扣除。
  2. 系统 payout 时,由 Game Provider 将金额信息传入 merchant,merchant 将相应的金额存入用户的余额。
  3. 当用户下注但没有回报赔金时,系统将回赔=0的信息于merchant。

接口名 : transfer

接口提供者 : Merchant

接口使用者 : Game Provider

请求消息定义 TransferRequest:

名称 数据类型 必填 示例 说明
transferId Varchar(50) a3b0c9dd1ab041 标识转帐流水
acctId Varchar(50) TESTPLAYER1 用户标识 ID
currency Char(3) USD 货币的 ISO 代码
amount Decimal(20, 9) 1000 转帐金额,无论何种操作,金额必须大于 0
type Int 1 1 = 下注 (place bet)
2 = 取消下注 (cancel bet)
4 = 派彩 (payout)
6 = 商家和游戏提供商头奖派彩 (jackpot payout by merchant & game provider)
7 = 商家头奖派彩 (jackpot payout by merchant), (开发中,还未开放)
8 = 游戏提供商头奖派彩 (jackpot payout by game provider), (开发中,还未开放)
9 = 商家和游戏提供商比赛派彩 (tournament payout by merchant & game provider), (开发中,还未开放)
10 = 商家比赛派彩 (tournament payout by merchant), (开发中,还未开放)
11 = 游戏提供商比赛派彩 (tournament payout by game provider), (开发中,还未开放)
12 = 商家和游戏提供商红包派彩 (red packet payout by merchant & game provider),(开发中,还未开放)
13 = 商家红包派彩 (red packet payout by merchant), (开发中,还未开放)
14 = 游戏提供商红包派彩 (red packet payout by game provider),(开发中,还未开放)
20 = 奖励任务派彩(Bonus mission payout)
channel Varchar(10) Web / Mobile,
APP-i / APP-A / PC
注单来自手机或网
gameCode Varchar(10) sLongX3 游戏代码
ticketId Varchar(20) 641482277
referenceId Varchar(50) a8ab9cc8f1a277de Transfer id 的参考 ID
specialGame SpecialGame SpecialGame Type
mainBetId (仅适用于测试环境) Varchar(50) 1ab9bdca06c14811b24653468e60988 参考第一个投注Transfer ID
token (仅适用于测试环境) Varchar(128) fe1a85adc54545d2963b661a22d09c9e

SpecialGame type 定义:

名称 数据类型 必填 示例 说明
type Varchar(20) Free 分辨特别游戏种,例子: bonus, free, bonusfree, freebonus
count Int 10 玩家所得特别游戏的总数量
sequence Int 1 玩家已完成的特别游戏数量

**specialGame 仅在 type = 4 (payout) 才会通过。**

特别注意:

  1. 如果 merchant 收到转帐流水发现之前已经处理成功,则直接返回转帐交易的状态,不能再次操作余额。
  2. 如果参考 ID 重复或没有找到,商家应该返回我们错误代码:109.除了此错误代码,提供商将继续重新发送参考 ID。
    1. 检查转账ID是否存在
    2. 检查此交易的下注交易(ReferenceId)是否存在(仅适用于类型2和类型4)
    3. 检查此交易的下注交易(ReferenceId)是否有其他取消投注或支付交易(类型2或类型4)

响应消息定义 TransferResponse:

名称 数据类型 必填 示例 说明
transferId Varchar(50) a3b0c9dd1ab041 请求转帐流水
merchantTxId Varchar(20) 498036704 Merchant 处理的交易流水号
acctId Varchar(50) TESTPLAYER1 用户标识 ID
balance Decimal(12, 4) 1000 处理完成后用户余额

Transfer 请求和响应消息示例:

JSON TransferRequest:

{
		"acctId": "TESTPLAYER1", 
		"transferId": "0ab9bdca06c14811b24653468e60988", 
		"currency": "USD", 
		"amount": 10, 
		"type": 4, 
		"ticketId": "234950357", 
		"channel": "Web", 
		"gameCode": "sLongX3", 
		"merchantCode": "TEST", 
		"serialNo": "20120722231413699735",
		"referenceId": "dfffdca06c14811b24653468e60", 
		"mainBetId": "1ab9bdca06c14811b24653468e60988", (仅适用于测试环境)
		"token": "fe1a85adc54545d2963b661a22d09c9e", (仅适用于测试环境)
		"specialGame": {
			"type": "Free", 
			"count": 10, 
			"sequence": 1 
		}	
		
	}

JSON TransferResponse:

{
		"transferId": "0ab9bdca06c14811b24653468e609838", 
		"merchantCode": "TEST", 
		"merchantTxId": "20130813014319279367", 
		"acctId": "TestPlayer1", 
		"balance": "1050", 
		"msg": "success", 
		"code": 0, 
		"serialNo": "20120722231413699735"
	}

Transfer Jackpot 请求和响应消息示例:

JSON TransferRequest:

{
		"acctId": "TESTPLAYER1", 
		"transferId": "0ab9bdca06c14811b24653468e60988", 
		"currency": "USD", 
		"amount": 10, 
		"type": 6, 
		"ticketId": "234950357", 
		"channel": "Web", 
		"gameCode": "sRoma", 
		"merchantCode": "TEST", 
		"serialNo": "20210917171413632534"
		"referenceId": "dfffdca06c14811b24653468e60", 
	
	}

JSON TransferResponse:

{
		"transferId": "0ab9bdca06c14811b24653468e60988", 
		"merchantCode": "TEST", 
		"merchantTxId": "20210917014319279367", 
		"acctId": "TestPlayer1", 
		"balance": "1250", 
		"msg": "success", 
		"code": 0, 
		"serialNo": "20210917171413632534"
	}

查询转帐记录 (单一钱包)

使用场景 :

  1. 查询转帐状态,供核对转帐数据。

接口名 : transferHistory

接口提供者 : Game Provider

接口使用者 : Merchant

请求消息定义 TransferHistoryRequest:

名称 数据类型 必填 示例 说明
beginDate char(15) 20120720T230043 开始时间,格式为
yyyymmdd’T’24hhmmss
endDate char(15) 20120722T230043 截止时间,格式为
yyyymmdd’T’24hhmmss
pageIndex Integer 1 页码
merchantCode Varchar(20) TEST 标识商户 ID

响应消息定义 TransferHistoryResponse:

名称 数据类型 必填 示例 说明
resultCount Integer 100 总共的记录数
pageCount Integer 1 总共的页数
merchantCode Varchar(20) TEST 标识商户 ID
Code Integer 1 处理结果代码定义 code
msg Varchar(255) Success 处理结果描述
serialNo Varchar(50) 20210312T1705371679 用于标识消息的序列,由调用者生成
list TransferInfo[] TransferInfo 的数组

TransferInfo 定义:

名称 数据类型 必填 示例 说明
transferId Varchar(50) a3b0c9dd1ab041 标识转帐流水
acctId Varchar(50) TESTPLAYER1 用户标识 ID
ticketId Varchar(20) 641482277
transferTime Char(15) 20120722T225043 转帐时间
gameCode Varchar(10) sLongX3 游戏代码
type Int 1 1 = 下注 (place bet)
2 = 取消下注 (cancel bet)
4 = 派彩 (payout)
6 = 头奖派彩 (jackpot payout)
7 = 商家头奖派彩 (jackpot payout by merchant)
8 = 商家和游戏提供商头奖派彩 (jackpot payout by merchant & game provider)
9 = 比赛派彩 (tournament payout)
10 = 商家比赛派彩 (tournament payout by merchant)
11 = 商家和游戏提供商比赛派彩 (tournament payout by merchant & game provider)
12 = 红包派彩 (red packet payout)
13 = 商家红包派彩 (red packet payout by merchant)
14 = 商家和游戏提供商红包派彩 (red packet payout by merchant & game provider)
amount Decimal(20,4) 1000 转帐金额
status Int 0 状态,收到的响应代码
channel Varchar(10) Web/Mobile,
APP-i/APP-A/PC
注单来自手机或网

TransferHistory 请求和响应消息示例:

JSON TransferHistoryRequest:

{
		"beginDate": "20120721T175139", 
		"endDate": "20120723T174139", 
		"pageIndex": 1, 
		"merchantCode": "TEST" 
	}

JSON TransferHistoryResponse:

{
		"list": [{ 
			"transferId": "667706462", 
			"acctId": "TEST10001", 
			"ticketId": "749084635", 
			"type": 1, 
			"amount": 20, 
			"transferTime": "20130908T151100", 
			"gameCode": "sLongX3", 
			"status": 0, 
			"channel": "Web", 
		}], 
		"resultCount": 1, 
		"pageCount": 1, 
		"merchantCode": "TEST", 
		"code": 0, 
		"msg": "success", 
		"serialNo": "20120726214956563472" 
	}

TransferHistory Jackpot 请求和响应消息示例:

JSON TransferHistoryRequest:

{
		"beginDate": "20210917T175139", 
		"endDate": "20210920T174139", 
		"pageIndex": 1, 
		"merchantCode": "TEST" 
	}

JSON TransferHistoryResponse:

{
		"list": [{ 
			"transferId": "667706462", 
			"acctId": "TEST10001", 
			"ticketId": "749084635", 
			"type": 6, 
			"amount": 1250, 
			"transferTime": "20210918T151100", 
			"gameCode": "sRoma", 
			"status": 0, 
			"channel": "Web", 
		}], 
		"resultCount": 1, 
		"pageCount": 1, 
		"merchantCode": "TEST", 
		"code": 0, 
		"msg": "success", 
		"serialNo": "20210917171413632534" 
	}

存款

使用场景: 由 merchant 将相应的金额存入 Game Provider 中用户的余额

接口名: deposit

接口提供者: Game Provider

接口使用者: Merchant

求消息定义 DepositRequest:

名称 数据类型 必填 示例 说明
acctId Varchar(50) TESTPLAYER1 游戏玩家 ID
currency Char(3) CNY 货币的 ISO 代码
amount Decimal(12, 4) 1000 存款金额
merchantCode Varchar(10) TEST 标识商户 ID
serialNo Varchar(50) 20120722224255982841 用于标识消息的序列, 由调用者生成

响应消息定义 DepositResponse:

名称 数据类型 必填 示例 说明
transactionId Varchar(20) 498036704 交易流水号
beforeBalance Decimal(12, 4) 1000.0000 玩家之前余额
afterBalance Decimal(12, 4) 1500.0000 玩家最新余额

特别注意:

  1. serialNo 是消息标识, 同一个 serialNo 只会有一个 request/response, 请确保每次生成的 serialNo 是唯一的值.
  2. 建议使用 GUID/UUID, 或是日期+时间+随机数的字符串.
  3. Acct ID 格式: [a-zA-Z0-9_-]{5, 30}. 例子: TestPlayer_1

Deposit 请求和响应消息示例:

JSON DepositRequest:

{
		"acctId": "TESTPLAYER1", 
		"amount": 200, 
		"currency": "CNY", 
		"merchantCode": "TEST", 
		"serialNo": "20120722231413699735"
	}

JSON DepositResponse:

{
		"newPlayer": false, 
		"beforeBalance": 1000.0000, 
		"afterBalance": 1500.0000, 
		"transactionId": "500648408", 		
		"merchantCode": "TEST", 
		"msg": "success", 
		"code": 0, 
		"serialNo": "20120722231413699735"
	}

Http 客户端中的示例:

取款

使用场景: 由 merchant 将相应的金额存入 Game Provider 中用户的余额提取

接口名: withdraw

接口提供者: Game Provider

接口使用者: Merchant

求消息定义 WithdrawRequest:

名称 数据类型 必填 示例 说明
acctId Varchar(50) TESTPLAYER1 游戏玩家 ID
currency Char(3) CNY 货币的 ISO 代码
amount Decimal(12, 4) 1000 存款金额
merchantCode Varchar(10) TEST 标识商户 ID
serialNo Varchar(50) 20120722224255982841 用于标识消息的序列, 由调用者生成

响应消息定义 WithdrawResponse:

名称 数据类型 必填 示例 说明
transactionId Varchar(20) 498036704 交易流水号
beforeBalance Decimal(12, 4) 1500.0000 玩家之前余额
afterBalance Decimal(12, 4) 1000.0000 玩家最新余额

特别注意:

  1. serialNo 是消息标识, 同一个 serialNo 只会有一个 request/response, 请确保每次生成的 serialNo 是唯一的值.
  2. 建议使用 GUID/UUID, 或是日期+时间+随机数的字符串.
  3. Acct ID 格式: [a-zA-Z0-9_-]{5, 30}. 例子: TestPlayer_1

Withdraw 请求和响应消息示例:

JSON WithdrawRequest:

{
		"acctId": "TESTPLAYER1", 
		"amount": 200, 
		"currency": "CNY", 
		"merchantCode": "TEST", 
		"serialNo": "20120722231413699735"
	}

JSON WithdrawResponse:

{
		"newPlayer": false, 
		"beforeBalance": 1500.0000, 
		"afterBalance": 1000.0000, 
		"transactionId": "500648408", 
		"merchantCode": "TEST", 
		"msg": "success", 
		"code": 0, 
		"serialNo": "20120722231413699735"
	}

Http 客户端中的示例:

查询转帐记录

使用场景 :

  1. 查询转帐状态,供核对转帐数据.

接口名 : checkTransfer

接口提供者 : Game Provider

接口使用者 : Merchant

请求消息定义 CheckTransferRequest:

名称 数据类型 必填 示例 说明
merchantCode Varchar(30) TEST 标识商户 ID
serialNo Varchar(200) 2020012004074 用于标识消息的序列,由调用者生成

响应消息定义 CheckTransferResponse:

名称 数据类型 必填 示例 说明
status Integer 1 状态,收到的响应代码
0 = 转账失败
1 = 转账成功
currency Char(3) PTS 货币的 ISO 代码
acctId Varchar(70) TESTPLAYER1@TEST 游戏玩家 ID
valueBefore Decimal(20,6) 199992.000000 转账前的数量
valueChange Decimal(20,6) 1000.000000 转账的数量
valueAfter Decimal(20,6) 200992.000000 转账后的数量
merchantCode Varchar(30) TEST 标识商户 ID
code Integer 0 处理结果代码定义 code
msg Varchar(255) Success 处理结果描述
serialNo Varchar(200) 2020012004074 用于标识消息的序列,由调用者生成

CheckTransfer 请求和响应消息示例:

JSON CheckTransferRequest:

{
		"merchantCode": "TEST", 
		"serialNo": "2020012004074" 
	}

JSON CheckTransferResponse:

{
		"status": 1, 
		"currency": "PTS", 
		"acctId": "TESTPLAYER1@TEST", 
		"valueBefore": 199992.000000, 
		"valueChange": "1000.000000", 
		"valueAfter": 200992.000000, 
		"merchantCode": "TEST", 
		"code": 0, 
		"msg": "Success", 
		"serialNo": "2020012004074" 
	}

Http 客户端中的示例:

查询用户下注记录

使用场景: 查询下注记录

接口名: getBetHistory

接口提供者: Game Provider

接口使用者: Merchant

特别注意:

  1. 建议商家将每次搜索时间调至最多两个小时
  2. 且让其每次查询间隔时间为3至5秒钟

请求消息定义 GetBetHistoryRequest:

名称 数据类型 必填 示例 说明
beginDate Char(15) 20120720T230043 开始时间,格式为 yyyymmdd’T’24hhmmss
endDate Char(15) 20120720T230043 截止时间, 格式为 yyyymmdd’T’24hhmmss
pageIndex Integer 1 页码
merchantCode Varchar(10) TEST 标识商户 ID
serialNo Varchar(50) 20120722224255982841 用于标识消息的序列,由调用者生成

响应消息定义 GetBetHistoryResponse:

名称 数据类型 必填 示例 说明
resultCount Integer 100 总共的记录数
pageCount Integer 1 总共的页数
list BetInfo[] BetInfo 的数组

BetInfo 定义 :

名称 数据类型 必填 示例 说明
ticketId Long 641482277 下注单号
acctId Varchar(50) TESTPLAYER1 用户标识 ID
ticketTime Char(15) 20120722T225417 下注时间
categoryId Varchar(10) SM or TB or AD or BN 游戏种类
gameCode Varchar(10) sLongX3 游戏代码
currency Char(3) CNY 货币 ISO 代码
betAmount Decimal(18, 6) 20 下注金额
result Varchar(1024) 23415 结果
winLoss Decimal(18, 6) -20 用户输赢
jackpotAmount Decimal(18, 6) 0
betIp Varchar(20) 8.8.8.8 用户下注 IP
luckyDrawId Long 10
completed boolean True 是否已结束
roundId Long 1823 游戏 log ID
sequence Integer 0, 1, 2, 3 0 =没赢 jackpot
channel Varchar(10) Mobile/Web 注单来自手机或网
balance Decimal(18, 6) 234.000000 上轮余额
jpWin Decimal(18, 6) -100.000000 积宝赢额
referenceId Varchar(50) 4445780193 参照 transfer ID (只用于单一钱包)
isCascade boolean true/false 是否有连消
isBuyFeature Varchar(5) true/false/NA 是否有购买免费游戏(NA 没有购买免费游戏功能)

其中,详细的游戏代码请参照"附录 4 游戏代码定义".

GetBetHistory 请求和响应消息示例:

JSON GetBetHistoryRequest:

{
		"beginDate": "20120721T175139", 
		"endDate": "20120723T174139", 
		"pageIndex": 1, 
		"merchantCode": "TEST", 
		"serialNo": "20120723175139440637"
	}

JSON GetBetHistoryResponse:

{
		"list": [{
			"ticketId": 633161396, 
			"acctId": "Test10001", 
			"categoryId": "SM", 
			"gameCode": "sLongX3", 
			"ticketTime": "20200908T161044", 
			"betIp": "8.8.8.8", 
			"betAmount": 20, 
			"winLoss": 30, 
			"currency": "CNY", 
			"result": "23412", 
			"jackpotAmount": 1.5, 
			"luckyDrawId": 0, 
			"completed": True, 
			"roundId": 1879, 
			"sequence": 0, 
			"channel": web, 
			"balance": 234.000000, 
			"jpWin": -100.000000
			"referenceId": ""
			"isCascade": true
			"isBuyFeature": false
		}], 
		"resultCount": 1, 
		"pageCount": 1, 
		"merchantCode": "TEST", 
		"msg": "success", 
		"code": 0, 
		"serialNo": "20120723175139440637"
	}

JSON Jackpot GetBetHistoryResponse:

{
			"channel": Web, 
			"result": "{\"ticketId\":\"31\",\"jpCategory\":\"1\",\"jpCode\":\"Roma\"}", 
			"currency": "XXX", 
			"acctId": "TestPlayer488", 
			"balance": 20000024.4, 
			"jpWin": 0.0, 
			"gameCode": "sRoma", 
			"sequence": 0, 
			"referenceId": "", 
			"ticketId": 35, 
			"categoryId":"SM", 
			"luckyDrawId": 0, 
			"roundId": 0, 
			"betAmount": 0.0, 
			"completed": true, 
			"jackpotAmount": 0.0, 
			"ticketTime": "20221103T160952", 
			"betIp": "xxx.xxx.xxx.xxx"
	}

Http 客户端中的示例:

查询注单信息

使用场景: Merchant 可直接查询注单信息。

接口名: Query Bet Detail

接口提供者:Game Provider

接口使用者: Merchant

Direct link for query bet detail:

https://gameapi.backoffice-domain.com/betDetails?merchantId=MERCHANT_CODE&token=MD5_HASH&lang=en&ticketId=TICKET_ID

  1. Merchant请向客服索要密钥.
  2. 请使用MD5加密算法 ticketId|secretKey 以获得 token 参数.

强制退出当前在线用户

使用场景: 当 merchant 网站进行维护时, 如果不希望当前在游戏中的玩家继续游戏, 则调用本接口, 将所属的在线用户强制退出

接口名: kickAcct

接口提供者: Game Provider

接口使用者: Merchant

请求消息定义 KickAcctRequest:

名称 数据类型 必填 示例 说明
acctId Varchar(50) TESTPLAYER1 玩家 ID, 如果为空则退出全部
merchantCode Varchar(10) TEST 标识商户 ID
serialNo Varchar(50) 20120722224255982841 用于标识消息的序列,由调用者生成

响应消息定义 KickAcctResponse:

名称 数据类型 必填 示例 说明
List String[] [TESTPLAYER1] 退出的用户列表

KickAcct 请求和响应消息示例:

JSON KickAcctRequest:

{
		"acctId": "Test10001", 
		"merchantCode": "TEST", 
		"serialNo": "20130430164644935780"
	}

JSON KickAcctResponse:

{
		"list": ["Test10001"], 
		"merchantCode": "TEST", 
		"code": 0, 
		"msg": "success", 
		"serialNo": "20130430164644935780"
	}

Http 客户端中的示例:

查询游戏列表

使用场景: 查询游戏列表

接口名: getGames

接口提供者: Game Provider

接口使用者: Merchant

请求消息定义 GetGamesRequest:

名称 数据类型 必填 示例 说明
merchantCode Varchar(50) TEST 标识商户 ID
serialNo Varchar(50) 20120722224255982841 用于标识消息的序列, 由调用者生成

响应消息定义 GetGamesResponse:

名称 数据类型 必填 示例 说明
games Game[] Game类

Game type 定义:

名称 数据类型 必填 示例 说明
gameCode Varchar(50) sLongX3 游戏代码
gameName Varchar(50) Long Long Long 游戏名称
cnName Varchar(50) 龙龙龙 游戏中文名称
line Integer 1 游戏线
category Varchar(50) SM 游戏种类

GetGames (请求和响应消息示例):

JSON GetGamesRequest:

{
		"merchantCode": "TEST", 
		"serialNo": "20130430164644935780"
	}

JSON GetGamesResponse:

{
		"games": [{
			"gameCode": "sLongX3", 
			"gameName": "Long Long Long", 
			"cnName": "龙龙龙", 
			"line": 1, 
			"category": "SM"
		}],
	}

Http 客户端中的示例:

查询域名列表

使用场景: 查询域名列表

接口名: getDomainList

接口提供者: Game Provider

接口使用者: Merchant

请求消息定义 GetDomainListRequest:

名称 数据类型 必填 示例 说明
merchantCode Varchar(50) TEST 标识商户 ID
serialNo Varchar(50) 20120722224255982841 用于标识消息的序列, 由调用者生成

响应消息定义 GetDomainListResponse:

名称 数据类型 必填 示例 说明
domains String[] ["https://lobby.sample.com"] 域名列表
merchantCode Varchar(50) TEST 标识商户 ID
code Integer 0 处理结果代码定义 code
msg Varchar(128) success 处理结果描述
serialNo Varchar(50) 20210920224255982841 用于标识消息的序列, 由调用者生成

GetDomainList 请求和响应消息示例:

JSON GetDomainListRequest:

{
		"merchantCode": "TEST", 
		"serialNo": "20210920164644935780"
	}

JSON GetDomainListResponse:

{
		"domains": [
			"https://lobby1.sample.com", 
			"https://lobby2.sample.com", 
			"https://lobby3.sample.com" 
		]
		"merchantCode": "TEST"
		"code": 0
		"msg": "Success"
		"serialNo": "20210920224255982841"
	}

Http 客户端中的示例:

查询利润损失列表

使用场景: 查询利润损失信息

接口名: getProfitLoss

接口提供者: Game Provider

接口使用者: Merchant

特别注意 :

  1. 建议商家将每次搜索时间调在一个月内

请求消息定义 GetProfitLossRequest:

名称 数据类型 必填 示例 说明
beginDate Char(15) 20120720T230043 开始日期,格式为 yyyymmdd’T’24hhmmss
endDate Char(15) 20120720T230043 结束日期,格式为 yyyymmdd’T’24hhmmss
merchantCode Varchar(10) TEST 标识商户 ID
isAll boolean true / false 是否显示其商户下的所有子商户
currency Varchar(3) CNY 货币的 ISO 代码
pageIndex Integer 1 页码

响应消息定义 GetProfitLossResponse:

名称 数据类型 必填 示例 说明
resultCount Integer 100 总共的记录数
pageCount Integer 1 总共的页数
list ProfitLossInfo[] ProfitLossInfo的数组

ProfitLossInfo 定义:

名称 数据类型 必填 示例 说明
merchantCode Varchar(10) GT 标识商户 ID
currency Varchar(3) CNY 货币的 ISO 代码
betCount Integer 149612 总共的页数
betAmount Decimal(18,6) 285725.320000 下注金额
validBetAmount Decimal(18,6) 285725.320000 有效的下注金额
totalWL Decimal(18,6) -7271.780000 总共的用户输赢
jpContributeAmt Decimal(18, 6) 0.000000 积宝贡献金额
jpAmt Decimal(18, 6) 0.000000 大奖金额
jpTotalWL Decimal(18, 6) -7271.779999 累积奖金总损失
bonusAmt Decimal(18, 6) 0.000000 奖金金额
bonusBearAmt Decimal(18, 6) 0 Bonus Bear Amount

GetProfitLoss 请求和响应消息示例:

JSON GetProfitLossRequest:

{
		"beginDate": "20220901T000000", 
		"endDate": "20220902T000000", 
		"merchantCode": "TEST", 
		"isAll": true, 
		"currency": "CNY", 
		"pageIndex": 1
	}

JSON GetProfitLossResponse:

{
		"list": [{
			"merchantCode": "TEST", 
			"currency": "CNY", 
			"betCount": 149612, 
			"betAmount": 285725.32, 
			"validBetAmount": 285725.32, 
			"totalWL": -7271.78, 
			"jpContributeAmt": 0.0, 
			"jpAmt": 0.000000, 
			"jpTotalWL": -7271.779999, 
			"bonusAmt": 0.0, 
			"bonusBearAmt": 0
		}], 
		"pageCount": 1, 
		"resultCount": 1, 
		"merchantCode": "TEST", 
		"code": 0, 
		"msg": "success", 
		"serialNo": "20230419T1526329782"
	}

Example in Http client:

查询未完成游戏列表

使用场景: 查询未完成游戏信息

接口名: getUnfinishedGameLog

接口提供者: Game Provider

接口使用者: Merchant

请求消息定义 GetUnfinishedGameLogRequest:

名称 数据类型 必填 示例 说明
beginDate Char(15) 20120720T230043 开始日期,格式为 yyyymmdd’T’24hhmmss
endDate Char(15) 20120720T230043 结束日期,格式为 yyyymmdd’T’24hhmmss
merchantCode Varchar(10) TEST 标识商户 ID
isAll boolean true / false 是否显示其商户下的所有子商户
acctId Varchar(50) TestPlayer678 玩家唯一标识 ID
gameCode Varchar(10) sShkThaiX2 游戏代码
pageIndex Integer 1 页数

响应消息定义 GetUnfinishedGameLogResponse:

名称 数据类型 必填 示例 说明
resultCount Integer 100 总共的记录数
pageCount Integer 1 总共的页数
list UnfinishGameInfo[] UnfinishedGameInfo 的数组

UnfinishedGameInfo 定义:

名称 数据类型 必填 示例 说明
acctId Varchar(50) TESTPLAYER678@TEST 用户唯一标识 ID
loginId Varchar(50) TestPlayer678 玩家唯一标识 ID
gameCode Varchar(10) 游戏代码
merchantCode Varchar(10) TEST 标识商户 ID
unfinishedBonus Integer 0 未完成奖金游戏数量
unfinishedFree Integer 12 未完成免费旋转数量
unfinishedFreeMultiplyer Integer 1 未完成免费乘数数量
createDate DateTime 20220929T080000 玩家未完成游戏的生成日期

GetUnfinishedGameLog 请求和响应消息示例:

JSON GetUnfinishedGameLogRequest:

{
		"beginDate": "20220929T000000", 
		"endDate": "20221001T000000", 
		"merchantCode": "TEST", 
		"isAll": true, 
		"acctId": "TestPlayer678", 
		"gameCode": "sShkThaiX2", 
		"pageIndex": 1
	}

JSON GetUnfinishedGameLogResponse:

{
		"list": [{
			"acctId": "TESTPLAYER678@TEST", 
			"loginId": "TestPlayer678", 
			"gameCode": "sShkThaiX2", 
			"merchantCode": "TEST", 
			"unfinishedBonus": 0, 
			"unfinishedFree": 12, 
			"unfinishedFreeMultiplyer": 1, 
			"createDate": "20220929T080000"
		}], 
		"pageCount": 1, 
		"resultCount": 1, 
		"merchantCode": "TEST", 
		"code": 0, 
		"msg": "success, "
		"serialNo": "20230419T2105028176"	
	}

Example in Http client:

Query Online Player Info

Usage Scenario: 检索平台上当前活跃的在线玩家总数

Interface Name: getOnlinePlayerInfo

API Provider: Game Provider

API Requestor: Merchant

请求消息定义 GetOnlinePlayerInfoRequest:

名称 数据类型 必填 示例 说明
merchantCode Varchar(10) TEST 标识商户 ID
serialNo Varchar(50) 20210920224255982841 用于标识消息的序列, 由调用者生成

响应消息定义 GetOnlinePlayerInfoResponse:

名称 数据类型 必填 示例 说明
resultCount Integer 100 总共的记录数
pageCount Integer 1 总共的页数
list OnlinePlayerInfo[] OnlinePlayerInfo 的数组

OnlinePlayerInfo 定义:

名称 数据类型 必填 示例 说明
userName Varchar(15) TESTPLAYER678 用户名称
currency Char(3) USD 货币的 ISO 代码
acctId Varchar(50) TESTPLAYER678 游戏玩家 ID

GetOnlinePlayerInfo 请求和响应消息示例:

JSON GetOnlinePlayerInfoRequest:

{
		"merchantCode": "TEST", 
		"serialNo": "1111-1111-1111" 
	}

JSON GetOnlinePlayerInfoResponse:

{
		{
		"serialNo": "1111-1111-1111", 
		"code": 0, 
		"msg": "Success", 
		"merchantCode": "TEST", 
		"resultCount": 1, 
		"pageCount": 1, 
		"list": [
			{
				"userName": "TESTPLAYER901", 
				"currency": "USD", 
				"acctId": "TESTPLAYER901" 
		}

Example in Http client:

API 锦标赛定义

锦标赛的域名与可用域名相同。https://tournament.sampledomain.com.

锦标赛的测试环境 https://tournament_staging.sampledomain.com

锦标赛的正试环境 https://tournament.sampledomain.com

查询锦标赛列表

使用场景: 根据商家获取可用锦标赛列表

端点名: /tournament/get

接口提供者: 游戏锦标赛领域

接口使用者: 无

数据传输方式: POST

请求消息定义锦标赛列表:

名称 数据类型 必填 示例 说明
merchant Varchar(10) TEST 标识商户 ID
language Varchar(10) en_US 语言
game Varchar(10) sLongX3 游戏代码

响应消息定义锦标赛列表:

名称 数据类型 必填 示例 说明
isShow boolean true 验证
info String[] "id": Integer/number, 显示信息列表
id Varchar(10) 1000 标识帐户 ID
name Varchar(255) Songkran Festival Tournament 锦标赛名字
startDate Vachar(24) 2023-04-01T00:00:00.000Z 开始日期
endDate Vachar(24) 2023-04-14T23:59:59.000Z 结束日期
desc Varchar(1024) Spin & Soak up the Big Wins 描述信息

锦标赛列表请求和响应消息示例:

JSON Request:

{
	"merchant": "TEST", 
	"language": "en_US", 
	"game": "sCandyXmas"
}

JSON 响应成功:

{
	"isShow": true, 
	"info": [
	{
		"id": "1000",
		"name": "Songkran Festival Tournament",
		"startDate": "2023-04-01T00:00:00.000Z",
		"endDate": "2023-04-14T23:59:59.000Z",
		"desc": "Spin & Soak up the Big Wins"
      }
  ]
}

JSON 响应不成功:

{
	"isShow": false, 
}

查询锦标赛奖品列表

使用场景: 根据商家和币种获取赛事奖品列表

端点名: /tournament/prize/get

接口提供者: 游戏锦标赛领域

接口使用者: 无

数据传输方式: POST

请求消息定义锦标赛奖品列表:

名称 数据类型 必填 示例 说明
tid Varchar(10) 1000 标识锦标赛 ID
merchant Varchar(10) TEST 标识商户 ID
currency Varchar(3) USD 货币 ISO 代码

响应消息定义锦标赛奖品列表:

名称 数据类型 必填 示例 说明
rank Varchar(10) 1 奖位
prize Varchar(50) USD$ 500 奖金金额

锦标赛奖品列表请求和响应消息示例:

JSON Request:

{
	"tid": "1000", 
	"merchant": "TEST", 
	"currency": "USD"
}

JSON Response:

[
	{ 
	"rank": "1", 
	"prize": "USD$ 500" 
	}, 
	{ 
	"rank": "2", 
	"prize": "USD$ 300" 
	}, 
	{ 
	"rank": "3", 
	"prize": "USD$ 300" 
	}, 
	{ 
	"rank": "4", 
	"prize": "USD$ 200" 
	}, 
	{ 
	"rank": "5-10", 
	"prize": "USD$ 100" 
	}
]

查询锦标赛排行列表

使用场景: 获取锦标赛排行列表

端点名: /tournament/rank/get

接口提供者: 游戏锦标赛领域

接口使用者: 无

数据传输方式: POST

请求消息定义锦标赛排行列表:

名称 数据类型 必填 示例 说明
tid Varchar(10) 1000 标识锦标赛 ID
merchant Varchar(10) TEST 标识商户 ID
game Varchar(10) sRoma 游戏代码

响应消息定义锦标赛排行列表:

名称 数据类型 必填 示例 说明
rank Integer 1 奖位
playerId Varchar(10) TESTPLAYERID 标识玩家 ID
score Decimal(18,6) 3809.523809 玩家分数

锦标赛排行请求和响应消息示例:

JSON Request:

{
	"tid": "1000", 
	"merchant": "TEST", 
	"game": "sRoma"
}

JSON Response:

[
	{ 
	"rank": "1", 
	"playerId": "TESTPLAYER1", 
	"score": "771402.857142" 
	}, 
	{ 
	"rank": "2", 
	"playerId": "TESTPLAYER2", 
	"score": 3809.523809 
	}, 
	{ 
	"rank": "3", 
	"playerId": "TESTPLAYER3", 
	"score": 1000 
	}, 
	{ 
	"rank": "4", 
	"playerId": "TESTPLAYER4", 
	"score": 12.619047 
	}, 
	{ 
	"rank": "5", 
	"playerId": "TESTPLAYER5", 
	"score": 1.428571 
	}
]

查询玩家的锦标赛排行

使用场景: 获得特定玩家在锦标赛中的排行

端点名: /tournament/rank/player/get

接口提供者: 游戏锦标赛领域

接口使用者: 无

数据传输方式: POST

请求消息定义锦标赛排行:

名称 数据类型 必填 示例 说明
tid Varchar(10) 1000 标识锦标赛 ID
merchant Varchar(10) TEST 标识商户 ID
playerId Varchar(50) TESTPLAYER1 标识玩家 ID
game Varchar(10) sRoma 游戏代码

响应消息定义锦标赛排行:

名称 数据类型 必填 示例 说明
score Decimal(18,6) 3809.523809 玩家分数
bet Decimal(18,6) 16000 玩家投注
rank Integer 2 玩家排名

锦标赛排行请求和响应消息示例:

JSON Request:

{
	"tid": "1000", 
	"merchant": "TEST", 
	"playerId": "TESTPLAYER1", 
	"game": "sRoma"
}

JSON Response:

{
	"score": 3809.523809, 
	"playerId": 16000, 
	"rank": 2 
}

查询玩家详细中奖信息

使用场景: 根据商家和锦标赛获取玩家详细中奖信息

端点名: /tournament/results/get

接口提供者: 游戏锦标赛领域

接口使用者: 无

数据传输方式: POST

请求消息定义玩家详细中奖信息:

名称 数据类型 必填 示例 说明
tid Varchar(10) 1000 标识锦标赛 ID
merchant Varchar(10) TEST 标识商户 ID
currency Varchar(3) USD 奖金的货币ISO代码

响应消息定义玩家详细中奖信息:

名称 数据类型 必填 示例 说明
merchant Varchar(10) TEST 标识商户 ID
playerId Varchar(10) TESTPLAYERID 标识玩家 ID
currency Varchar(3) USD 玩家的使用的货币ISO代码
score Varchar(50) USD$ 500 玩家分数
rank Varchar(10) 1 奖位
prize Varchar(50) USD$ 500 玩家奖金

玩家详细中奖信息请求和响应消息示例:

JSON Request:

{
	"tid": "1000", 
	"merchant": "TEST", 
	"currency": "USD"
}

JSON Response:

[
	{ 
		"merchantCode": "TEST", 
		"playerId": "TESTPLAYER431", 
		"currency": "USD",
		"ttlBet": 6795069,
		"score": 6795069,
		"rank": 1
		"prize": USD$ 2,118		
	}

]

查询玩家详细投注信息

使用场景: 获得玩家详细投注信息

端点名: /tournament/details/get

接口提供者: 游戏锦标赛领域

接口使用者: 商家

数据传输方式: POST

请求消息定义玩家详细投注信息:

名称 数据类型 必填 示例 说明
tid Varchar(10) 1000 标识锦标赛 ID
merchant Varchar(10) TEST 标识商户 ID
playerId Varchar(50) TESTPLAYER1 标识玩家 ID
beginDate char(24) 2022-09-01 00:00:00 开始日期.
格式 yyyy-MM-dd HH:mm:ss
endDate char(24) 2022-09-10 00:00:00 结束日期.
格式 yyyy-MM-dd HH:mm:ss
pageNo Integer 1 页数
pageSize Integer 10 总共的页数

响应消息定义玩家详细投注信息:

名称 数据类型 必填 示例 说明
merchantCode Varchar(10) TEST 标识商户 ID
playerId Varchar(50) TESTPLAYER1 标识玩家 ID
currency Varchar(6) MYR 货币 ISO 代码
betCount Integer 19856 总共的页数
ttlBet Decimal(18,6) 3239892 总共的投注
wlAmt Decimal(18,6) -3131821.12 用户输赢
score Decimal(18,6) 771402.857142 玩家分数
rank Integer 1 玩家排行

玩家详细投注信息请求和响应消息示例:

JSON Request:

{
		"tid": "1000", 
		"merchant": "TEST", 
        "playerId": "TESTPLAYER1", 
        "beginDate": "2022-09-01 00:00:00", 
        "endDate": "2022-09-10 00:00:00", 
        "currency": "USD",
        "pageNo": 1,
        "pageSize": 10
	}

JSON Response:

[
        { 
			"merchant": "TEST", 
			"playerId": "TESTPLAYER1", 
			"currency": "USD",
			"betCount": 19856,
			"ttlBet": 3239892,
			"wlAmt": -3131821.12,
			"score": -771402.857142,
			"rank": 1
        }, 
        { 
			"merchant": "TEST", 
			"playerId": "TESTPLAYER2", 
			"currency": "MYR",
			"betCount": 18,
			"ttlBet": 16000,
			"wlAmt": -6152,
			"score": 3809.523809,
			"rank": 2
        }, 
        { 
			"merchant": "TEST", 
			"playerId": "TESTPLAYER3", 
			"currency": "MYR",
			"betCount": 44,
			"ttlBet": 4200,
			"wlAmt": 28028,
			"score": 1000,
			"rank": 3
        } 
    ]

锦标赛页面

使用场景: 锦标赛页面

端点名: /tournament

接口提供者: 游戏锦标赛领域

接口使用者: 无

数据传输方式: POST

名称 数据类型 必填 示例 说明
merchant Varchar(10) TEST 标识商户 ID
language Varchar(10) en_US 语言
currency char(3) MYR 货币 ISO 代码
playerId Varchar(50) TESTPLAYER1 标识玩家 ID

  1. 详细的 language 的定义, 请参照""附录 2 语言代码定义"。
  2. 请参考4.15查询域名列表以获取最新域名。

Tournament Page Redirect URL and Parameters:

https://tournament.sampledomain.com/tournament?merchant=TEST&lang=en_US&cy=USD&tid=1000

附录 1 响应代码定义

code 中文描述 英文描述 说明
0 成功 Success 接口调用成功
1 系统错误 System Error 系统内部出错, 程序 Bug, 数据库连接不上等
2 非法请求 Invalid Request 不是合法的请求
3 服务暂时不可用 Service Inaccessible 服务不可用
100 请求超时 Request Timeout
101 用户调用次数超限 Call Limited
104 请求被禁止 Request Forbidden
105 缺少必要的参数 Missing Parameters
106 非法的参数 Invalid Parameters
107 批次号重复 Duplicated Serial No
108 Apk 版本及 Pc 版本商家登录 Key 错误 Merchant Key Error
109 重复Transfer Duplicate Transfer
110 批次号不存在 Record Id Not Found
10113 Merchant 不存在 Merchant Not Found
112 Api 调用次数超限 Api Call Limited 调用 Api 接口的次数已超限
113 Acct Id 不正确 Invalid Acct Id Acct Id 格式不正确
50100 用户不存在 Acct Not Found
50101 帐号未激活 Acct Inactive
50102 帐号已锁 Acct Locked
50103 帐号 Suspend Acct Suspend
50104 Token 验证失败 Token Validation Failed
50110 帐号余额不足 Insufficient Balance
50111 超过帐号交易限制 Exceed Max Amount
50112 币种不支持 Currency Invalid Deposit/Withdraw 的币种与用户的币种不一致, 或者 Merchant 没有相应的币种
50113 金额不合法 Amount Invalid Deposit/Withdraw 金额必须 > 0
10104 会员密码不正确 Password Invalid
30003 设置不完整 Bet Setting Incomplete
10103 会员不存在 Acct Not Found
10105 账号为激活 Acct Status Inactived
10110 账号已锁 Acct Locked
10111 帐号 Suspend Acct Suspend
11101 余额不足 Bet Insufficient Balance
11102 投注失效 Bet Draw Stop Bet
11103 玩法为开放 Bet Type Not Open
11104 下注信息不完整 Bet Info Incomplete
11105 帐号信息异常 Bet Acct Info Incomplete
11108 下注请求不合法 Bet Request Invalid
12001 设置不完整 Bet Setting Incomplete
1110801 下注最大值超过上限 Bet Request Invalid Max
1110802 下注最小值超下线 Bet Request Invalid Min
1110803 下注金额错误 Bet Request Invalid Totalbet
50200 游戏在该货币未激活 Game Currency Not Active

附录 2 语言代码定义

语言的 ISO 代码 说明
bn_BD 孟加拉语
de_DE 德文
en_US 英文
es_ES 西班牙语
fil_PH 菲律宾语
hi_IN 印地语
id_ID 印度尼西亚语
ja_JP 日语
kh_KM 高棉语
ko_KR 韩语
my_MM 缅甸语
pt_PT 葡萄牙语
sv_SE 瑞典语
th_TH 泰语
vi_VN 越南语
zh_CN 简体中文
zh_TW 繁体中文

附录 3 货币代码定义

货币的 ISO 代码 说明(en) 说明
AED United Arab Emirates Dirham 阿联酋迪拉姆 1:1
AMD Armenian Dram 亚美尼亚德拉姆 1:1
AOA Angolan Kwanza 安哥拉匡撒 1:1
ARS Argentine Peso 阿根廷比索 1:1
AUD Australian Dollar 澳洲元 1:1
BDT Bangladeshi taka 孟加拉塔卡 1:1
BND Brunei Dollar 汶萊元 1:1
BRL Brazilian Real 巴西雷亚尔 1:1
CAD Canadian Dollar 加元 1:1
CNY Chinese Yuan (Renminbi) 人民币 1:1
COP Colombian Peso 哥伦比亚比索 1:1000
CO2 Colombian Peso 哥伦比亚比索 1:1
CLP Chilean Peso 智利比索 1:1
DZD Algerian Dinar 阿尔及利亚第纳尔 1:1
EUR Euro 欧元 1:1
ETB Ethiopian Birr 埃塞俄比亚比尔 1:1
FKP Falkland Pound 福克兰群岛镑 1:1
GBP British Pound 英镑 1:1
GHS Ghanaian Cedi 加纳塞地 1:1
HKD Hong Kong Dollar 港元 1:1
IDR Indonesia Rupiah 印尼盾 1:1000
ID2 Indonesia Rupiah 印尼盾 1:1
INR Indian Rupee 印度卢比 1:1
JPY Japanese Yen 日圓 1:1
KHR Cambodian Riel 柬埔寨瑞尔 1:1
KWD Kuwaiti Dinar 科威特第纳尔 1:1
KRW South Korean Won 韩圆 1:1
LAK Laotian Kip 寮國基普 1:1000
MAD Moroccan Dirham 摩洛哥迪拉姆 1:1
MMK Myanmar Kyat 缅甸元 1:1000
MK2 Myanmar Kyat 缅甸元 1:1
MNT Mongolian Tughrik 蒙古图格里克 1:1000
MN2 Mongolian Tughrik 蒙古图格里克 1:1
MYR Malaysia Ringgit 马来西亚零吉 1:1
MXN Mexican Peso 墨西哥比索 1:1
NGN Nigerian Naira 尼日利亚奈拉 1:1
NPR Nepalese rupee 尼泊尔卢比 1:1
PHP Philippine peso 菲律宾比索 1:1
PEN Peruvian Sol 秘鲁索尔 1:1
PGK Papua New Guinean Kina 巴布亚新几内亚基那 1:1
PKR Pakistani rupee 巴基斯坦卢比 1:1
RUB Russian Ruble 俄罗斯卢布 1:1
SEK Swedish krona 瑞典克朗 1:1
SGD Singapore Dollar 新加坡元 1:1
THB Thailand Baht 泰铢 1:1
TH2 Thailand Baht 泰铢 1:100
TND Tunisian Dinar 突尼斯第納爾 1:1
TRY Turkish Lira 土耳其里拉 1:1
TZS Tanzanian Shilling 坦尚尼亞先令 1:1000
USD United States Dollar 美元 1:1
UZS Uzbekistani Som 乌兹别克斯坦苏姆 1:1000
VES Venezuelan Bolívares 委内瑞拉玻利瓦尔 1:1
VND Viet Nam Dong 越南盾 1:1000
VN2 Viet Nam Dong 越南盾 1:1
XAF Central African CFA Franc 中非法郎 1:1

附录 4 加密货币代码定义

货币的 ISO 代码 说明 比例
ET2 milli Etherium 1:0.001
FTN FastToken 1:1
LT2 milli Litecoin 1:0.001
BC2 milli Bitcoin Cash 1:0.001
TET Tether USDT 1:1
TON Toncoin 1:0.001
XB3 micro-Bitcoin 1:0.000001
XRP Ripple 1:1