Web 服務 API v1.0.22
技术指引
1.文档简介
Web Service API 接口用于接入SimplePlay,包括注册、查询用户账户、用户下注记录查询和从账户提现或者账户充值的功能。本文档包括转帐钱包及单一钱包。
2.文档版本历史
版本 | 描述 | 日期 |
---|---|---|
1.0.18 |
| 2023/05/11 |
1.0.19 |
| 2023/09/12 |
1.0.20 |
| 2023/09/28 |
1.0.21 |
| 2023/10/26 |
1.0.22 |
| 2023/10/26 |
3.API 调用限制
以下的API有调用限制。
API名称 | 调用频率 |
---|---|
GetAllBetDetails | 每5分钟10次 |
GetAllBetDetailsForTimeInterval | 每5分钟10次 |
GetUnfinishedGame | 每1秒钟10次 |
JackpotQuery | 每1分钟1次 |
LoginRequest | 每1小時5000次 |
LoginRequestForFun | 每1小時200次 |
RegUserInfo | 每24小時2000次 |
点数值精度
所有的点数值只保留小数点后两位, 例如:1000.23, 89.32, 1002304.89。
4.加密流程
4.1.加密要求
所有的网页查询服务在传送之前都要求用DES加密和MD5 Hashing进行数字签名,需确保内容在传输过程中不被修改。
请咨询我们如下信息:
- Secret Key 密钥
- EncrypKey 加密键
- MD5Key MD5 键
- API URL
- 大庁名称 (启动客户端时需要提供)
ASP.Net C# DES加密函数例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
protected byte[] EncryptKey = ASCIIEncoding.ASCII.GetBytes("ask_us_for_key"); public string DESEncrypt( string inString) { MemoryStream ms = new MemoryStream(); CryptoStream cs = new CryptoStream (ms, new DESCryptoServiceProvider ().CreateEncryptor(EncryptKey, EncryptKey), CryptoStreamMode .Write); StreamWriter sw = new StreamWriter (cs); sw.Write(inString); sw.Flush(); cs.FlushFinalBlock(); sw.Flush(); return Convert.ToBase64String(ms.GetBuffer(), 0, ( int )ms.Length); } |
PHP DES 加密函数例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<!--?php class DES { var $key; var $iv; function DES( $key, $iv=0 ) { $this--->key = $key; if( $iv == 0 ) { $this->iv = $key; } else { $this->iv = $iv; } } function encrypt($str) { return base64_encode( openssl_encrypt($str, 'DES-CBC', $this->key, OPENSSL_RAW_DATA, $this->iv ) ); } } ?> |
PHP 应用例子:
1 2 3 4 5 6 7 8 |
<!--?php $str = "method=GetUserStatus&Key=01234567789ABCDEF0123456789ABCDE&Time=20150101012345&Username=abcd12345"; // for example $key = 'ZyXw4321'; // for example $crypt = new DES($key); $mstr = $crypt--->encrypt($str); $urlemstr = urlencode($mstr); echo "[ $str ] Encrypted: [ $mstr ] UrlEncoded encrypted string: [ $urlemstr ]"; ?> |
ASP.Net C# MD5函数例子 :
1 2 3 4 5 6 7 8 9 10 |
public string BuildMD5(string inString) { byte[] hashed = MD5.Create().ComputeHash(Encoding.UTF8.GetBytes(inString)); StringBuilder sb = new StringBuilder(hashed.Length * 2); for (int i = 0; i < hashed.Length; i++) { sb.Append(hashed[i].ToString("x2")); } return sb.ToString(); } |
PHP 应用例子:
1 2 3 4 5 6 7 8 9 |
<!--?php $str="method=GetUserStatus&Key=01234567789ABCDEF0123456789ABCDE&Time=20150101012345&Username=abcd12345"; // for example $md5key = "abcdefg"; // for example $Time = "20150101012345"; // for example $SecretKey = "01234567789ABCDEF0123456789ABCDE"; // for example $PreMD5Str = $str . $md5key . $Time . $SecretKey; $OutMD5 = md5($PreMD5Str); echo "md5:[ $OutMD5 ]"; ?--> |
4.2.加密流程
- 创建一个包含要求参数的查询语句 QS(包括网络服务方法名自身 例如 method = RegUserInfo)
- DES使用提供的 EncryptKey 加密 查询语句QS , 然后获得加密后的查询语句 qs
- 根据查询语句 QS 和参数 从一个签名 signature(s) 创建一个MD5 哈希.
- 使用HTTP POST request 调用 web service
- 得到XML返回结果
4.3.调用api举例
以RegUserInfo作为例子
加密要求的参数
- method (String, “RegUserInfo”)
- Key (String, the Secret Key)
- Time (DateTime, Current Time, in yyyyMMddHHmmss format)
- Username (String)
- CurrencyType (String)
method, Key and Time 是必需插入的.其他参数请根据每个API函数参数列表填入.
假设, Secret Key 是 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX md5key 是 YYYYYYYY.
查询语句QS例子
1 2 3 |
QS = “method=RegUserInfo&Key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&Time=20140101123456&Username=DemoUser001&CurrencyType=USD”; q = HttpUtility.UrlEncode( DESencrypt(QS) ); |
例如 q=’j4tjorjwarfj3trwise0safrwg2wt4awari0fwjfeoh’
MD5字串构建签名signature 例子(QS + md5key + Time + Key)
1 |
s = BuildMD5(QS + “YYYYYYYY” + “20140101123456” + “XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX”); |
例如 s = ‘1234567890abcdef’
POST 查询方法 (请求内容必须使用”Content-Type: application/x-www-form-urlencoded” 格式.)
q=j4tjorjwarfj3trwise0safrwg2wt4awari0fwjfeoh&s=1234567890abcdef
POST 到: http://
返回结果:
1 2 3 4 5 6 |
<?xml version="1.0" encoding="utf-8"?> <RegUserInfoResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Username>DemoUser001</Username> <ErrorMsgId>0</ErrorMsgId> <ErrorMsg>Success</ErrorMsg> </RegUserInfoResponse> |
4.4.错误处理
当发生解密或MD5核对不正确时, 会输出以下的错误回应。
ErrorMsgId 128 解密错误
ErrorMsgId 132 md5 核对不正确
1 2 3 4 5 |
<?xml version="1.0" encoding="utf-8"?> <APIResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ErrorMsgId>128</ErrorMsgId> <ErrorMsg>Decryption error</ErrorMsg> </APIResponse> |
5.WEB SERVICE 接口
所有的服务都需要 secret key 才可以使用。请联络我们获取一个。
5.1.会员户口操作
5.1.1.RegUserInfo
使用用户名和币种创建一个用户。
输入参数名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
method | 必须是”RegUserInfo” | String (32) | Y |
Key | 密钥 | String (32) | Y |
Time | 当前时间 时间格式:“yyyyMMddHHmmss” | DateTime | Y |
Username | 用户名. 文字数字 | String (28) | Y |
CurrencyType | 币种, 详情请参阅货币类型 | String (16) | Y |
名称 | 描述 | 类型和限制 | 必填? |
---|---|---|---|
Username | 用户名 | String (28) | Y |
ErrorMsgId | 错误信息: 0: 成功 108: 用户名长度或者格式错误 113: 用户名已存在 114: 币种不存在 133: 建立帐户失败 | Byte | Y |
ErrorMsg | 错误信息详细 | String | Y |
5.1.2.VerifyUsername
检查数据库中用户名在此大厅是否已经存在。
输入参数名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
method | 必须是 “VerifyUsername” | String (32) | Y |
Key | 密钥 | String (32) | Y |
Time | 当前时间格式“yyyyMMddHHmmss” | DateTime | Y |
Username | 用户名 | String (28) | Y |
名称 | 描述 | 类型和长度限制 | Required? |
---|---|---|---|
IsExist | 用户是否存在? True: 用户已经存在 False: 用户不存在 | Bool | Y |
Username | 用户名 | String (28) | Y |
ErrorMsgId | 错误信息: 0: 成功 108: 用户名长度格式错误 | Byte | Y |
ErrorMsg | 错误信息详细 | String | Y |
输出:
1 2 3 4 5 6 7 8 9 |
<?xml version="1.0" encoding="utf-8"?> <VerifyUsernameResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <IsExist>True</IsExist> <Username>DemoUser001</Username> <ErrorMsgId>0</ErrorMsgId> <ErrorMsg>Success</ErrorMsg> </VerifyUsernameResponse> |
5.1.3.GetUserStatus
该网络服务编程接口用以获取请求用户的状态信息. 这些状态信息包括:
- 用户在线/离线状态
- 是否存在未完成下注單
- 下注限额和余额
- 会员最大余额
- 会员每日最大赢额
名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
method | 必须是 “GetUserStatus” | String (32) | Y |
Key | 密钥 | String (32) | Y |
Time | 当前时间格式“yyyyMMddHHmmss” | DateTime | Y |
Username | 用户名 | String (28) | Y |
Name | Description | Type and Limit | Required? |
---|---|---|---|
IsSuccess | 成功? True: 成功 False: 失败 | Bool | Y |
Username | 用户名 | String (28) | Y |
Balance | 用户余额,不包括因未完成的老虎机或捕鱼游戏而被扣起的金额 | Decimal | Y |
Online | 是否在线? | Bool | Y |
Betted | 是否下注? | Bool | Y |
BetAmount | 因未完成的老虎机游戏而被扣起的总金额 | Decimal | Y |
MaxBalance | 最大帐户馀额 | Decimal | Y |
MaxWinning | 最大帐户赢额 | Decimal | Y |
WithholdAmount | 因未完成的捕鱼游戏而被扣起的总金额 | Decimal | Y |
ErrorMsgId | 错误信息: 0: 成功 100: 用户名错误 108: 用户名长度格或式错误 116: 用户名不存在 | Byte | Y |
ErrorMsg | 错误信息详细 | String | Y |
输出
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?xml version="1.0" encoding="utf-8"?> <GetUserStatusResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <IsSuccess>true</IsSuccess> <Username>DemoUser001</Username> <Balance>1234567.89</Balance> <Online>false</Online> <Betted>false</Betted> <BetAmount>0</BetAmount> <MaxBalance>0</MaxBalance> <MaxWinning>0</MaxWinning> <WithholdAmount>0</WithholdAmount> <ErrorMsgId>0</ErrorMsgId> <ErrorMsg>Success</ErrorMsg> </GetUserStatusResponse> |
5.1.4.SetUserMaxBalance
设定会员的最大帐户馀额。该值必需为0 或者少於会员帐户结馀。
输入参数名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
method | 必须是“SetUserMaxBalance” | String (32) | Y |
Key | 密钥 | String (32) | Y |
Time | 当前时间格式“yyyyMMddHHmmss” | DateTime | Y |
Username | 用户名 | String (28) | Y |
MaxBalance | 最大帐户馀额 | Decimal | Y |
名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
ErrorMsgId | 错误信息: 0: 成功 116: 用户名不存在 142: 输入参数错误 148: 最大馀额不等於 0 或小於帐户结馀 | Byte | Y |
ErrorMsg | 错误信息详细 | String | Y |
5.1.5.SetUserMaxWinning
设定会员每日最大赢额。当会员赢额超过最大赢额,会员将不能下注。
输入参数名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
method | 必须是“SetUserMaxWinning” | String (32) | Y |
Key | 密钥 | String (32) | Y |
Time | 当前时间格式“yyyyMMddHHmmss” | DateTime | Y |
Username | 用户名 | String (28) | Y |
MaxWinning | 最大帐户贏额 | Decimal | Y |
名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
ErrorMsgId | 错误信息: 0: 成功 116: 用户名不存在 142: 输入参数错误 | Byte | Y |
ErrorMsg | 错误信息详细 | String | Y |
5.1.6.GetUnfinishedGame
该网络服务将获取用户最近十天內未完成的桌上游戏及老虎机游戏。每1秒钟可以调用10次,否则报错。
输入参数名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
method | 必须是 “GetUnfinishedGame” | String (32) | Y |
Key | 密钥 | String (32) | Y |
Time | 当前时间格式“yyyyMMddHHmmss” | DateTime | Y |
Username | 用户名 | String (28) | Y |
Name | Description | Type and Limit | Required? |
---|---|---|---|
Username | 用户名 | String (28) | Y |
UnfinishedGameDetailList | 未完成的游戏详细列表 | XML | Y |
ErrorMsgId | 错误信息: 0: 成功 100: 用户名错误 108: 用户名长度格或式错误 116: 用户名不存在 | Byte | Y |
ErrorMsg | 错误信息详细 | String | Y |
输出
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<!--?xml version="1.0" encoding="utf-8"?--> <getunfinishedgameresponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <username>DemoUser001</username> <unfinishedgamedetaillist> <unfinishedgamedetail> <gamecode>EG-SLOT-A036</gamecode> <betamount>10</betamount> </unfinishedgamedetail> <unfinishedgamedetail> <gamecode>EG-SLOT-A038</gamecode> <betamount>20</betamount> </unfinishedgamedetail> <unfinishedgamedetail> <gamecode>EG-SLOT-C003</gamecode> <betamount>40</betamount> </unfinishedgamedetail> <unfinishedgamedetail> <gamecode>EG-BACC-LOBBY</gamecode> <hostid>1001</hostid> <betamount>10</betamount> </unfinishedgamedetail> </unfinishedgamedetaillist> <errormsgid>0</errormsgid> <errormsg>Success</errormsg> </getunfinishedgameresponse> |
5.2.登入功能
5.2.1.LoginRequest
登录SimplePlay系统。如果用户名不存在,则会自动创建。
输入参数名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
method | 必须是 “LoginRequest” | String (32) | Y |
Key | 密钥 | String (32) | Y |
Time | 当前时间格式“yyyyMMddHHmmss” | DateTime | Y |
Username | 用户名 | String (28) | Y |
CurrencyType | 币种, 详情请参阅货币类型 | String (16) | Y |
GameCode | (选填) 没有输入GameCode将返回进入游戏大厅的 GameURL 輸入GameCode将返回直接进入老虎机游戏、桌上游戏或捕鱼游戏的 GameURL 老虎机游戏代码、桌上游戏代码或捕鱼游戏代码, 详情请参照第9节. | String (16) | N |
Lang | 语言。请参考下面列表。 | String | N |
Mobile | 以手机版显示 1 - 使用手机版 0 - 不使用手机版 | Bool | N |
值 | 描述 |
---|---|
zh_TW | 繁体中文 |
zh_CN | 简体中文 |
en_US | 英文 |
th | 泰文 |
vn | 越南文 |
jp | 日文 |
id | 印尼文 |
it | 意大利文* |
ms | 马来文* |
es | 西班牙文* |
* 只支援鱼乐无穷
返回结果名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
Token# | 登录令牌 | String | Y |
DisplayName* | 系统内使用的登入名称 | String (31) | Y |
GameURL | 完整的遊戲 URL 以启动老虎机游戏大厅,老虎机游戏、桌上游戏或捕鱼游戏。 按以下指示启动不同的游戏 : 启动游戏大厅 启动老虎机游戏 启动桌上游戏 启动捕鱼游戏 | String | N |
ErrorMsgId | 错误信息: 0: 成功 129: 系统正在维护 130: 用户账户锁定(无效) 133: 建立帐户失败 134: 游戏代码不存在 135: 游戏没有开放 | Byte | Y |
ErrorMsg | 错误信息详细 | String | Y |
# 如果登入要求失败,登录令牌节点不会在回应中出现。
* 所有登入名称皆会加上字尾 @xxx. 这个 DisplayName 是为我们在数据库中的资料
5.2.2.LoginRequestForFun
使用免费试玩模式登录系统。用户名会自动生成。
名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
method | 必须是 “LoginRequestForFun” | String (32) | Y |
Key | 密钥 | String (32) | Y |
Time | 当前时间格式 “yyyyMMddHHmmss” | DateTime | Y |
Amount | 初始账户金额 | Decimal | Y |
CurrencyType | 币种, 详情请参阅货币类型 | String (16) | Y |
GameCode | (选填) 没有輸入GameCode将返回进入游戏大厅的 GameURL 輸入GameCode将返回直接进入老虎机游戏、桌上游戏或捕鱼游戏的 GameURL 老虎机游戏代码、桌上游戏代码或捕鱼游戏代码, 详情请参照第9节. | String (16) | N |
Lang | 语言。请参考下面列表。 | String | N |
Mobile | 以手机版显示 1 - 使用手机版 0 - 不使用手机版 | Bool | N |
名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
Token# | 登录令牌 | String | Y |
DisplayName* | 系统内使用的登入名称 | String (31) | Y |
GameURL | 完整的遊戲 URL 以启动老虎机游戏大厅,老虎机游戏、桌上游戏或捕鱼游戏。 按以下指示启动不同的游戏 : 启动游戏大厅 启动老虎机游戏 启动桌上游戏 启动捕鱼游戏 | String | N |
ErrorMsgId | 错误信息: 0: 成功 129: 系统正在维护 134: 游戏代码不存在 135: 游戏没有开放 | Byte | Y |
ErrorMsg | 错误信息详细 | String | Y |
# 如果登入要求失败,登录令牌节点不会在回应中出现。
* 所有登入名称皆会加上字尾 @xxx. 这个 DisplayName 是为我们在数据库中的资料
5.2.3.KickUser
强制会员离线
输入参数名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
method | 必须是 “KickUser” | String (32) | Y |
Key | 密钥 | String (32) | Y |
Time | 当前时间格式“yyyyMMddHHmmss” | DateTime | Y |
Username | 用户名 | String (28) | Y |
名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
ErrorMsgId | 错误信息: 0: 成功 104: 服务器不可用 108: 用户名长度或格式错误 116: 用户名不存在 125: 强制用户离线失败 | Byte | Y |
ErrorMsg | 错误信息详细 | String | Y |
输出:
1 2 3 4 5 |
<?xml version="1.0" encoding="utf-8"?> <KickUserResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ErrorMsgId>0</ErrorMsgId> <ErrorMsg>Success</ErrorMsg> </KickUserResponse> |
5.3.投注记录查询
5.3.1.GetAllBetDetails
此服务用于获取当前大厅当指定日子(中午12:00:00至上午11:59:59)的下注信息,没有指定日期则使用服务器当天日期。每5分钟可以调用10次,否则报错。
输入参数名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
method | 必须是 “GetAllBetDetails” | String (32) | Y |
Key | 密钥 | String (32) | Y |
Time | 当前时间格式“yyyyMMddHHmmss” | DateTime | Y |
Username | 用户名 (选填) | String (28) | N |
Date | 日期详细信息 (选填) "yyyy-MM-dd” | Date | N |
名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
BetDetailList | 投注信息详细 | XML | Y |
ErrorMsgId | 错误信息: 0: 成功 108: 用户名长度或格式错误 112: 近期已调用 116: 用户名不存在 142: 输入参数错误 | Byte | Y |
ErrorMsg | 错误信息详细 | String | Y |
名称 | 描述 | 类型和长度限制 | 必填? | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BetTime | 投注时间 | Date Time | Y | ||||||||||
PayoutTime | 结算时间 | Date Time | Y | ||||||||||
Username | 用户名 | String (28) | Y | ||||||||||
Detail | 游戏代码 | String | Y | ||||||||||
GameID | 游戏编号 | String | Y | ||||||||||
BetID | 投注编号 | Int64 | Y | ||||||||||
BetAmount | 投注金额 | Decimal | Y | ||||||||||
Rolling | 有效投注额/洗碼量 | Decimal | Y | ||||||||||
Balance | 投注後的馀额 | Decimal | Y | ||||||||||
ResultAmount | 输赢金额 | Decimal | Y | ||||||||||
HostID* | 桌台ID | Int(16) | N | ||||||||||
Round* | 局 | Int(32) | N | ||||||||||
Set* | 靴 | Int(32) | N | ||||||||||
GameType | 游戏类型 slot - 老虎机游戏 table - 桌上游戏 multiplayer - 捕鱼游戏 | String | Y | ||||||||||
BetType* | 投注类型 | Int(*) | N | ||||||||||
BetSource |
| Int | Y | ||||||||||
TransactionID | 单一钱包下注交易编号 如非单一钱包接口,编号为 -1 | Int64 | Y | ||||||||||
JackpotContribution | 累积大奖供款。最多9位浮点数 | Decimal | Y | ||||||||||
PrizeID | 老虎机免费奖励的奖品ID | Integer | N | ||||||||||
GameResult* | 游戏结果 百家乐 缤纷骰宝 骰骰 红白对弈 | XML | N |
*参数 HostID、Round、Set、BetType 及 GameResult 只适用于桌上游戏。这三项参数并不会于老虎机游戏及捕鱼游戏返回。
沒有獎品ID的输出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<?xml version="1.0" encoding="utf-8"?> <GetAllBetDetailsResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <BetDetailList> <BetDetail> <BetTime>2021-04-07T10:34:321</BetTime> <PayoutTime>2021-04-07T10:34:34.057</PayoutTime> <Username>DemoUser001</Username> <GameID>14487631238544</GameID> <BetID>11822141</BetID> <BetAmount>0.01</BetAmount> <Rolling>0.01</Rolling> <ResultAmount>-0.01</ResultAmount> <Balance>7606.93</Balance> <GameType>slot</GameType> <BetSource>2640</BetSource> <Detail>EG-SLOT-A049</Detail> <TransactionID>-1</TransactionID> <JackpotContribution>0.000020000</JackpotContribution> </BetDetail> </BetDetailList> <ErrorMsgId>0</ErrorMsgId> <ErrorMsg>Success</ErrorMsg> </GetAllBetDetailsResponse> |
獎品ID的输出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<?xml version="1.0" encoding="utf-8"?> <GetAllBetDetailsResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <BetDetailList> <BetDetail> <BetTime>2021-04-07T10:34:321</BetTime> <PayoutTime>2021-04-07T10:34:34.057</PayoutTime> <Username>DemoUser001</Username> <GameID>14487631238544</GameID> <BetID>11822141</BetID> <BetAmount>0.01</BetAmount> <Rolling>0.01</Rolling> <ResultAmount>-0.01</ResultAmount> <Balance>7606.93</Balance> <GameType>slot</GameType> <BetSource>2640</BetSource> <Detail>EG-SLOT-A049</Detail> <TransactionID>-1</TransactionID> <JackpotContribution>0.000020000</JackpotContribution> <PrizeID>26</PrizeID> </BetDetail> </BetDetailList> <ErrorMsgId>0</ErrorMsgId> <ErrorMsg>Success</ErrorMsg> </GetAllBetDetailsResponse> |
累積大獎的输出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<?xml version="1.0" encoding="utf-8"?> <GetAllBetDetailsResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <BetDetailList> <BetDetail> <BetTime>2021-04-07T10:34:321</BetTime> <PayoutTime>2021-04-07T10:34:34.057</PayoutTime> <Username>DemoUser001</Username> <GameID>14487631238544</GameID> <BetID>11822141</BetID> <BetAmount>0</BetAmount> <Rolling>0</Rolling> <ResultAmount>500.00</ResultAmount> <Balance>7606.93</Balance> <GameType>slot</GameType> <BetSource>2640</BetSource> <Detail>EG-SLOT-A049</Detail> <TransactionID>-1</TransactionID> <JackpotContribution>0.000000000</JackpotContribution> </BetDetail> </BetDetailList> <ErrorMsgId>0</ErrorMsgId> <ErrorMsg>Success</ErrorMsg> </GetAllBetDetailsResponse> |
百家乐的游戏结果例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
<?xml version="1.0" encoding="UTF-8"?> <GetAllBetDetailsResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <BetDetailList> <BetDetail> <BetTime>2021-03-19T16:11:47.191</BetTime> <PayoutTime>2021-03-19T16:12:28.877</PayoutTime> <Username>DemoUser001</Username> <Detail>EG-BACC-LOBBY</Detail> <GameID>1234567890123456</GameID> <BetID>1234567890</BetID> <BetAmount>123.45</BetAmount> <Rolling>123.45</Rolling> <Balance>434456.35</Balance> <ResultAmount>246.90</ResultAmount> <HostID>123</HostID> <Round>10</Round> <Set>34</Set> <GameType>bac</GameType> <BetType>123</BetType> <BetSource>2</BetSource> <TranactionID>2</TranactionID> <GameResult> <BaccaratResult> <PlayerCard1> <Suit>2</Suit> <Rank>11</Rank> </PlayerCard1> <PlayerCard2> <Suit>3</Suit> <Rank>1</Rank> </PlayerCard2> <PlayerCard3> <Suit>2</Suit> <Rank>12</Rank> </PlayerCard3> <BankerCard1> <Suit>4</Suit> <Rank>7</Rank> </BankerCard1> <BankerCard2> <Suit>2</Suit> <Rank>6</Rank> </BankerCard2> <BankerCard3> <Suit>3</Suit> <Rank>9</Rank> </BankerCard3> <ResultDetail> <BRTie>false</BRTie> <BRPlayerWin>false</BRPlayerWin> <BRBankerWin>true</BRBankerWin> <BRPlayerPair>false</BRPlayerPair> <BRBankerPair>false</BRBankerPair> <BRSLuckySix>false</BRSLuckySix> </ResultDetail> </BaccaratResult> </GameResult> </BetDetail> </BetDetailList> <ErrorMsgId>0</ErrorMsgId> <ErrorMsg>Success</ErrorMsg> </GetAllBetDetailsResponse> |
缤纷骰宝的游戏结果例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
<?xml version="1.0" encoding="UTF-8"?> <GetAllBetDetailsResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <BetDetailList> <BetDetail> <BetTime>2023-03-20T17:22:36</BetTime> <PayoutTime>2023-03-20T17:22:48.41</PayoutTime> <Username>DemoUser001</Username> <Detail>EG-COSB-LOBBY</Detail> <GameID>1234567890123456</GameID> <BetID>1234567890</BetID> <BetAmount>200</BetAmount> <Rolling>200</Rolling> <Balance>434456.35</Balance> <ResultAmount>246.90</ResultAmount> <HostID>2101</HostID> <Round>10</Round> <Set>34</Set> <GameType>table</GameType> <BetType>123</BetType> <BetSource>2</BetSource> <TranactionID>2</TranactionID> <GameResult> <ColorSicboResult> <Dice1>1</Dice1> <Dice2>4</Dice2> <Dice3>6</Dice3> </ColorSicboResult> </GameResult> </BetDetail> </BetDetailList> <ErrorMsgId>0</ErrorMsgId> <ErrorMsg>Success</ErrorMsg> </GetAllBetDetailsResponse> |
骰骰的游戏结果例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
<?xml version="1.0" encoding="UTF-8"?> <GetAllBetDetailsResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <BetDetailList> <BetDetail> <BetTime>2023-03-20T18:50:50.23</BetTime> <PayoutTime>2023-03-20T18:51:04.787</PayoutTime> <Username>DemoUser001</Username> <Detail>EG-SKSK-LOBBY</Detail> <GameID>1234567890123456</GameID> <BetID>1234567890</BetID> <BetAmount>123.45</BetAmount> <Rolling>123.45</Rolling> <Balance>434456.35</Balance> <ResultAmount>246.90</ResultAmount> <HostID>3001</HostID> <Round>10</Round> <Set>34</Set> <GameType>table</GameType> <BetType>123</BetType> <BetSource>2</BetSource> <TranactionID>2</TranactionID> <GameResult> <ShakeShakeResult> <Dice1>5</Dice1> <Dice2>6</Dice2> <TotalPoint>11</TotalPoint> <ResultDetail> <SSR_4_5_9_10>false</SSR_4_5_9_10> <SSR_6_7_8>false</SSR_6_7_8> <SSR_2_3_11_12>true</SSR_2_3_11_12> </ResultDetail> </ShakeShakeResult> </GameResult> </BetDetail> </BetDetailList> <ErrorMsgId>0</ErrorMsgId> <ErrorMsg>Success</ErrorMsg> </GetAllBetDetailsResponse> |
红白对弈的游戏结果例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
<?xml version="1.0" encoding="UTF-8"?> <GetAllBetDetailsResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <BetDetailList> <BetDetail> <BetTime>2023-04-18T11:13:41.297</BetTime> <PayoutTime>2023-04-18T11:14:04.323</PayoutTime> <Username>DemoUser001</Username> <HostID>4001</HostID> <GameID>2612027592704</GameID> <Round>1587</Round> <BetID>691439278</BetID> <BetAmount>5</BetAmount> <Rolling>5</Rolling> <ResultAmount>5</ResultAmount> <Balance>87743.8</Balance> <GameType>table</GameType> <BetType>2</BetType> <BetSource>600</BetSource> <Detail>EG-PUPU-LOBBY</Detail> <TransactionID>-1</TransactionID> <GameResult> <PulaPutiResult> <Ball1>1</Ball1> <Ball2>2</Ball2> <Ball3>2</Ball3> <ResultDetail> <PPRRedRed>false</PPRRedRed> <PPRRedRedRed>false</PPRRedRedRed> <PPRWhiteWhite>true</PPRWhiteWhite> <PPRWhiteWhiteWhite>false</PPRWhiteWhiteWhite> <PPRSpecial>false</PPRSpecial> <PPRSpecialRedWhite>false</PPRSpecialRedWhite> </ResultDetail> </PulaPutiResult> </GameResult> </BetDetail> </BetDetailList> <ErrorMsgId>0</ErrorMsgId> <ErrorMsg>Success</ErrorMsg> </GetAllBetDetailsResponse> |
5.3.2.GetAllBetDetailsForTimeInterval
此服务用于获取当前大厅任意日子24小時內的的下注信息。每5分钟可以调用10次,否则报错。
输入参数名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
method | 必须是 “GetAllBetDetailsForTimeInterval” | String (32) | Y |
Key | 密钥 | String (32) | Y |
Time | 当前时间格式“yyyyMMddHHmmss” | DateTime | Y |
Username | 用户名 (选填) | String (28) | N |
FromTime | 日期详细信息 "yyyy-MM-dd HH:mm:ss” | Date Time | Y |
ToTime | 日期详细信息 "yyyy-MM-dd HH:mm:ss” | Date Time | Y |
名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
BetDetailList | 投注信息详细 | XML | Y |
ErrorMsgId | 错误信息: 0: 成功 108: 用户名长度或格式错误 111: 查询时间范围超出限制 112: 近期已调用 116: 用户名不存在 142: 输入参数错误 | Byte | Y |
ErrorMsg | 错误信息详细 | String | Y |
投注信息详细和 GetAllBetDetails 相同。
5.3.3.GetUserBetAmount
此服务会从大厅取得所有在线游戏投注总额
输入参数名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
method | 必须是 “GetUserBetAmount” | String (32) | Y |
Key | 密钥 | String (32) | Y |
Time | 当前时间格式“yyyyMMddHHmmss” | DateTime | Y |
Username | 用户名 | String (28) | N |
StartDate | 起始时间 (默认当前日期) "yyyy-MM-dd HH:mm:ss" | DateTime | N |
TimeRange | 小时范围 0 到 23 (默认 0 = 24 小时) | Int | N |
名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
Username | 用户名 | String (28) | Y |
StakeAmount | 所有游戏投注总额 | Decimal | Y |
ErrorMsgId | 错误信息: 0: 成功 108: 用户名长度或格式错误 116: 用户名不存在 | Byte | Y |
ErrorMsg | 错误信息详细 | String | Y |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?xml version="1.0" encoding="utf-8"?> <GetUserBetAmountResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <BetAmountDetailList> <BetAmountDetails> <Username>user001</Username> <StakeAmount>1105.45</StakeAmount> </BetAmountDetails> </BetAmountDetailList> <ErrorMsgId>0</ErrorMsgId> <ErrorMsg>Success</ErrorMsg> </GetUserBetAmountResponse> |
5.3.4.GetUserWinLost
此 API 用来得到一个会员在某最長31天內的输赢金额
输入参数名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
method | 必须是 “GetUserWinLost” | String (32) | Y |
Key | 密钥 | String (32) | Y |
Time | 当前时间格式“yyyyMMddHHmmss” | DateTime | Y |
Username | 用户名 | String (28) | Y |
FromTime | 开始日期时间: "yyyy-MM-dd HH:mm:ss" | DateTime | Y |
ToTime | 完结日期时间: "yyyy-MM-dd HH:mm:ss" | DateTime | Y |
Type | 查询类别 0 - 所有 1 - 赢的 2 - 输的 | Int | N |
名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
Username | 用户名 | String (28) | Y |
Winlost | 输赢金额 | Decimal | Y |
ErrorMsgId | 错误信息: 0: 成功 106: 伺服器未准备, 稍后尝试 108: 用户名长度或格式错误 111: 查询时间超过限制 116: 用户名不存在 144: 查询类别错误 | Byte | Y |
ErrorMsg | 错误信息详细 | String | Y |
5.3.5.GetTransactionDetails
该网络服务API用以获取大厅在一个时间区间内的交易细节记录, 允许最长时间间隔是31天。你可以填入用户名称,查询个别会员的交易资料。
输入参数名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
method | 必须是“GetTransactionDetails” | String (32) | Y |
Key | 密钥 | String (32) | Y |
Time | 当前时间格式“yyyyMMddHHmmss” | DateTime | Y |
Username | 用户名 (选填) | String (28) | N |
FromTime | 起始日期时间: "yyyy-MM-dd HH:mm:ss" | DateTime | Y |
ToTime | 完结日期时间: "yyyy-MM-dd HH:mm:ss" | DateTime | Y |
名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
Count | 交易次数 | Int | Y |
Winlose | 输赢结果 | Decimal | Y |
TotalBet | 总投注额 | Decimal | Y |
ErrorMsgId | 错误信息: 0: 成功 106: 伺服器未准备, 稍后尝试 111: 查询时间超过限制 116: 用户名不存在 | Byte | Y |
ErrorMsg | 错误信息详细 | String | Y |
5.3.6.GetSlotDetailsURL
该网络服务API用以获取一局老虎机游戏的详细资料 URL。 (仅接受BetID或GameID一个参数)
输入参数:名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
method | 必须是“GetSlotDetailsURL” | String (32) | Y |
Key | 密钥 | String (32) | Y |
Time | 当前时间格式“yyyyMMddHHmmss” | DateTime | Y |
BetID | 老虎机游戏的投注编号 | String (20) | N |
GameID | 老虎机游戏的游戏编号 | String (20) | N |
Lang | 语言。请参考下面列表。 | String | N |
值 | 描述 |
---|---|
zh_TW | 繁体中文 |
zh_CN | 简体中文 |
en_US | 英文 |
th | 泰文 |
vn | 越南文 |
jp | 日文 |
id | 印尼文 |
it | 意大利文 |
ms | 马来文 |
es | 西班牙文 |
名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
URL | 详细资料 URL | String | Y |
ErrorMsgId | 错误信息 0: 成功 153: 投注编号不存在 | Byte | Y |
ErrorMsg | 错误信息详细 | String | Y |
5.3.7.GetFishermenGoldBetDetails
该网络服务API用以获取一局捕鱼游戏内的详细投注内容
输入参数名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
method | 必须是“GetFishermenGoldBetDetails” | String (32) | Y |
Key | 密钥 | String (32) | Y |
Time | 当前时间格式“yyyyMMddHHmmss” | DateTime | Y |
GameId | 捕鱼游戏的游戏编号 | String | Y |
Page | 提取的页面编号 (从 0 开始) | Int | Y |
名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
BetAmount | 总投注金币 | Int64 | Y |
WinAmount | 总赢得金币 | Int64 | Y |
Currency | 币种, 详情请参阅货币类型 | String (16) | Y |
ExchangeRate | 金币兑货币汇率 | Int | Y |
Count | 总发射子弹数量 | Int | Y |
ItemCount | 本次查询得到的资料数量 | Int | Y |
Limit | 每页资料数量 | Int | Y |
BulletDetailsList | 子弹的详细资料结构 | XML | Y |
ErrorMsgId | 错误信息: 0: 成功 106: 伺服器未准备, 稍后尝试 152: 游戏编号不存在 | Byte | Y |
ErrorMsg | 错误信息详细 | String | Y |
名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
Denom | 面额 | Int | Y |
ID | 子弹编号 | Int64 | Y |
Multiplier | 加乘 | Int | Y |
Cost | 子单金币成本 | Int | Y |
Reward | 子单金币收入 | Int | Y |
Species | 捕获鱼的编号 | Int | Y |
FreeBulletTotal | 总免费子弹数量 | Int | Y |
FreeBulletRemain | 剩馀免费子弹数量 | Int | Y |
FreeBulletReward | 此次得到免费子弹数量 | Int | Y |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<?xml version="1.0" encoding="utf-8"?> <GetFishermenGoldBetDetailsResponse> xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <BetAmount>2700</BetAmount> <WinAmount>500</WinAmount> <Currency>EUR</Currency> <ExchangeRate>1000</ExchangeRate> <Count>35</Count> <ItemCount>20</ItemCount> <Limit>20</Limit> <BulletDetailsList> <BulletDetails> <Denom>50</Denom> <ID>00000000010537</ID> <Multiplier>2</Multiplier> <Cost>100</Cost> <Reward>0</Reward> <Species>10</Species> <FreeBulletTotal>0</FreeBulletTotal> <FreeBulletRemain>0</FreeBulletRemain> <FreeBulletReward>0</FreeBulletReward> </BulletDetails> ............ ............ ............ </BulletDetailsList> <ErrorMsgId>0</ErrorMsgId> <ErrorMsg>Success</ErrorMsg> </GetFishermenGoldBetDetailsResponse> |
5.3.8.GetFishingGameDetails
此服务将获取一个捕鱼游戏的投注详细信息。
输入参数名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
method | 必须是"GetFishingGameDetails" | String (32) | Y |
Key | 密钥 | String (32) | Y |
Time | 当前时间格式“yyyyMMddHHmmss” | DateTime | Y |
GameId | 捕鱼游戏的游戏编号 | String (32) | Y |
Page | 提取的页面编号 (从 0 开始) | Int | Y |
名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
GameName | 游戏名稱 | String (32) | Y |
BetAmount | 总投注 | Decimal | Y |
WinAmount | 总赢得 | Decimal | Y |
Currency | 币种, 详情请参阅货币类型 | String (16) | Y |
ExchangeRate | 金币兑货币汇率 | Int | Y |
Count | 总发射子弹数量 | Int | Y |
ItemCount | 本次查询得到的资料数量 | Int | Y |
Limit | 每页资料数量 | Int | Y |
BulletDetailsList | 子弹的详细资料结构 | XML | Y |
ErrorMsgId | 错误信息: 0: 成功 102: 密钥错误 106: 伺服器未准备, 稍后尝试 152: 游戏编号不存在 | Byte | Y |
ErrorMsg | 错误信息详细 | String | Y |
名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
Denom | 面额 | Decimal | Y |
ID | 子弹编号 | Int64 | Y |
Multiplier | 加乘 | Int | Y |
Cost | 子单成本 | Decimal | Y |
Reward | 子单收入 | Decimal | Y |
Species | 捕获鱼的编号 | Int | Y |
FreeBulletTotal | 总免费子弹数量 | Int | Y |
FreeBulletRemain | 剩馀免费子弹数量 | Int | Y |
CreatedAt | 时间格式“yyyyMMddHHmmss” | DateTime | Y |
FreeBulletMultiplier | 免费子弹加乘 | Int | Y |
FreeBulletReward | 此次得到免费子弹数量 | Int | Y |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
<?xml version="1.0" encoding="utf-8"?> <GetFishingGameDetailsResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ErrorMsgId>0</ErrorMsgId> <ErrorMsg>Success</ErrorMsg> <BetAmount>4697</BetAmount> <WinAmount>6985.5</WinAmount> <Currency>THB</Currency> <ExchangeRate>1</ExchangeRate> <Count>240</Count> <ItemCount>20</ItemCount> <GameName>Lustrous Ocean</GameName> <Limit>20</Limit> <BulletDetailsList> <BulletDetails> <Denom>0.5</Denom> <ID>87031139</ID> <Multiplier>2</Multiplier> <Cost>1</Cost> <Reward>2.5</Reward> <Species>29</Species> <FreeBulletTotal>0</FreeBulletTotal> <FreeBulletRemain>0</FreeBulletRemain> <CreatedAt>2021-08-11 17:09:29</CreatedAt> <FreeBulletReward>0</FreeBulletReward> <FreeBulletMultiplier>0</FreeBulletMultiplier> </BulletDetails> ............ ............ ............ </BulletDetailsList> </GetFishingGameDetailsResponse> |
5.3.9.GetFishingDetailsURL
该网络服务API用以获取一局捕魚游戏的详细资料 URL。
名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
method | 必须是 “GetFishingDetailsURL” | String (32) | Y |
Key | 密钥 | String (32) | Y |
Time | 当前时间格式 “yyyyMMddHHmmss” | DateTime | Y |
BetID | 捕魚游戏的投注编号 | String (20) | Y |
Lang | 语言。请参考下面列表。 | String | N |
值 | 描述 |
---|---|
zh_TW | 繁体中文 |
zh_CN | 简体中文 |
en_US | 英文 |
th | 泰文 |
vn | 越南文 |
jp | 日文 |
id | 印尼文 |
it | 意大利文 |
ms | 马来文 |
es | 西班牙文 |
名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
URL | 详细资料 URL | String | Y |
ErrorMsgId | 错误信息 0: 成功 153: 投注编号不存在 | Byte | Y |
ErrorMsg | 错误信息详细 | String | Y |
5.3.10.GetActiveGameList
查询已开放的游戏清单。
输入参数:名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
method | 必须是“GetActiveGameList” | String (32) | Y |
Time | 当前时间格式 “yyyyMMddHHmmss” | DateTime | Y |
Key | 密钥 | String (32) | Y |
Lang | 语言 (默认: en_US = 英文) * GameName 及 GameLogo 的值会根据此语言参数决定。 | String | N |
编号 | 描述 |
---|---|
zh_TW | 繁体中文 |
zh_CN | 简体中文 |
en_US | 英文 |
名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
GameList | 游戏清单 | XML | Y |
ErrorMsgId | 错误信息: 0: 成功 | Byte | Y |
ErrorMsg | 错误信息详细 | String | Y |
名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
GameCode | 游戏编号 | String | Y |
GameName | 游戏名称 | String | Y |
GameType | 游戏类型 slot - 老虎机游戏 table - 桌上游戏 multiplayer - 捕鱼游戏 | String | Y |
GameLogo | 游戏标志路径 | String | Y |
Enabled | true – 营运商已在后台启用 false – 营运商已在后台停用 | Bool | Y |
名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
original | 原來的游戏标志URL | String | Y |
游戏清单结构例子:
1 2 3 4 5 6 7 8 9 10 11 |
<GameList> <Game> <GameCode>EG-FISHING-001</GameCode> <GameName>Fishermen Gold</GameName> <GameType>multiplayer</GameType> <GameLogo> </GameLogo> <Enabled>true</Enabled> </Game> </GameList> |
5.4.其他功能
5.4.1.JackpotQuery
此 API 回传老虎机各项大奖的金额。此 API 每隔一分穜调用不能超过一次。
输入参数名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
method | 必须是 “JackpotQuery” | String (32) | Y |
Key | 密钥 | String (32) | Y |
Time | 当前时间格式 “yyyyMMddHHmmss” | DateTime | Y |
Currency | 币种,详情请参阅货币类型 | String (16) | Y |
名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
Major | 大奖累积金额 (单位为 仙) | Int64 | Y |
Minor | 二奖累积金额 (单位为 仙) | Int64 | Y |
Mini | 三奖累积金额 (单位为 仙) | Int64 | Y |
ErrorMsgId | 错误信息: 0: 成功 104: 服务不可用 | Byte | Y |
ErrorMsg | 错误信息详细 | String | Y |
5.5.转帐钱包
转帐钱包 API 包括转入,转出和订单状态检查功能。
在这些转帐功能中,每个功能中都有一个 OrderID。如果由于网络问题而转帐失败而不成功,请确保使用相同的 OrderID 启动另一次尝试。我们保证相同的 OrderID 将不会被处理两次。对同一转帐使用新的 OrderID 可能会导致重复转帐。即使您已使用 CheckOrderID 检查了 OrderID 不存在,您仍应使用相同的 OrderID。
5.5.1.DebitBalance
从用户账户转出点数。
输入参数名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
method | 必须是 “DebitBalance” | String (32) | Y |
Key | 密钥 | String (32) | Y |
Time | 当前时间格式 “yyyyMMddHHmmss” | DateTime | Y |
Username | 用户名 | String (28) | Y |
OrderId | 订单ID: OUT+yyyyMMddHHmmss+Username 例如: “OUT20131129130345peter1235” | String (64) | Y |
DebitAmount | 借记账户额,精确到分 | Decimal | Y |
名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
Username | 用户名 | String (28) | Y |
Balance | 用户余额,不包括因未完成的老虎机或捕鱼游戏而被扣起的金额 | Decimal | Y |
BetAmount | 因未完成的老虎机游戏和桌上游戏而被扣起的总金额 | Decimal | Y |
WithholdAmount | 因未完成的捕鱼游戏而被扣起的总金额 | Decimal | Y |
DebitAmount | 借记账户额, 精确到分 | Decimal | Y |
OrderId | 订单 ID | String (64) | Y |
ErrorMsgId | 错误信息: 0: 成功 106: 伺服器未准备, 稍后尝试 108: 用户名长度或格式错误 116: 用户不存在 120: 数值必须大于0 121: 信用点或借记点不足 122: 订单ID已经存在 124: 数据库错误 127: 不正确订单格式 142: 输入参数错误 145: 输入浮点数超过2位数错误 | Byte | Y |
ErrorMsg | 错误信息详细 | String | Y |
5.5.2.DebitAllBalance
由用户账户转出全部金额。
输入参数名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
method | 必须是 “DebitAllBalance” | String (32) | Y |
Key | 密钥 | String (32) | Y |
Time | 当前时间格式“yyyyMMddHHmmss” | DateTime | Y |
Username | 用户名 | String (28) | Y |
OrderId | 订单ID:OUT+yyyyMMddHHmmss+Username 例如:“OUT20131129130345peter1235” | String (64) | Y |
名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
Username | 用户名 | String (28) | Y |
Balance | 用户余额,不包括因未完成的老虎机或捕鱼游戏而被扣起的金额 | Decimal | Y |
BetAmount | 因未完成的老虎机游戏和桌上游戏而被扣起的总金额 | Decimal | Y |
WithholdAmount | 因未完成的捕鱼游戏而被扣起的总金额 | Decimal | Y |
DebitAmount | 借记额. 精确到分 | Decimal | Y |
OrderId | 订单 ID | String (64) | Y |
ErrorMsgId | 错误信息: 0: 成功 106: 伺服器未准备, 稍后尝试 108: 用户名长度或格式错误 116: 用户不存在 122: 订单ID已经存在 124: 数据库错误 127: 不正确订单格式 | Byte | Y |
ErrorMsg | 错误信息详细 | String | Y |
5.5.3.CreditBalance
向用户账户充入点数.
输入参数名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
method | 必须是 “CreditBalance” | String (32) | Y |
Key | 密钥 | String (32) | Y |
Time | 当前时间格式“yyyyMMddHHmmss” | DateTime | Y |
Username | 用户名 | String (28) | Y |
OrderId | 订单 ID: IN+yyyyMMddHHmmss+Username 例如: “IN20131129130345peter1235” | String (64) | Y |
CreditAmount | 信用额. 精确到分 | Decimal | Y |
名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
Username | 用户名 | String (28) | Y |
Balance | 用户余额,不包括因未完成的老虎机或捕鱼游戏而被扣起的金额 | Decimal | Y |
BetAmount | 因未完成的老虎机游戏和桌上游戏而被扣起的总金额 | Decimal | Y |
WithholdAmount | 因未完成的捕鱼游戏而被扣起的总金额 | Decimal | Y |
CreditAmount | 信用额. 精确到分 | Decimal | Y |
OrderId | 订单 ID | String (64) | Y |
ErrorMsgId | 错误信息: 0: 成功 106: 伺服器未准备, 稍后尝试 108: 用户名长度或格式错误 116: 用户不存在 120: 数值必须大于0 121: 信用点或借记点不足 122: 订单ID已经存在 124: 数据库错误 127: 不正确订单格式 142: 输入参数错误 145: 输入浮点数超过2位数错误 | Byte | Y |
ErrorMsg | 错误信息详细 | String | Y |
5.5.4.CheckOrderId
检查在DebitBalance/DebitAllBalance/CreditBalance 中的 OrderId 状态。
输入参数名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
method | 必须是 “CheckOrderId” | String (32) | Y |
Key | 密钥 | String (32) | Y |
Time | 当前时间格式 “yyyyMMddHHmmss” | DateTime | Y |
OrderId | 在以下API 中使用的 OrderId
| String (64) | Y |
名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
isExist | OrderId 是否已经存在
如果为 true,则返回 Date、Type、Currency、Amount、Previous_Balance 和 Balance 参数 | bool | Y |
ErrorMsgId | 错误信息: 0: 成功 106: 伺服器未准备, 稍后尝试 124: 数据库错误 127: 不正确订单格式 | Byte | Y |
ErrorMsg | 错误信息详细 | String | Y |
Date | 交易时间 | DateTime | N |
Type | 0 - 存款 1 - 提款 | Byte | N |
Currency | 币种,详情请参阅货币类型 | String (16) | N |
Amount | 转账金额(提款或存款). 精确到分 | Decimal | N |
Previous_Balance | 转账前的余额. 精确到分 | Decimal | N |
Balance | 转账后的余额. 精确到分 | Decimal | N |
6.单一钱包
6.1.前言
本部分是要提供第三方系统接入单一钱包的技术资料。
注意: 使用单一钱包后,请勿再使用以下接口改变会员的帐户馀额:CreditBalance,DebitBalance及DebitAllBalance
6.2.流程
第三方系统需要提供以下两种调用接口:
- GetUserBalance取得会员帐户馀额
- Fund Transfer帐户点数出入转移
GetUserBalance 接口用来取得会员在第三方系统内的结馀点数。 SimplePlay平台会在会员登入及有需要时提出请求。
帐户点数出入转移接口有以下四个:
- PlaceBet
- 当会员在SimplePlay平台上进行下注时,这个接口就会调用。第三方系统必須在3秒內回覆此請求,否則 SimplePlay 會視此筆請求失效,系统将会取消该投注并调用PlaceBetCancel让第三系统取消交易。
- PlayerWin
- 如果投注在同一局内的不同的投注结算加总后有赢额,就会调用PlaceWin及付上回存到第三方系统的点数。
- PlayerLost
- 如果投注在同一局内的不同的投注结算加总后没有赢额,就会调用PlayerLost。
- PlaceBetCancel
- 如果在调用PlaceBet后,因为逾时或没有回应,则此项投注就会取消,同时会调用PlaceBetCancel来告知第三方系统在有需要的下把点数返还给会员。
当PlayerWin,PlayerLost或PlaceBetCancel请求逾时或第三方系统返回错误消息,SimplePlay会不断重发请求至第三方系统直至收到正常回覆。如超过2小时, SimplePlay 会视之为失败并把它标示为失败请求。
一般情況:
- 收到GetUserBalance请求,无需调整会员余额,返回error=0及会员最新余额
- 收到PlaceBet请求,把金额从会员帐户扣除, 返回error=0及会员最新余额
- 收到PlayerWin请求,把金额增加给会员, 返回error=0及会员最新余额
- 收到PlayerLost请求,无需调整会员余额, 返回error=0及会员最新余额
- 收到PlaceBetCancel请求,把對應的PlaceBet请求的下注金额退回给会员, 返回error=0及会员最新余额
特殊情況:
- 收到PlaceBetCancel请求后, 找不到相应的PlaceBet请求。无需调整会员余额,返回error=0及会员最新余额。
>关于延迟收到的PlaceBet请求,建议建立检查程序去处理,建议把PlaceBetCancel请求里的”txn_reverse_id“储存
>如果贵司系统处理PlaceBetCancel请求后才收到对应的PlaceBet请求,贵司系统有可能会出现一些错误处理的注单状态。为了解决此特殊情况,建议贵司系统可以建立一个每15分钟运行一次的定时检查工作。- 检查所有待定/未完成的PlaceBetCancel请求,以其txn_reverse_id去比对过去15分钟所有PlaceBet请求的txnid。
- 承上,如果找到对应PlaceBet请求,把下注金额退还给玩家,然后完成这两笔PlaceBet和PlaceBetCancel请求。
- 承上,如果未能找到相关的PlaceBet请求,该笔PlaceBetCancel可视为完成状态
注: 定时检查的建议间距是15分钟,贵司可因应系统需求更改此间距。
- 收到重复的PlayerWin, PlayerLost或PlaceBetCancel请求,无需调整会员余额,返回error=0及会员最新余额
**以上每个接口调用时,也会付有一个独一的交易编号,第三方系统必须保证每个交易编号的请求只会被处理一次,重复的请求不能再被处理而直接回覆 SimplePlay 平台成功处理状态(error=0)。
第三方系统需提供五个独立的接口(例如: .aspx, .php, etc.)以供 SimplePlay 平台调用:
例如使用ASP.Net:
- /GetUserBalance.aspx
- /PlaceBet.aspx
- /PlayerWin.aspx
- /PlayerLost.aspx
- /PlaceBetCancel.aspx
**第三方系统只能使用一种档尾类型,不能存在不同档尾进行调用。
6.3.单一钱包协定
SimplePlay平台使用HTTP POST协定与第三方系统进行沟通。所有参数将会加密并以纯文本送出。
下面是一个加密前的参数范例,这个字串将使用下方的加密方式,放在POST的内容发到SimplePlay平台。
1 |
username=sptest¤cy=EUR |
6.3.1.加密流程
我们使用DES CBC加密方案。下方展示出PHP及ASP.Net的加密及解密代码。
ASP.Net版本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
protected byte[] EncryptKey = ASCIIEncoding.ASCII.GetBytes("ask_us_for_key"); public string DESEncrypt(string inString) { MemoryStream ms = new MemoryStream(); CryptoStream cs = new CryptoStream(ms, new DESCryptoServiceProvider().CreateEncryptor(EncryptKey, EncryptKey), CryptoStreamMode.Write); StreamWriter sw = new StreamWriter(cs); sw.Write(inString); sw.Flush(); cs.FlushFinalBlock(); sw.Flush(); return Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length); } public string DESDecrypt(string inString) { try { return new StreamReader(new CryptoStream(new MemoryStream( Convert.FromBase64String(inString)), new DESCryptoServiceProvider().CreateDecryptor(EncryptKey, EncryptKey), CryptoStreamMode.Read)).ReadToEnd(); } catch { } return ""; } |
PHP版本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<?php class DES { var $key; var $iv; function __construct( $key, $iv=0 ) { $this->key = $key; if( $iv == 0 ) { $this->iv = $key; } else { $this->iv = $iv; } } function encrypt($str) { return base64_encode( openssl_encrypt($str, 'DES-CBC', $this->key, OPENSSL_RAW_DATA, $this->iv ) ); } function decrypt($str) { $str = openssl_decrypt(base64_decode($str), 'DES-CBC', $this->key, OPENSSL_RAW_DATA | OPENSSL_NO_PADDING, $this->iv); return rtrim($str, "x01..x1F"); } function pkcs5Pad($text, $blocksize) { $pad = $blocksize - (strlen ( $text ) % $blocksize); return $text . str_repeat ( chr ( $pad ), $pad ); } } ?> |
6.3.2.POST
字串加密后,再把字串进行 urlencode,再以纯文本放到POST的内容再发送。
1 2 3 4 |
POST / HTTP/1.0 Content-Type: text/plain MDQGx7yYdmYWDLAZYqQjJUDExdFvMIb%2fonakZJuIlWg%3d |
第三方系统需要以提供的解密钥匙把字串进行 urldecode 再解密还完为参数字串以作处理。
6.3.3.反回讯息
第三方系统需要以XML格式,返回讯息给我们。
1 2 3 4 5 6 7 |
<?xml version="1.0" encoding="utf-8"?> <RequestResponse> <username>sptest</username> <currency>EUR</currency> <amount >1532.36</amount > <error>0</error> </RequestResponse> |
6.4.GetUserBalance
我们会发送此要求来获得一个会员的结余。
输入参数名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
username | 用户名 | String (28) | Y |
currency | 标准ISO 3字元货币单位例如: USD/EUR 例外: mXBT | String (16) | Y |
例子:
1 |
username=sptest¤cy=EUR |
名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
username | 用户名 | String (28) | Y |
currency | 标准ISO 3字元货币单位例如: USD/EUR 例外: mXBT | String (16) | Y |
amount | Decimal浮点数格式。最多2位浮点数 | Decimal | Y |
error | 错误代码 | Int | Y |
6.5.帐户点数出入转移
SimplePlay 游戏平台向合作伙伴系统提出不同的帐户点数转移请求,以修改玩家的点数余额,当玩家投注時提取点数,当玩家获得胜利存入点数。
6.5.1.PlaceBet
当会员在一个游戏内进行投注, SimplePlay 平台会发送这个请求到第三方系统。这个请求必须在3秒内回覆,否则我方判定为逾时而取消该项投注,同时也会发送 PlaceBetCancel 到第三方系统,以便第三方系统进行点数回复处理。
名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
username | 用户名 | String (28) | Y |
currency | 标准ISO 3字元货币单位例如: USD/EUR 例外: mXBT | String (16) | Y |
amount | 投注金额。最多2位浮点数 | Decimal | Y |
txnid | 独一的点数转移编号 | String (16) | Y |
timestamp | 时间标记 yyyy-MM-dd HH:mm:ss.fff (時區 GMT +8) 例如: 2020-03-25 12:34:56.123 | DateTime | Y |
ip | 用户的IP | String | Y |
gametype | 游戏类型 slot - 老虎机游戏 table - 桌上游戏 multiplayer - 捕鱼游戏 | String | Y |
hostid | 桌台编号,详细请参阅第11节 | Int | Y |
platform | 0 - 桌面版 1 - 手机版 | Byte | Y |
gamecode | gamecode代表进行中的游戏代码 | String | Y |
gameid | 游戏局号 | String | Y |
JackpotContribution | 累积大奖供款。最多9位浮点数 | Decimal | N |
betdetails | 投注详细信息数组 类型 - 投注类型 金额 - 投注金额 | JSON | N |
名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
username | 用户名 | String (28) | Y |
currency | 标准ISO 3字元货币单位例如: USD/EUR 例外: mXBT | String (16) | Y |
amount | 会员在投注后的结余。最多2位浮点数 | Decimal | Y |
error | 错误代码 | Int | Y |
6.5.2.PlayerWin
当会员有投注过的一局游戏完结及派彩,而会员有净赢额,PlayerWin就会发到第三方系统。第三方系统需要修改会员帐户结余。此请求会不停发出,直到被处理及正确回覆为止。
输入参数名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
username | 用户名 | String (28) | Y |
currency | 标准ISO 3字元货币单位例如: USD/EUR 例外: mXBT | String (16) | Y |
amount | 需要返回给会员的赢额。最多2位浮点数 | Decimal | Y |
txnid | 独一的点数转移编号 | String (16) | Y |
timestamp | 时间标记 yyyy-MM-dd HH:mm:ss.fff (時區 GMT +8) 例如: 2020-03-25 12:34:56.123 | DateTime | Y |
gametype | 游戏类型 slot - 老虎机游戏 table - 桌上游戏 multiplayer - 捕鱼游戏 | String | Y |
hostid | 桌台编号,详细请参阅第11节 | Int | Y |
gamecode | gamecode代表进行中的游戏代码 | String | N |
Payouttime | 派彩时间 | DateTime | Y |
gameid | 游戏局号 | String | Y |
JackpotWin | 累积大奖结果: true-嬴取累积大奖 false-没有嬴取累积大奖 | Boolean | N |
JackpotType | 如果 JackpotWin = true,JackpotType 中的可能值为: “Major”, “Minor”, “Mini” 如果 JackpotWin = false,则 JackpotType 中将没有值 | String | N |
名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
username | 用户名 | String (28) | Y |
currency | 标准ISO 3字元货币单位例如: USD/EUR 例外: mXBT | String (16) | Y |
amount | 会员在投注后的结余。最多2位浮点数 | Decimal | Y |
error | 错误代码 | Int | Y |
6.5.3.PlayerLost
当会员有投注过的一局游戏完结及派彩,而会员没有赢额,PlayerLost就会发到第三方系统。第三方系统原则上不需要修改会员帐户结余。此请求会不停发出,直到被处理及正确回覆为止。
输入参数名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
username | 用户名 | String (28) | Y |
currency | 标准ISO 3字元货币单位例如: USD/EUR 例外: mXBT | String (3) | Y |
txnid | 独一的点数转移编号 | String (16) | Y |
timestamp | 时间标记 yyyy-MM-dd HH:mm:ss.fff (時區 GMT +8) 例如: 2020-03-25 12:34:56.123 | DateTime | Y |
gametype | 游戏类型 slot - 老虎机游戏 table - 桌上游戏 multiplayer - 捕鱼游戏 | String | Y |
hostid | 桌台编号,详细请参阅第11节 | Int | Y |
gamecode | gamecode代表进行中的游戏代码 | String | Y |
Payouttime | 派彩时间 | DateTime | Y |
gameid | 游戏局号 | String | Y |
名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
username | 用户名 | String (28) | Y |
currency | 标准ISO 3字元货币单位例如: USD/EUR 例外: mXBT | String (16) | Y |
amount | 会员在投注后的结余。最多2位浮点数 | Decimal | Y |
error | 错误代码 | Int | Y |
6.5.4.PlaceBetCancel
当发出了的PlaceBet请求逾时或者第三方系统返回错误讯息,我方就会发出PlaceBetCancel请求。 SimplePlay 平台会视此次投注失败及通知在线会员相关讯息。第三方系统必须回应此请求及只处理一次。如果收到此请求时,没有需要返回点数给会员,即之前没有成功处理PlaceBet,即管如此,第三方平台也必须回覆一个没有错误的返回参数,否则我方平台会不停请求,直到成功为止。
输入参数名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
username | 用户名 | String (28) | Y |
currency | 标准ISO 3字元货币单位例如: USD/EUR 例外: mXBT | String (16) | Y |
amount | 需要返回给会员的赢额。最多2位浮点数 | Decimal | Y |
txnid | 独一的点数转移编号 | String (16) | Y |
timestamp | 时间标记 yyyy-MM-dd HH:mm:ss.fff (時區 GMT +8) 例如: 2020-03-25 12:34:56.123 | DateTime | Y |
gametype | 游戏类型 slot - 老虎机游戏 table - 桌上游戏 multiplayer - 捕鱼游戏 | String | Y |
hostid | 桌台编号,详细请参阅第11节 | Int | Y |
gamecode | gamecode代表进行中的游戏代码 | String | Y |
gameid | 游戏局号 | String | Y |
txn_reverse_id | 这个编号是对应之前PlaceBet请求时的 txnid。第三方系统需要检查这个txn_reverse_id是否有处理过,而正确地返回点数给会员。 | String (16) | Y |
名称 | 描述 | 类型和长度限制 | 必填? |
---|---|---|---|
username | 用户名 | String (28) | Y |
currency | 标准ISO 3字元货币单位例如: USD/EUR 例外: mXBT | String (16) | Y |
amount | 会员在投注后的结余。最多2位浮点数 | Decimal | Y |
error | 错误代码 | Int | Y |
6.6.特别注意事项
第三方必须理解以下情况,而对PlayerWin/PlayerLost 作出适当的处理。
老虎机游戏
PlaceBet 及 PlayerWin/PlayerLost以一对的方式出现。
桌上游戏
在同一局游戏内, 不论玩家投多少注, 都只会有一条PlayerWin/PlayerLost。
捕鱼游戏
会员在一局鱼乐无穷中得到了免费子弹,在没有完全使用下退出游戏,当他再进入鱼乐无穷,如果未有转换金币而发射了免费子弹,就这样退出游戏,我方会发出 PlayerWin 或 PlayerLost。这样就会发生,在没有 PlaceBet 情况下,收到 PlayerWin 或 PlayerLost 的情况。如果第三方有核对 PlayerWin/PlayerLost 的 GameID 能否配上 PlaceBet 才处理的话,就可能导致 PlayerWin/PlayerLost 失败,会员金额无法归还。
6.7.错误代码
第三方系统需要以下方的代码返回错误讯息给我们:
ID | 描述 |
---|---|
0 | 成功 |
1000 | 会员帐号不存在 |
1001 | 货币代码不正确 |
1002 | 金额不正确 |
1003 | 会员帐号已被锁 |
1004 | 不足够点数 |
1005 | 一般错误 |
1006 | 解密错误 |
1007 | 登入时段过期,需要重新登入 |
9999 | 系统错误 |
7.错误讯息代码
常见错误消息代码
ID | 描述 |
---|---|
100 | 用户名错误 |
101 | 账户锁定 |
102 | 密钥错误 |
104 | 服务器不可用 |
105 | 客户端错误 |
106 | 服务器忙碌中, 请稍后再次尝试 |
107 | 用户名为空 |
108 | 用户名 长度/格式错误 |
110 | 用户离线 |
111 | 查询时间超过限制 |
112 | API 近期已调用 |
113 | 用户名已存在 |
114 | 币种不存在 |
116 | 用户名不存在 |
120 | 账户额必须大于 0 |
121 | 没有足够的信用或借记点及下注 |
122 | 订单ID已经存在 |
125 | 踢出用户失败 |
127 | 订单ID格式错误 |
128 | 解密错误 |
129 | 系统正在维护 |
130 | 用户账户锁定(无效) |
132 | 核对不正确 |
133 | 建立帐户失败 |
134 | 游戏代码不存在 |
135 | 游戏没有开放 |
136 | 没有足够额度投注 |
142 | 输入参数错误 |
144 | 查询类别错误 |
145 | 输入浮点数超过2位数错误 |
146 | API 调用被禁止 |
148 | 最大馀额不等於 0 或少於帐户结馀 |
149 | 输入数值低於下限 |
150 | 功能已被废弃 |
151 | 重复登录 |
152 | 鱼乐无穷游戏ID不存在 |
153 | 投注编号不存在 |
8.登录流程
8.1.游戏大厅
使用从LoginRequest或LoginRequestForFun返回的GameURL启动游戏大厅 。以下是使用的所有参数。您可以自由添加额外的参数来满足您的需求。
参数 | 描述 | 类型 | 预置? |
---|---|---|---|
token | 登录令牌 | String | Y |
name | 回传的 DisplayName 或其他需要的名称 | String | Y |
mobile | 移动设备模式 | Bool (true/false) | Y |
lobbycode | 我们提供给你的 lobbycode. 用来显示贵司标志。 | String | Y |
returnurl | 当客户端终止时,页面可以回到指定的URL (选填) | String | N |
webview | 在运营商的原生应用程序Webview中启动SimplePlay游戏时使用 | Bool (1/0) | N |
8.2.老虎机
使用从LoginRequest或LoginRequestForFun返回的GameURL直接启动老虎机游戏。以下是使用的所有参数。您可以自由添加额外的参数来满足您的需求。
参数 | 描述 | 类型 | 预置? |
---|---|---|---|
token | 登录令牌 | String | Y |
name | 回传的 DisplayName 或其他需要的名称 | String | Y |
mobile | 移动设备模式 | Bool (true/false) | Y |
lobbycode | 我们提供给你的 lobbycode. 用来显示贵司标志。 | String | Y |
returnurl | 当客户端终止时,页面可以回到指定的URL (选填,仅适用于移动设备) | String | N |
webview | 在运营商的原生应用程序Webview中启动SimplePlay游戏时使用 | Bool (1/0) | N |
skipintro | 略过老虎机开始视频 (选填) 1 - 略过 | Bool (1/0) | N |
8.3.桌上游戏
使用从LoginRequest或LoginRequestForFun返回的GameURL直接启动桌上游戏。以下是使用的所有参数。
Parameter | Description | Type | Preset? |
---|---|---|---|
token | 登录令牌 | String | Y |
lobbycode | 我们提供给你的 lobbycode. 用来显示贵司标志。 | String | Y |
returnurl | 当客户端终止时,页面可以回到指定的URL (选填) | String | N |
8.4.捕鱼游戏
返回的GameURL已构建为直接使用,但是,您可以追加与老虎机相同的returnurl = https://www.yourdomain.com/somewhere。此外,您可以通过添加un = your_username来控制捕鱼游戏客户端中显示的用户名,它将覆盖我们系统中的实际用户名。
参数 | 描述 | 类型 |
---|---|---|
returnurl | 当客户端终止时,页面可以回到指定的URL (选填,仅适用于移动设备) | String |
un | 取代系统原来的用户名称 (选填) | String |
9.游戏代码对应表
游戏 | 游戏代码 | 游戏名稱 |
---|---|---|
老虎机游戏 | 有关详细信息,请参阅此此页。 | - |
桌上游戏 | EG-BACC-LOBBY | 百家乐 |
桌上游戏 | EG-COSB-LOBBY | 缤纷骰宝 |
桌上游戏 | EG-SKSK-LOBBY | 骰骰 |
桌上游戏 | EG-PUPU-LOBBY | 红白对弈 |
捕鱼游戏 | EG-FISHING-001 | 鱼乐无穷 |
捕鱼游戏 | EG-FISHING-002 | 深海历险 |
10.桌上游戏资料
10.1.百家乐
10.1.2.百家乐牌面结果
名称 | 描述 | 类型 |
---|---|---|
Suit | ♠ = 1 ♥ = 2 ♣ = 3 ♦ = 4 | Byte |
Rank | A = 1 2 = 2 … 10 = 10 J = 11 Q = 12 K = 13 | Byte |
10.1.3.百家乐投注类型
ID | 描述 |
---|---|
0 | 和 |
1 | 闲 |
2 | 庄 |
3 | 闲对 |
4 | 庄对 |
25 | 免水和 |
26 | 免水闲 |
27 | 免水庄 |
28 | 免水闲对 |
29 | 免水庄对 |
53 | 免水幸运六 |
54 | 幸运六 |
10.1.4.百家乐结果详细
名称 | 描述 | 类型和长度限制 |
---|---|---|
BRTie | 和 | Bool |
BRPlayerWin | 闲赢 | Bool |
BRBankerWin | 庄赢 | Bool |
BRPlayerPair | 闲对 | Bool |
BRBankerPair | 庄对 | Bool |
BRSLuckySix | 免水幸运六 | Bool |
10.2.缤纷骰宝
10.2.1.缤纷骰宝结果
名称 | 描述 | 类型 |
---|---|---|
Dice1 | 1 = 红 2 = 黄 3 = 蓝 4 = 绿 5 = 粉红 6 = 白 | Int |
Dice2 | 1 = 红 2 = 黄 3 = 蓝 4 = 绿 5 = 粉红 6 = 白 | Int |
Dice3 | 1 = 红 2 = 黄 3 = 蓝 4 = 绿 5 = 粉红 6 = 白 | Int |
10.2.2.缤纷骰宝投注类型
ID | 描述 |
---|---|
1 | 红 |
2 | 黄 |
3 | 蓝 |
4 | 绿 |
5 | 粉红 |
6 | 白 |
10.3.骰骰
10.3.2.骰骰投注类型
ID | 描述 |
---|---|
0 | 4/5/9/10 |
1 | 6/7/8 |
2 | 2/3/11/12 |
10.3.3.骰骰结果详细
名称 | 描述 | 类型 |
---|---|---|
SSR_4_5_9_10 | 4/5/9/10 | Bool |
SSR_6_7_8 | 6/7/8 | Bool |
SSR_2_3_11_12 | 2/3/11/12 | Bool |
10.4.红白对弈
10.4.1.红白对弈结果
名称 | 描述 | 类型 |
---|---|---|
Ball1 | 0 = 特殊符号 1 = 红色 2 = 白色 | Int |
Ball2 | 0 = 特殊符号 1 = 红色 2 = 白色 | Int |
Ball3 | 0 = 特殊符号 1 = 红色 2 = 白色 | Int |
10.4.2.红白对弈投注类型
ID | 描述 |
---|---|
0 | 红色 x 2 |
1 | 红色 x 3 |
2 | 白色 x 2 |
3 | 白色 x 3 |
4 | 特殊符号 x 1 |
5 | 特殊符号 x 1, 红 x 1, 白 x 1 |
10.4.3.红白对弈结果详细
名称 | 描述 | 类型 |
---|---|---|
PPRRedRed | 红色 x 2 | Bool |
PPRRedRedRed | 红色 x 3 | Bool |
PPRWhiteWhite | 白色 x 2 | Bool |
PPRWhiteWhiteWhite | 白色 x 3 | Bool |
PPRSpecial | 特殊符号 x 1 | Bool |
PPRSpecialRedWhite | 特殊符号 x 1, 红色 x 1, 白色 x 1 | Bool |
11.HOST ID 跟游戏对应表
ID | 游戏 |
---|---|
1001 | 休闲百家乐 - C01 |
1002 | 休闲百家乐 - C02 |
1003 | 休闲百家乐 - C03 |
1004 | 休闲百家乐 - C04 |
1005 | 休闲百家乐 - C05 |
1011 | 休闲百家乐 - S01 |
1021 | 休闲百家乐 - N01 |
1022 | 休闲百家乐 - N02 |
1023 | 休闲百家乐 - N03 |
1024 | 休闲百家乐 - N04 |
1025 | 休闲百家乐 - N05 |
1031 | 休闲百家乐 - NS01 |
1101 | 新手百家乐 - C01 |
1102 | 新手百家乐 - C02 |
1103 | 新手百家乐 - C03 |
1111 | 新手百家乐 - S01 |
1121 | 新手百家乐 - N01 |
1122 | 新手百家乐 - N02 |
1123 | 新手百家乐 - N03 |
1131 | 新手百家乐 - NS01 |
1201 | 高手百家乐 - C01 |
1202 | 高手百家乐 - C02 |
1211 | 高手百家乐 - S01 |
1221 | 高手百家乐 - N01 |
1222 | 高手百家乐 - N02 |
1231 | 高手百家乐 - NS01 |
2001 | 休闲缤纷骰宝 |
2101 | 新手缤纷骰宝 |
2201 | 高手缤纷骰宝 |
3001 | 休闲骰骰 |
3101 | 新手骰骰 |
3201 | 高手骰骰 |
4001 | 休闲红白对弈 |
4101 | 新手红白对弈 |
4201 | 高手红白对弈 |
12.货币类型
下表列出了SimplePlay平台支持的货币类型。请注在API调用时需指定货币类型后该货币类型才能生效。如有疑问,可咨询我们的客服人员。
货币简称 (1:1) | 货币描述 |
---|---|
AED | 阿联酋迪拉姆 |
AMD | 亚美尼亚德拉姆 |
ARS | 阿根廷披索 |
AUD | 澳元 |
BDT | 孟加拉塔卡 |
BND | 文莱元 |
BRL | 巴西雷亚尔 |
CAD | 加拿大元 |
CHF | 瑞士法郎 |
CLP | 智利比索 |
DKK | 丹麦克朗 |
EUR | 欧元 |
GBP | 英镑 |
GHS | 迦納塞地 |
HUF | 匈牙利福林 |
ILS | 以色列新谢克尔 |
INR | 印度卢比 |
JPY | 日元 |
KZT | 哈萨克腾格 |
LKR | 斯里兰卡卢比 |
mXBT | 比特币 |
MYR | 马来西亚林吉特 |
NOK | 挪威克朗 |
NZD | 新西兰元 |
PEN | 秘鲁新索尔 |
PHP | 菲律宾披索 |
PLN | 波兰兹罗提 |
RUB | 俄罗斯卢布 |
SEK | 瑞典克朗 |
SGD | 新加坡元 |
THB | 泰铢 |
TND | 突尼西亚第纳尔 |
TRY | 土耳其里拉 |
TWD | 新台币 |
UAH | 乌克兰格里夫纳 |
USD | 美元 |
USDT | 泰达币 |
uXBT | 微比特 |
VES | 委内瑞拉玻利瓦尔 |
ZAR | 南非兰德 |
特别货币编号 (1:1) | 货币描述 |
---|---|
IDR2 | 印尼盾 |
LAK2 | 寮币 |
MMK2 | 缅元 |
VND2 | 越南盾 |
货币简称 (1:1000) | 货币描述 |
---|---|
IDR | 印尼盾 |
KHR | 柬埔寨瑞尔 |
LAK | 寮币 |
MMK | 缅元 |
VND | 越南盾 |