Web Service API
Technical Guide
1.Introduction
The Web Service API interface is for accessing the SA Gaming Platform. Including user registration, user balance query, user betting records and charging to or withdraw from a user account. This document includes both Transfer Wallet and Seamless Wallet.
2.Version
| Version | Description | Date |
|---|---|---|
| 3.2.21 |
| 2026/04/13 |
| 3.2.22 |
| 2026/04/29 |
| 3.2.23 |
| 2026/05/04 |
| 3.2.24 |
| 2026/05/11 |
| 3.2.25 |
| 2026/05/14 |
3.Important Information
3.1.API Calling Restriction
The following APIs have calling restriction.
| Name of API | Frequency of calls |
|---|---|
| CreditBalanceDV | Every 1 minute no more than 1000 calls |
| DebitAllBalanceDV | Every 1 minute no more than 1000 calls |
| DebitBalanceDV | Every 1 minute no more than 1000 calls |
| GetAllBetDetailsDV | Every 5 minutes no more than 10 calls |
| GetAllBetDetailsForTimeIntervalDV | Every 5 minutes no more than 10 calls |
| GetCancelledBetDetails | Every 5 minutes no more than 10 calls |
| GetEventWinningDetail | Every 5 minutes no more than 10 calls |
| GetGiftTransactionDetails | Every 5 minutes no more than 10 calls |
| GetLeaderboardRankingDetail | Every 5 minutes no more than 10 calls |
| GetUnsuccessfulBetDetails | Every 5 minutes no more than 10 calls |
| LoginRequestForFun | Every 1 minute no more than 50 calls |
| ResendTransaction | Every 5 minutes no more than 1 call |
3.2.Accuracy of Point Value
The accuracy of all point value is limited two decimal places. For example:
1000.23, 89.32, 1002304.89
3.3.Currency Handling
For normal currencies, all amounts in API calls are presented in a 1:1 ratio. For special currencies with 1:1000 ratio, the actual values should be multiplied by 1000. Refer to “Example of Currency Handling” for more information.
4.Encryption
4.1.Encryption Requirements
All of the web service queries require DES encryption and MD5 hashing before sending to ensure the content has no modification during transmission.
Please ask us for the following information:
- Secret Key
- EncrypKey
- MD5Key
- API
url - Live game client loader
- Lobby name (supplied during startup the client)
Example DES Encrypt function in ASP.Net C#:
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);
}
Example DES Encrypt function in PHP:
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 ) );
}
}
?>
Example in PHP:
encrypt($str);
$urlemstr = urlencode($mstr);
echo "[ $str ] Encrypted: [ $mstr ] UrlEncoded encrypted string: [ $urlemstr ]";
?>
Example MD5 function in ASP.Net C#:
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();
}
Example MD5 function in PHP:
<?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.Encryption Procedures
- Construct a Query String (QS) with required parameters (including the web service method name itself (e.g. method=RegUserInfo)
- DES encrypt the Query String with the supplied EncryptKey and obtain the encrypted query string (q)
- Build an MD5 hash according to (QS) and other parameters to form a signature (s)
- Use HTTP/HTTPS POST request to API url.
- Obtain the resulting XML response.
4.3.Example to call API
Let’s take RegUserInfo as an example.
Encryption requires the following parameters
- method (String, “RegUserInfo”)
- Key (String, the Secret Key)
- Time (DateTime, Current Time, in yyyyMMddHHmmss format)
- Username (String)
- CurrencyType (String)
method, Key and Time are always inserted. Other parameters please follow the parameter list in each API function.
Let say, the Secret Key is XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX and md5key is YYYYYYYY.
Example Query String (QS):
QS = “method=RegUserInfo&Key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&Time=20140101123456&Username=DemoUser001&CurrencyType=EUR”; q = HttpUtility.UrlEncode( DESencrypt(QS) );
For example, q = ‘j4tjorjwarfj3trwise0safrwg2wt4awari0fwjfeoh’
Example MD5 String for building the signature (QS + md5key + Time + Key):
s = BuildMD5(QS + “YYYYYYYY” + “20140101123456” + “XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX”);
For example, s = ‘1234567890abcdef’
Resulting POST method query (using “Content-Type: application/x-www-form-urlencoded”):
q=j4tjorjwarfj3trwise0safrwg2wt4awari0fwjfeoh&s=1234567890abcdef
POST to: http://
Output
<?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.Error handling
If there are decryption error or the md5 not matching, a generic error response will be output.
ErrorMsgId 128 for decryption error.
ErrorMsgId 132 for md5 sign unmatch.
<?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 Interface
All services require a secret key to access. Please contact us to get one.

5.1.User Account Manipulation
5.1.1.RegUserInfo
Create a user by username and currency type.
Parameters| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be "RegUserInfo" | String (32) | Y |
| Key | Secret key | String (32) | Y |
| Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
| Username | Username | String (48) | Y |
| CurrencyType | Currency: USD Refer to Supported currencies | String (16) | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| Username | Username | String (48) | Y |
| ErrorMsgId | Error message: 0: Success 108: Username length/format incorrect 113: Username duplicated 114: Currency not exist 133: Create user failed | Byte | Y |
| ErrorMsg | Error message details | String | Y |
Output
<?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">
<ErrorMsgId>0</ErrorMsgId>
<ErrorMsg>Success</ErrorMsg>
<Username>aaauser</Username>
</RegUserInfoResponse>
5.1.2.VerifyUsername
Check if a username is already existing in database of a lobby.
Parameters| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be “VerifyUsername” | String (32) | Y |
| Key | Secret key | String (32) | Y |
| Time | Current time in “yyyyMMddHHmmss” format | DateTime | Y |
| Username | Username | String (48) | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| Username | Username | String (48) | Y |
| IsExist | User existing? True: user existing False: user not existing | Bool | Y |
| ErrorMsgId | Error message: 0: Success 108: Username length/format incorrect | Byte | Y |
| ErrorMsg | Error message details | String | Y |
Output
<?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.GetUserStatusDV
The status of a user including:
- Online/offline
- Bet exist
- Bet amount and remain balance
- Maximum balance
- Maximum daily winning
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be "GetUserStatusDV" | String (32) | Y |
| Key | Secret key | String (32) | Y |
| Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
| Username | Username | String (48) | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| IsSuccess | Success? True: Success False: Failed | Bool | Y |
| Username | Username | String (48) | Y |
| Balance | Active balance, excluding betted amount. Correct to cent. (Not applicable for seamless wallet) | Decimal | Y |
| Online | Online? | Bool | Y |
| Betted | Betted? (Not applicable for seamless wallet) | Bool | Y |
| BettedAmount | Total betted amount (Not applicable for seamless wallet) | Decimal | Y |
| MaxBalance | Upper limit in user's balance to place bet (Not applicable for seamless wallet) | Decimal | Y |
| MaxWinning | Daily winning limitation to allow place bet | Decimal | Y |
| ErrorMsgId | Error message 0: Success 100: Username error 108: Username length/format incorrect 116: Username does not exist | Byte | Y |
| ErrorMsg | Error message detail | String | Y |
<?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"> <ErrorMsgId>0</ErrorMsgId> <ErrorMsg>Success</ErrorMsg> <IsSuccess>true</IsSuccess> <Username>DemoUser01</Username> <Balance>115500</Balance> <Online>false</Online> <Betted>false</Betted> <BettedAmount>0</BettedAmount> <MaxBalance>0</MaxBalance> <MaxWinning>0</MaxWinning> </GetUserStatusResponse>
5.1.4.QueryBetLimit
Query all of the bet limit for specified currency.
Parameters| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be "QueryBetLimit" | String (32) | Y |
| Key | Secret key | String (32) | Y |
| Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
| Currency | e.g. USD Refer to Supported currencies | String (16) | Y |
| Gametype | baccarat – Baccarat boundlessblackjack – Boundless Blackjack carnivaltreasure – Carnival Treasure deluxeblackjack – Deluxe Blackjack dragontiger - Dragon Tiger fishprawncrab – Fish Prawn Crab pokdeng - Pok Deng roulette - Roulette sicbo - SicBo thaihilo - Thai HiLo ultraroulette - Ultra Roulette xocdia – Xoc Dia To query bet limit for all game types, please use: Gametype="all" | String | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| BetLimitList | BetLimit lists | XML Structure | Y |
| ErrorMsgId | Error message: 0: Success 114: Currency not exist 155: Incorrect/missing game type | Byte | Y |
| ErrorMsg | Error message detail | String | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| RuleID | ID of the bet limit | Int64 | Y |
| GameType | The game type of return data | Attribute | Y |
| Min | Minimum of the limit | Int | Y |
| Max | Maximum of the limit | Int | Y |
BetLimit example
<BetLimitList GameType="Baccarat">
<BetLimit>
<RuleID>936</RuleID>
<Min>5</Min>
<Max>500</Max>
</BetLimit>
<BetLimit>
<RuleID>937</RuleID>
<Min>30</Min>
<Max>3000</Max>
</BetLimit>
</BetLimitList>
Remark:
In Deluxe Blackjack, Min Limit refers specifically to the Min Limit (Seat). When retrieving the corresponding value for Bet Behind (Per Hand), this is defined as one-tenth of Min Limit (Seat).
Example:
If the bet limit is set at 10–20 USD, the Min Limit (Seat) is 10 USD, and the corresponding Bet Behind (Per Hand) value is 1 USD.
5.1.5.SetAllBetLimit
Set bet limit for individual game type to a user.
| Game Type | Number of bet limit combinations |
|---|---|
| Boundless Blackjack | 1 |
| Carnival Treasure | 1 |
| Deluxe Blackjack | 1 |
| All Other Games | 1-5 |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be "SetAllBetLimit" | String (32) | Y |
| Key | Secret key | String (32) | Y |
| Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
| Username | Username | String (48) | Y |
| Currency | e.g. USD Refer to Supported currencies | String (16) | Y |
| ListSet | ID from QueryBetLimit RuleID list retrieved from QueryBetLimit, Comma separated. Eg. 10108405000150004,10108405000250005,10108402000120005 Example 1: In QueryBetLimit: Currency = THB GameType = baccarat RuleID “10107645000050002” for the bet limit of “5-500” will be returned. Currency = THB GameType = dragontiger RuleID “10207641000110003” for the bet limit of “10-1000” will be returned. In SetAllBetLimit, update the above THB bet limit for both Baccarat and DragonTiger: Currency = THB ListSet = “10107645000050002, 10207641000110003” Example 2: In QueryBetLimit: Currency = VND GameType = baccarat RuleID “10107043000130005” and “10107041000320004” for the bet limit of “30-300,000” and “1,000 – 20,000” will be returned. In SetAllBetLimit, update the above VND bet limit for Baccarat: Currency = VND ListSet = “10107043000130005, 10107041000320004” | String (Max) | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| ErrorMsgId | Error message: 0: Success 102: Secret key incorrect 108: Username length/format incorrect 114: Currency not exist 116: Username does not exist 142: Parameter(s) error 157: ListSet error, exceeds the max. acceptable for the game type 158: Duplicate/Invalid bet limit rules occur 190: Function not for trial account | Byte | Y |
| ErrorMsg | Error message detail | String | Y |
Output
<?xml version="1.0" encoding="utf-8"?>
<SetAllBetLimitResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ErrorMsgId>0</ErrorMsgId>
<ErrorMsg>Success</ErrorMsg>
</SetAllBetLimitResponse>
5.1.6.GetUserMaxBalance
Return the user’s maximum balance limit.
Parameters| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be "GetUserMaxBalance" | String (32) | Y |
| Key | Secret key | String (32) | Y |
| Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
| Username | Username | String (48) | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| MaxBalance | Maximum balance | Decimal | Y |
| ErrorMsgId | Error message: 0: Success 100: Username error 108: Username length/format incorrect 116: Username does not exist 159: This API is for transfer wallet | Byte | Y |
| ErrorMsg | Error message detail | String | Y |
Output
<?xml version="1.0" encoding="utf-8"?>
<GetUserMaxBalanceResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ErrorMsgId>0</ErrorMsgId>
<ErrorMsg>Success</ErrorMsg>
<MaxBalance>9999999</MaxBalance>
</GetUserMaxBalanceResponse>
5.1.7.SetUserMaxBalance
Set the maximum balance limit to a user.
Parameters| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be "SetUserMaxBalance" | String (32) | Y |
| Key | Secret key | String (32) | Y |
| Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
| Username | Username | String (48) | Y |
| MaxBalance | Maximum balance | Decimal | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| ErrorMsgId | Error message: 0: Success 116: Username does not exist 142: Parameter(s) error 148: MaxBalance not zero or smaller than user balance 159: This API is for transfer wallet | Byte | Y |
| ErrorMsg | Error message detail | String | Y |
Output
<?xml version="1.0" encoding="utf-8"?>
<SetUserMaxBalanceResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ErrorMsgId>0</ErrorMsgId>
<ErrorMsg>Success</ErrorMsg>
</SetUserMaxBalanceResponse>
5.1.8.SetUserMaxWinning
Set the user’s maximum daily winning. User cannot place bet if his winning exceed this setting.
Parameters| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be "SetUserMaxWinning" | String (32) | Y |
| Key | Secret key | String (32) | Y |
| Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
| Username | Username | String (48) | Y |
| MaxWinning | Maximum daily winning | Decimal | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| ErrorMsgId | Error message: 0: Success 116: Username does not exist 142: Parameter(s) error | Byte | Y |
| ErrorMsg | Error message detail | String | Y |
Output
<?xml version="1.0" encoding="utf-8"?>
<SetUserMaxWinningResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ErrorMsgId>0</ErrorMsgId>
<ErrorMsg>Success</ErrorMsg>
</SetUserMaxWinningResponse>
5.1.9.QueryUserBetLimit
Query all of the bet limit for specified user.
Parameters| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be "QueryUserBetLimit" | String (32) | Y |
| Key | Secret key | String (32) | Y |
| Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
| Username | Username | String (48) | Y |
| Gametype | baccarat – Baccarat boundlessblackjack – Boundless Blackjack carnivaltreasure – Carnival Treasure deluxeblackjack – Deluxe Blackjack dragontiger - Dragon Tiger fishprawncrab – Fish Prawn Crab pokdeng - Pok Deng roulette - Roulette sicbo - SicBo thaihilo - Thai HiLo ultraroulette - Ultra Roulette xocdia – Xoc Dia To query bet limit for all game types, use: Gametype="all" | String | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| Username | Username | String (48) | Y |
| BetLimitList | BetLimit lists | XML Structure | Y |
| ErrorMsgId | Error message: 0: Success 108: Username length/format incorrect 116: Username does not exist 155: Incorrect/missing game type | Byte | Y |
| ErrorMsg | Error message detail | String | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| RuleID | ID of the bet limit | Int64 | Y |
| GameType | The game type of return data | Attribute | Y |
| Min | Minimum of the limit | Int | Y |
| Max | Maximum of the limit | Int | Y |
BetLimit example
<BetLimitList GameType="Baccarat">
<BetLimit>
<RuleID>936</RuleID>
<Min>5</Min>
<Max>500</Max>
</BetLimit>
<BetLimit>
<RuleID>937</RuleID>
<Min>30</Min>
<Max>3000</Max>
</BetLimit>
</BetLimitList>
Remark:
In Deluxe Blackjack, Min Limit refers specifically to the Min Limit (Seat). When retrieving the corresponding value for Bet Behind (Per Hand), this is defined as one-tenth of Min Limit (Seat).
Example:
If the bet limit is set at 10–20 USD, the Min Limit (Seat) is 10 USD, and the corresponding Bet Behind (Per Hand) value is 1 USD.
5.2.Login Access
5.2.1.LoginRequest
It is the function to request the login token. If the username doesn’t exist, it will be created automatically.
Parameters| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be “LoginRequest” | String (32) | Y |
| Key | Secret key | String (32) | Y |
| Time | Current time in “yyyyMMddHHmmss” format | DateTime | Y |
| Username | Username | String (48) | Y |
| CurrencyType | Currency: USD Refer to Supported currencies | String (16) | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| Token # | Token for Live game | String | Y |
| DisplayName * | Internal assigned username | String (52) | Y |
| ErrorMsgId | Error message: 0: Success 129: System under maintenance 130: User account is locked (disabled) 133: Create user failed 135: Game access denied | Byte | Y |
| ErrorMsg | Error message detail | String | Y |
| GameLaunchDomain | Domain to launch the game | String | Y |
| GameLaunchURL | URL (HTML encoded) to launch the game | String | Y |
# If login request failed, there is no Token node in the response.
* All username will be added a suffix @xxx. The DisplayName will be the actual username in our database.
Output
<?xml version="1.0" encoding="utf-8"?>
<LoginRequestResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Token>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</Token>
<DisplayName>satest@xxx</DisplayName>
<GameLaunchDomain>gamelaunch.domain.com</GameLaunchDomain>
<GameLaunchURL>https://gamelaunch.domain.com/app.aspx?username=satest@xxx&token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lobby=AXXXX</GameLaunchURL>
<ErrorMsgId>0</ErrorMsgId>
<ErrorMsg>Success</ErrorMsg>
</LoginRequestResponse>
5.2.2.LoginRequestForFun
Login to the system in Fun mode. The username will be generated automatically.
Parameters| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be “LoginRequestForFun” | String (32) | Y |
| Key | Secret key | String (32) | Y |
| Time | Current time in “yyyyMMddHHmmss” format | DateTime | Y |
| Amount | Initial amount, with upper limit of US$200 or equivalent value for other currencies. If the requested amount is over this limit or zero, the system will automatically adjust to the upper limit. | Decimal | Y |
| CurrencyType | Currency: USD Refer to Supported currencies | String (16) | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| Token# | Token for Live game | String | Y |
| DisplayName | Internal assigned username | String (52) | Y |
| ErrorMsgId | Error message: 0: Success 129: System under maintenance 135: Game access denied | Byte | Y |
| ErrorMsg | Error message detail | String | Y |
| GameLaunchDomain | Domain to launch the game | String | Y |
| GameLaunchURL | URL (HTML encoded) to launch the game | String | Y |
Output
<?xml version="1.0" encoding="utf-8"?>
<LoginRequestTryToPlayResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Token>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</Token>
<DisplayName>sa-test123@xxx</DisplayName>
<GameLaunchDomain>gamelaunch.domain.com</GameLaunchDomain>
<GameLaunchURL>https://gamelaunch.domain.com/app.aspx?username=satest@xxx&token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lobby=A1234</GameLaunchURL>
<ErrorMsgId>0</ErrorMsgId>
<ErrorMsg>Success</ErrorMsg>
</LoginRequestTryToPlayResponse>
5.2.3.KickUser
Kick user to offline.
Parameters| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be "KickUser" | String (32) | Y |
| Key | Secret key | String (32) | Y |
| Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
| Username | Username | String (48) | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| ErrorMsgId | Error message: 0: Success 104: Service not available 108: Username length/format incorrect 116: Username does not exist 125: Kick user fail | Byte | Y |
| ErrorMsg | Error message detail | String | Y |
Output
<?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.Bet Records Query
5.3.1.GetAllBetDetailsDV
This Web service will fetch bet details for the current lobby of the specified date from 12:00 PM to 11:59:59 AM. If no Date input, the current date will be used. The frequency of the call should be made to this API 10 times per 5 minutes otherwise it will throw an error.
Parameters| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be "GetAllBetDetailsDV" | String (32) | Y |
| Key | Secret key | String (32) | Y |
| Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
| Username | Username | String (48) | N |
| Date | Date for details “yyyy-MM-dd” | Date | N |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| NumOfRecord | The number of record(s) returned | Int | Y |
| BetDetailList | Bet details structure | XML | Y |
| ErrorMsgId | Error message: 0: Success 108: Username length/format incorrect 112: API recently called 116: Username does not exist 142: Parameter(s) error | Byte | Y |
| ErrorMsg | Error message detail | String | Y |
| Name | Description | Type and Limit | Required? | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| BetTime | Bet Confirmation Time | Date Time | Y | ||||||||||||||||
| PayoutTime | Payout time | Date Time | Y | ||||||||||||||||
| Username | Username | String (48) | Y | ||||||||||||||||
| HostID | Host table ID | Int (16) | Y | ||||||||||||||||
| Detail | Reserved | String | N | ||||||||||||||||
| GameID | Game ID | String (64) | Y | ||||||||||||||||
| Round | Game Round | Int | Y | ||||||||||||||||
| Set | Game Set | Int | Y | ||||||||||||||||
| BetID | Bet ID | Int (64) | Y | ||||||||||||||||
| Currency | Currency: USD Refer to Supported currencies | String (16) | Y | ||||||||||||||||
| BetAmount | Bet amount | Decimal | Y | ||||||||||||||||
| Rolling | Valid bet amount | Decimal | Y | ||||||||||||||||
| ResultAmount | Payout | Decimal | Y | ||||||||||||||||
| Balance | Balance after this bet (Not applicable for seamless wallet) | Decimal | Y | ||||||||||||||||
| GameType | Game type. For details please click here | String | Y | ||||||||||||||||
| BetType | Live game: Bet type of different games | Int | Y | ||||||||||||||||
| BetSource |
| Int | Y | ||||||||||||||||
| TransactionID | Seamless wallet PlaceBet transaction ID. -1 if not using seamless wallet | Int (64) | Y | ||||||||||||||||
| BetConfirmation | 0 – Manual 1 – Auto | Int | Y | ||||||||||||||||
| GameResult | The result of the game Baccarat Boundless Blackjack Carnival Treasure Deluxe Blackjack Dragon Tiger Fish Prawn Crab Pok Deng Roulette Sicbo Thai HiLo Ultra Roulette Xoc Dia | XML | Y |
Output:
<?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">
<NumOfRecord>1</NumOfRecord>
<BetDetailList>
<BetDetail>
<BetTime>2021-03-19T16:11:47.191</BetTime>
<PayoutTime>2021-03-19T16:12:28.877</PayoutTime>
<Username>DemoUser001</Username>
<HostID>123</HostID>
<Detail></Detail>
<GameID>1234567890123456</GameID>
<Round>10</Round>
<Set>34</Set>
<BetID>1234567890</BetID>
<Currency>USD</Currency>
<BetAmount>123.45</BetAmount>
<Rolling>123.45</Rolling>
<Balance>434456.35</Balance>
<ResultAmount>246.90</ResultAmount>
<GameType>bac</GameType>
<BetType>123</BetType>
<BetSource>2</BetSource>
<TranactionID>2</TranactionID>
<BetConfirmation>0</BetConfirmation>
<GameResult>
<BaccaratResult>
<PlayerCard1>
<Suit>1</Suit>
<Rank>6</Rank>
</PlayerCard1>
<PlayerCard2>
<Suit>4</Suit>
<Rank>8</Rank>
</PlayerCard2>
<PlayerCard3>
<Suit>1</Suit>
<Rank>2</Rank>
</PlayerCard3>
<BankerCard1>
<Suit>1</Suit>
<Rank>11</Rank>
</BankerCard1>
<BankerCard2>
<Suit>1</Suit>
<Rank>5</Rank>
</BankerCard2>
<ResultDetail>
<BRTie>false</BRTie>
<BRPlayerWin>false</BRPlayerWin>
<BRBankerWin>true</BRBankerWin>
<BRPlayerPair>false</BRPlayerPair>
<BRBankerPair>false</BRBankerPair>
<BRS2CardsLuckySix>false</BRS2CardsLuckySix>
<BRS3CardsLuckySix>false</BRS3CardsLuckySix>
<BRSSS2CardsLuckySix>false</BRSSS2CardsLuckySix>
<BRSSS3CardsLuckySix>false</BRSSS3CardsLuckySix>
<BRSPlayerBonus>false</BRSPlayerBonus>
<BRSBankerBonus>true</BRSBankerBonus>
<BRSStie>false</BRSStie>
<BRSSPlayerWin>false</BRSSPlayerWin>
<BRSSBankerWin>true</BRSSBankerWin>
<BRSSPlayerPair>false</BRSSPlayerPair>
<BRSSBankerPair>false</BRSSBankerPair>
<BRPlayerNatural>false</BRPlayerNatural>
<BRBankerNatural>true</BRBankerNatural>
<BRSSPlayerNatural>false</BRSSPlayerNatural>
<BRSSBankerNatural>true</BRSSBankerNatural>
<BRSAnyPair>false</BRSAnyPair>
<BRSSSAnyPair>false</BRSSSAnyPair>
<BRSPerfectPair>false</BRSPerfectPair>
<BRSSSPerfectPair>false</BRSSSPerfectPair>
<BRSSSPlayerBonus>false</BRSSSPlayerBonus>
<BRSSSBankerBonus>true</BRSSSBankerBonus>
<BRSSSLuckySix>false</BRSSSLuckySix>
<BRSLuckySix>false</BRSLuckySix>
<BRSLuckySeven>false</BRSLuckySeven>
<BRSSSLuckySeven>false</BRSSSLuckySeven>
<BRS2CardsLuckySeven>false</BRS2CardsLuckySeven>
<BRSSS2CardsLuckySeven>false</BRSSS2CardsLuckySeven>
<BRS3CardsLuckySeven>false</BRS3CardsLuckySeven>
<BRSSS3CardsLuckySeven>true</BRSSS3CardsLuckySeven>
<BRSSuperLuckySeven>false</BRSSuperLuckySeven>
<BRSSSSuperLuckySeven>false</BRSSSSuperLuckySeven>
</ResultDetail>
</BaccaratResult>
</GameResult>
</BetDetail>
</BetDetailList>
<ErrorMsgId>0</ErrorMsgId>
<ErrorMsg>Success</ErrorMsg>
</GetAllBetDetailsResponse>
5.3.2.GetAllBetDetailsForTimeIntervalDV
This web service will fetch bet details of a lobby for a time interval maximum 24 hours. The frequency of the call should be made to this API is 10 times per 5 minutes otherwise it will throw an error.
Parameters| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be "GetAllBetDetailsForTimeIntervalDV" | String (32) | Y |
| Key | Secret key | String (32) | Y |
| Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
| Username | Username | String (48) | N |
| FromTime | Date for details “yyyy-MM-dd HH:mm:ss” | Date Time | Y |
| ToTime | Date for details “yyyy-MM-dd HH:mm:ss” | Date Time | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| NumOfRecord | The number of record(s) returned | Int | Y |
| BetDetailList | Bet details structure | XML | Y |
| ErrorMsgId | Error message: 0: Success 108: Username length/format incorrect 111: Query time range out of limitation 112: API recently called 116: Username does not exist 142: Parameter(s) error | Byte | Y |
| ErrorMsg | Error message detail | String | Y |
BetDetails is the same as 5.3.1 GetAllBetDetailsDV.
5.3.3.GetAllBetDetailsForTransactionID
This web service is used for seamless wallet to fetch the bet records details of a PlaceBet, PlayerWin or PlayerLost transaction ID. Example:
1. use PlaceBet’s transaction ID will return the related transaction ID’s bet details
2. use PlayerWin or PlayerLost transaction ID will return whole game round result of the related player.
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | must be "GetAllBetDetailsForTransactionID" | String (32) | Y |
| Key | secret key | String (32) | Y |
| Time | current time in "yyyyMMddHHmmss" format | DateTime | Y |
| TransactionID | Transaction ID of a PlayerWin or PlayerLost | String (16) | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| NumOfRecord | The number of record(s) returned | Int | Y |
| Result | The result of the game Baccarat Boundless Blackjack Carnival Treasure Deluxe Blackjack Dragon Tiger Fish Prawn Crab Pok Deng Roulette Sicbo Thai HiLo Ultra Roulette Xoc Dia | XML | Y |
| BetDetailList | Bet details structure | XML | Y |
| ErrorMsgId | Error message 0: Success 106: Server not ready 160: This API is for seamless wallet | Byte | Y |
| ErrorMsg | Error message detail | String | Y |
| Name | Description | Type and Limit | Required? | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| BetTime | Bet Confirmation Time | Date Time | Y | ||||||||||||||||
| PayoutTime | Payout time | Date Time | Y | ||||||||||||||||
| Username | Username | String (48) | Y | ||||||||||||||||
| HostID | Host table ID | Int16 | Y | ||||||||||||||||
| GameID | Game ID | String | Y | ||||||||||||||||
| Round | Game Round | Int | Y | ||||||||||||||||
| Set | Game Set | Int | Y | ||||||||||||||||
| BetID | Bet ID | Int64 | Y | ||||||||||||||||
| Currency | Currency: USD Refer to Supported currencies | String (16) | Y | ||||||||||||||||
| BetAmount | Bet amount | Decimal | Y | ||||||||||||||||
| Rolling | Valid bet amount | Decimal | Y | ||||||||||||||||
| ResultAmount | Payout | Decimal | Y | ||||||||||||||||
| Balance | Balance after this bet (Not applicable for seamless wallet) | Decimal | Y | ||||||||||||||||
| GameType | Game type. For details please click here | String | Y | ||||||||||||||||
| BetType | Live game: Bet type of different games | Int | Y | ||||||||||||||||
| BetSource |
| Int | Y | ||||||||||||||||
| Detail | Reserved | String | N | ||||||||||||||||
| TransactionID | Seamless wallet PlaceBet transaction ID. -1 if not using seamless wallet | Int64 | Y | ||||||||||||||||
| BetConfirmation | 0 – Manual 1 – Auto | Int | Y |
Output:
<?xml version="1.0" encoding="utf-8"?>
<GetAllBetDetailsForTransactionIDResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ErrorMsgId>0</ErrorMsgId>
<ErrorMsg>Success</ErrorMsg>
<NumOfRecord>1</NumOfRecord>
<Result>
<BaccaratResult>
<PlayerCard1>
<Suit>1</Suit>
<Rank>6</Rank>
</PlayerCard1>
<PlayerCard2>
<Suit>4</Suit>
<Rank>8</Rank>
</PlayerCard2>
<PlayerCard3>
<Suit>1</Suit>
<Rank>2</Rank>
</PlayerCard3>
<BankerCard1>
<Suit>1</Suit>
<Rank>11</Rank>
</BankerCard1>
<BankerCard2>
<Suit>1</Suit>
<Rank>5</Rank>
</BankerCard2>
<ResultDetail>
<BRTie>false</BRTie>
<BRPlayerWin>false</BRPlayerWin>
<BRBankerWin>true</BRBankerWin>
<BRPlayerPair>false</BRPlayerPair>
<BRBankerPair>false</BRBankerPair>
<BRS2CardsLuckySix>false</BRS2CardsLuckySix>
<BRS3CardsLuckySix>false</BRS3CardsLuckySix>
<BRSSS2CardsLuckySix>false</BRSSS2CardsLuckySix>
<BRSSS3CardsLuckySix>false</BRSSS3CardsLuckySix>
<BRSPlayerBonus>false</BRSPlayerBonus>
<BRSBankerBonus>true</BRSBankerBonus>
<BRSStie>false</BRSStie>
<BRSSPlayerWin>false</BRSSPlayerWin>
<BRSSBankerWin>true</BRSSBankerWin>
<BRSSPlayerPair>false</BRSSPlayerPair>
<BRSSBankerPair>false</BRSSBankerPair>
<BRPlayerNatural>false</BRPlayerNatural>
<BRBankerNatural>true</BRBankerNatural>
<BRSSPlayerNatural>false</BRSSPlayerNatural>
<BRSSBankerNatural>true</BRSSBankerNatural>
<BRSAnyPair>false</BRSAnyPair>
<BRSSSAnyPair>false</BRSSSAnyPair>
<BRSPerfectPair>false</BRSPerfectPair>
<BRSSSPerfectPair>false</BRSSSPerfectPair>
<BRSSSPlayerBonus>false</BRSSSPlayerBonus>
<BRSSSBankerBonus>true</BRSSSBankerBonus>
<BRSSSLuckySix>false</BRSSSLuckySix>
<BRSLuckySix>false</BRSLuckySix>
<BRSLuckySeven>false</BRSLuckySeven>
<BRSSSLuckySeven>false</BRSSSLuckySeven>
<BRS2CardsLuckySeven>false</BRS2CardsLuckySeven>
<BRSSS2CardsLuckySeven>false</BRSSS2CardsLuckySeven>
<BRS3CardsLuckySeven>false</BRS3CardsLuckySeven>
<BRSSS3CardsLuckySeven>true</BRSSS3CardsLuckySeven>
<BRSSuperLuckySeven>false</BRSSuperLuckySeven>
<BRSSSSuperLuckySeven>false</BRSSSSuperLuckySeven>
</ResultDetail>
</BaccaratResult>
</Result>
<BetDetailList>
<BetDetail>
<BetTime>2021-05-25T10:33:47.897</BetTime>
<PayoutTime>2021-05-25T10:34:23.687</PayoutTime>
<Username>satest</Username>
<HostID>834</HostID>
<GameID>25682834104320</GameID>
<Round>42</Round>
<Set>21</Set>
<BetID>15704772288</BetID>
<Currency>USD</Currency>
<BetAmount>15</BetAmount>
<Rolling>15</Rolling>
<ResultAmount>15</ResultAmount>
<Balance>40</Balance>
<GameType>bac</GameType>
<BetType>27</BetType>
<BetSource>8792</BetSource>
<Detail />
<TransactionID>5318767948</TransactionID>
<BetConfirmation>0</BetConfirmation>
</BetDetail>
<BetDetail>
<BetTime>2021-05-25T10:33:56.71</BetTime>
<PayoutTime>2021-05-25T10:34:23.687</PayoutTime>
<Username>satest</Username>
<HostID>834</HostID>
<GameID>25682834104320</GameID>
<Round>42</Round>
<Set>21</Set>
<BetID>15704773687</BetID>
<Currency>USD</Currency>
<BetAmount>10</BetAmount>
<Rolling>10</Rolling>
<ResultAmount>10</ResultAmount>
<Balance>50</Balance>
<GameType>bac</GameType>
<BetType>27</BetType>
<BetSource>8792</BetSource>
<Detail />
<TransactionID>5318768770</TransactionID>
<BetConfirmation>0</BetConfirmation>
</BetDetail>
</BetDetailList>
</GetAllBetDetailsForTransactionIDResponse>
5.3.4.GetUserBetItemDV
Retrieve a list of bet record of a user within 7 days
Parameters| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be "GetUserBetItemDV" | String (32) | Y |
| Key | Secret key | String (32) | Y |
| Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
| Username | Username | String (48) | Y |
| FromTime | Query start time: “yyyy-MM-dd” or “yyyy-MM-dd HH:mm:ss” | DateTime | Y |
| ToTime | Query end time: “yyyy-MM-dd” or “yyyy-MM-dd HH:mm:ss” | DateTime | Y |
| Offset | Query offset id. First query input 0. For the next query, using the offset from result | Int64 | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| Username | Username | String (48) | Y |
| FromTime | Query start time | DateTime | Y |
| ToTime | Query end time | DateTime | Y |
| Offset | Offset | Int64 | Y |
| More | True: data still existing for query, using the Offset to start again. False: all data has been send | bool | Y |
| ItemCount | Number of item queried | Int | Y |
| UserBetItemList | List of bet item details UserBetItem | XML | Y |
| ErrorMsgId | Error message: 0: Success 111: Query time range out of limitation 116: Username does not exist | Byte | Y |
| ErrorMsg | Error message detail | String | Y |
Output
<?xml version="1.0" encoding="utf-8"?>
<GetUserBetItemResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Username>DemoUser001</Username>
<FromTime>2021-03-19T00:00:00</FromTime>
<ToTime>2021-03-20T00:00:00</ToTime>
<Offset>0</Offset>
<More>false</More>
<ItemCount>2</ItemCount>
<UserBetItemList>
<UserBetItem>
<BetID>1</BetID>
<BetTime>2021-03-19T16:11:47.19</BetTime>
<PayoutTime>2021-03-19T16:12:28.877</PayoutTime>
<GameID>135450624</GameID>
<HostID>901</HostID>
<HostName>Baccarat D01</HostName>
<GameType>bac</GameType>
<Set>3</Set>
<Round>48</Round>
<BetType>2</BetType>
<BetAmount>100</BetAmount>
<Rolling>100</Rolling>
<Detail>
<GameResult>
<BaccaratResult>
<PlayerCard1>
<Suit>1</Suit>
<Rank>6</Rank>
</PlayerCard1>
<PlayerCard2>
<Suit>4</Suit>
<Rank>8</Rank>
</PlayerCard2>
<PlayerCard3>
<Suit>1</Suit>
<Rank>2</Rank>
</PlayerCard3>
<BankerCard1>
<Suit>1</Suit>
<Rank>11</Rank>
</BankerCard1>
<BankerCard2>
<Suit>1</Suit>
<Rank>5</Rank>
</BankerCard2>
<ResultDetail>
<BRTie>false</BRTie>
<BRPlayerWin>false</BRPlayerWin>
<BRBankerWin>true</BRBankerWin>
<BRPlayerPair>false</BRPlayerPair>
<BRBankerPair>false</BRBankerPair>
<BRS2CardsLuckySix>false</BRS2CardsLuckySix>
<BRS3CardsLuckySix>false</BRS3CardsLuckySix>
<BRSSS2CardsLuckySix>false</BRSSS2CardsLuckySix>
<BRSSS3CardsLuckySix>false</BRSSS3CardsLuckySix>
<BRSPlayerBonus>false</BRSPlayerBonus>
<BRSBankerBonus>true</BRSBankerBonus>
<BRSStie>false</BRSStie>
<BRSSPlayerWin>false</BRSSPlayerWin>
<BRSSBankerWin>true</BRSSBankerWin>
<BRSSPlayerPair>false</BRSSPlayerPair>
<BRSSBankerPair>false</BRSSBankerPair>
<BRPlayerNatural>false</BRPlayerNatural>
<BRBankerNatural>true</BRBankerNatural>
<BRSSPlayerNatural>false</BRSSPlayerNatural>
<BRSSBankerNatural>true</BRSSBankerNatural>
<BRSAnyPair>false</BRSAnyPair>
<BRSSSAnyPair>false</BRSSSAnyPair>
<BRSPerfectPair>false</BRSPerfectPair>
<BRSSSPerfectPair>false</BRSSSPerfectPair>
<BRSSSPlayerBonus>false</BRSSSPlayerBonus>
<BRSSSBankerBonus>true</BRSSSBankerBonus>
<BRSSSLuckySix>false</BRSSSLuckySix>
<BRSLuckySix>false</BRSLuckySix>
<BRSLuckySeven>false</BRSLuckySeven>
<BRSSSLuckySeven>false</BRSSSLuckySeven>
<BRS2CardsLuckySeven>false</BRS2CardsLuckySeven>
<BRSSS2CardsLuckySeven>false</BRSSS2CardsLuckySeven>
<BRS3CardsLuckySeven>false</BRS3CardsLuckySeven>
<BRSSS3CardsLuckySeven>true</BRSSS3CardsLuckySeven>
<BRSSuperLuckySeven>false</BRSSuperLuckySeven>
<BRSSSSuperLuckySeven>false</BRSSSSuperLuckySeven>
</ResultDetail>
</BaccaratResult>
</GameResult>
<ResultAmount>-100</ResultAmount>
<Balance>0</Balance>
</Detail>
</UserBetItem>
<UserBetItem>
<BetID>29221310</BetID>
<BetTime>2021-03-19T16:12:55.543</BetTime>
<PayoutTime>2021-03-19T16:13:31.443</PayoutTime>
<GameID>23547430039552</GameID>
<HostID>901</HostID>
<HostName>Baccarat D01</HostName>
<GameType>bac</GameType>
<Set>3</Set>
<Round>49</Round>
<BetType>1</BetType>
<BetAmount>100</BetAmount>
<Rolling>0</Rolling>
<Detail>
<GameResult>
<BaccaratResult>
<PlayerCard1>
<Suit>1</Suit>
<Rank>6</Rank>
</PlayerCard1>
<PlayerCard2>
<Suit>4</Suit>
<Rank>8</Rank>
</PlayerCard2>
<PlayerCard3>
<Suit>1</Suit>
<Rank>2</Rank>
</PlayerCard3>
<BankerCard1>
<Suit>1</Suit>
<Rank>11</Rank>
</BankerCard1>
<BankerCard2>
<Suit>1</Suit>
<Rank>5</Rank>
</BankerCard2>
<ResultDetail>
<BRTie>false</BRTie>
<BRPlayerWin>true</BRPlayerWin>
<BRBankerWin>false</BRBankerWin>
<BRPlayerPair>false</BRPlayerPair>
<BRBankerPair>false</BRBankerPair>
<BRS2CardsLuckySix>false</BRS2CardsLuckySix>
<BRS3CardsLuckySix>false</BRS3CardsLuckySix>
<BRSSS2CardsLuckySix>false</BRSSS2CardsLuckySix>
<BRSSS3CardsLuckySix>false</BRSSS3CardsLuckySix>
<BRSPlayerBonus>false</BRSPlayerBonus>
<BRSBankerBonus>false</BRSBankerBonus>
<BRSSTie>false</BRSSTie>
<BRSSPlayerWin>true</BRSSPlayerWin>
<BRSSBankerWin>false</BRSSBankerWin>
<BRSSPlayerPair>false</BRSSPlayerPair>
<BRSSBankerPair>false</BRSSBankerPair>
<BRPlayerNatural>false</BRPlayerNatural>
<BRBankerNatural>false</BRBankerNatural>
<BRSSPlayerNatural>false</BRSSPlayerNatural>
<BRSSBankerNatural>false</BRSSBankerNatural>
<BRSAnyPair>false</BRSAnyPair>
<BRSSSAnyPair>false</BRSSSAnyPair>
<BRSPerfectPair>false</BRSPerfectPair>
<BRSSSPerfectPair>false</BRSSSPerfectPair>
<BRSSSPlayerBonus>false</BRSSSPlayerBonus>
<BRSSSBankerBonus>false</BRSSSBankerBonus>
<BRSSSLuckySix>false</BRSSSLuckySix>
<BRSLuckySix>false</BRSLuckySix>
<BRSLuckySeven>false</BRSLuckySeven>
<BRSSSLuckySeven>false</BRSSSLuckySeven>
<BRS2CardsLuckySeven>false</BRS2CardsLuckySeven>
<BRSSS2CardsLuckySeven>false</BRSSS2CardsLuckySeven>
<BRS3CardsLuckySeven>false</BRS3CardsLuckySeven>
<BRSSS3CardsLuckySeven>true</BRSSS3CardsLuckySeven>
<BRSSuperLuckySeven>false</BRSSuperLuckySeven>
<BRSSSSuperLuckySeven>false</BRSSSSuperLuckySeven>
</ResultDetail>
</BaccaratResult>
</GameResult>
<ResultAmount>100</ResultAmount>
<Balance>26171.38</Balance>
</Detail>
</UserBetItem>
</UserBetItemList>
<ErrorMsgId>0</ErrorMsgId>
<ErrorMsg>Success</ErrorMsg>
</GetUserBetItemResponse>
5.3.5.GetUserBetAmountDV
This Web service will fetch the live game stake amount for a lobby.
Parameters| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be "GetUserBetAmountDV" | String (32) | Y |
| Key | Secret key | String (32) | Y |
| Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
| Username | Username | String (48) | N |
| StartDate | Query start date/time: “yyyy-MM-dd” (default time 00:00:00) or “yyyy-MM-dd HH:mm:ss” | DateTime | N |
| TimeRange | Range in hour from 0 to 23 (default 0 = 24 hours) | Int | N |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| Username | Username | String (48) | Y |
| StakeAmount | Sum of bet amount for all games | Decimal | Y |
| ErrorMsgId | Error message: 0: Success 108: Username length/format incorrect 116: Username does not exist 142: Parameter(s) error | Byte | Y |
| ErrorMsg | Error message detail | String | Y |
<?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">
<ErrorMsgId>0</ErrorMsgId>
<ErrorMsg>Success</ErrorMsg>
<BetAmountDetailList>
<BetAmountDetail>
<Username>user001</Username>
<StakeAmount>1105.45</StakeAmount>
</BetAmountDetail>
</BetAmountDetailList>
</GetUserBetAmountResponse>
5.3.6.GetUserWinLost
This API function is to get a user’s win/loss summary for a period of time with maximum of 31 days.
Parameters| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be "GetUserWinLost" | String (32) | Y |
| Key | Secret key | String (32) | Y |
| Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
| Username | Username | String (48) | Y |
| FromTime | Date for details “yyyy-MM-dd HH:mm:ss” | DateTime | Y |
| ToTime | Date for details “yyyy-MM-dd HH:mm:ss” | DateTime | Y |
| Type | 0 - includes win and loss 1 - only includes win 2 - only includes loss | Int | N |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| Winlost | Win or loss summary value | Decimal | Y |
| ErrorMsgId | Error message: 0: Success 106: Server not ready 108: Username length/format incorrect 111: Query time range out of limitation 116: Username does not exist 144: Query type invalid | Byte | Y |
| ErrorMsg | Error message detail | String | Y |
Output
<?xml version="1.0" encoding="utf-8"?>
<GetUserWinLostResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ErrorMsgId>0</ErrorMsgId>
<ErrorMsg>Success</ErrorMsg>
<Winlost>-230.65</Winlost>
</GetUserWinLostResponse>
5.3.7.GetTransactionDetails
This web service will fetch the transaction details of a lobby for a time interval maximum 31 days. You may specify an username to query transaction details of a certain user.
Parameters| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be "GetTransactionDetails" | String (32) | Y |
| Key | Secret key | String (32) | Y |
| Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
| Username | Username | String (48) | N |
| FromTime | Date for details “yyyy-MM-dd HH:mm:ss” | DateTime | Y |
| ToTime | Date for details “yyyy-MM-dd HH:mm:ss” | DateTime | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| TransactionDetails | Transaction details structure | XML | Y |
| ErrorMsgId | Error message: 0: Success 106: Server not ready 111: Query time range out of limitation 116: Username does not exist | Byte | Y |
| ErrorMsg | Error message detail | String | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| CurrencyName | Currency: USD Refer to Supported currencies | String (16) | Y |
| Count | Number of transactions | Int | Y |
| Winlose | Win/lose | Decimal | Y |
| TotalBet | Total bet amount | Decimal | Y |
| TotalRolling | Total valid bet amount | Decimal | Y |
<?xml version="1.0" encoding="utf-8"?>
<GetTransactionDetailsResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ErrorMsgId>0</ErrorMsgId>
<ErrorMsg>Success</ErrorMsg>
<Details>
<TransactionDetails>
<CurrencyName>EUR</CurrencyName>
<Count>9</Count>
<Winlose>-40</Winlose>
<TotalBet>275</TotalBet>
<TotalRolling>75</TotalRolling>
</TransactionDetails>
<TransactionDetails>
<CurrencyName>THB</CurrencyName>
<Count>1</Count>
<Winlose>-20</Winlose>
<TotalBet>20</TotalBet>
<TotalRolling>20</TotalRolling>
</TransactionDetails>
<TransactionDetails>
<CurrencyName>VND</CurrencyName>
<Count>1</Count>
<Winlose>-20</Winlose>
<TotalBet>20</TotalBet>
<TotalRolling>20</TotalRolling>
</TransactionDetails>
</Details>
</GetTransactionDetailsResponse>
5.3.8.GetActiveHostList
Check the list of active hosts.
Parameters| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be "GetActiveHostList" | String (32) | Y |
| Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
| Key | Secret key | String (32) | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| HostList | Host list | XML Structure | Y |
| ErrorMsgId | Error message: 0: Success | Byte | Y |
| ErrorMsg | Error message details | String | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| HostID | Host ID | Int(16) | Y |
| GameType | Game type | String | Y |
| HostName | Host name | String | Y |
| Enabled | true – Enabled in Backoffice by operator false – Disabled in Backoffice by operator | Bool | Y |
| GameStatus | 0 - Table is opened 1 - Table is closed | Int | Y |
| GameIcon | List of image download URL | Structure | Y |
HostList example
<HostList>
<Host>
<HostID>901</HostID>
<GameType>bac</GameType>
<HostName>Baccarat D01</HostName>
<Enabled>true</Enabled>
<GameStatus>0</GameStatus>
<GameIcon>
<s208x147>https://sampledomain.com/resources/gameicon/901_208x147.jpg</s208x147>
<s279x400>https://sampledomain.com/resources/gameicon/901_279x400.jpg</s279x400>
<s300x200>https://sampledomain.com/resources/gameicon/901_300x200.jpg</s300x200>
<s512x512>https://sampledomain.com/resources/gameicon/901_512x512.jpg</s512x512>
<s660x380>https://sampledomain.com/resources/gameicon/901_660x380.jpg</s660x380>
<s760x539_1>https://sampledomain.com/resources/gameicon/901_760x539_1.jpg</s760x539_1>
<s760x539_2>https://sampledomain.com/resources/gameicon/901_760x539_2.jpg</s760x539_2>
</GameIcon>
</Host>
</HostList>
5.3.9.GetCancelledBetDetails
This web service is used to fetch the cancelled bet records. If date range is not input or is not correct, previous 2 months + current month data will be returned.
Parameters| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be "GetCancelledBetDetails" | String (32) | Y |
| Key | Secret key | String (32) | Y |
| Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
| Username | Username | String (48) | N |
| GameID | Game ID | String (64) | N |
| FromTime | Date for details “yyyy-MM-dd HH:mm:ss” | Date Time | N |
| ToTime | Date for details “yyyy-MM-dd HH:mm:ss” | Date Time | N |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| Username | The input Username | String (48) | Y |
| GameID | The input GameID | String (64) | Y |
| FromTime | The input FromTime | DateTime | Y |
| ToTime | The input ToTime | DateTime | Y |
| NumOfRecord | The number of record(s) returned | Int | Y |
| CancelledBetDetailList | CancelledBetDetail structure | XML | Y |
| ErrorMsgId | Error message ID | Byte | Y |
| ErrorMsg | Error message description | String | Y |
| Name | Description | Type and Limit | Required? | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| StartTime | Game start time | DateTime | Y | ||||||||||||||||
| CancelledTime | Game cancelled time | DateTime | Y | ||||||||||||||||
| GameID | Game ID | String | Y | ||||||||||||||||
| HostID | Host ID | Int16 | Y | ||||||||||||||||
| GameType | Game type | String | Y | ||||||||||||||||
| Round | Game Round | Int | Y | ||||||||||||||||
| Set | Game Set | Int | Y | ||||||||||||||||
| BetTime | Bet Confirmation Time | DateTime | Y | ||||||||||||||||
| Username | Username | String (48) | Y | ||||||||||||||||
| TransactionID | Seamless wallet PlaceBet transaction ID. -1 if not using seamless wallet | Int64 | Y | ||||||||||||||||
| BetID | Bet ID | Int64 | Y | ||||||||||||||||
| Currency | Currency | String (16) | Y | ||||||||||||||||
| BetAmount | Bet amount | Decimal | Y | ||||||||||||||||
| BetType | Bet type | Int | Y | ||||||||||||||||
| BetSource |
| Int | Y | ||||||||||||||||
| BetConfirmation | 0 – Manual 1 – Auto | Int | Y |
Output:
<?xml version="1.0" encoding="utf-8"?>
<GetCancelledBetDetailsResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ErrorMsgId>0</ErrorMsgId>
<ErrorMsg>Success</ErrorMsg>
<GameID />
<Username />
<FromTime>2023-09-01 00:00:00</FromTime>
<ToTime>2023-11-13 14:31:07</ToTime>
<NumOfRecord>2</NumOfRecord>
<CancelledBetDetailList>
<CancelledBetDetail>
<StartTime>2023-11-13T11:33:42.86</StartTime>
<CancelledTime>2023-11-13T11:34:03.313</CancelledTime>
<GameID>674714722304</GameID>
<HostID>533</HostID>
<GameType>rot</GameType>
<Round>54</Round>
<Set>0</Set>
<BetTime>2023-11-13T11:33:51.61</BetTime>
<Username>testuser</Username>
<TransactionID>-1</TransactionID>
<BetID>30892650</BetID>
<Currency>USD</Currency>
<BetAmount>1</BetAmount>
<BetType>1</BetType>
<BetSource>2640</BetSource>
<BetConfirmation>0</BetConfirmation>
</CancelledBetDetail>
<CancelledBetDetail>
<StartTime>2023-11-13T11:33:42.86</StartTime>
<CancelledTime>2023-11-13T11:34:03.313</CancelledTime>
<GameID>674714722304</GameID>
<HostID>533</HostID>
<GameType>rot</GameType>
<Round>54</Round>
<Set>0</Set>
<BetTime>2023-11-13T11:33:55.33</BetTime>
<Username>testuser</Username>
<TransactionID>-1</TransactionID>
<BetID>30892651</BetID>
<Currency>USD</Currency>
<BetAmount>1</BetAmount>
<BetType>2</BetType>
<BetSource>2640</BetSource>
<BetConfirmation>0</BetConfirmation>
</CancelledBetDetail>
</CancelledBetDetailList>
</GetCancelledBetDetailsResponse>
5.3.10.GetGameErrorDetail
This web service is used to fetch the game error bet records. If date range is not input or is not correct, previous 2 months + current month data will be returned.
Parameters| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be "GetGameErrorDetail" | String (32) | Y |
| Key | Secret key | String (32) | Y |
| Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
| Username | Username | String (48) | N |
| GameID | Game ID | String (64) | N |
| HostList | Host ID If more than one, please use “,” as a delimiter | List | N |
| FromTime | Date for details “yyyy-MM-dd HH:mm:ss” | Date Time | N |
| ToTime | Date for details “yyyy-MM-dd HH:mm:ss” | Date Time | N |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| Username | The input Username | String (48) | Y |
| GameID | The input GameID | String (64) | Y |
| HostList | The input HostList | List | Y |
| FromTime | The input FromTime | DateTime | Y |
| ToTime | The input ToTime | DateTime | Y |
| NumOfRecord | The number of game error(s) returned | Int | Y |
| GameErrorResultList | GameErrorResult structure | XML | Y |
| ErrorMsgId | Error message ID | Byte | Y |
| ErrorMsg | Error message description | String | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| GameID | Game ID | String | Y |
| Set | Game Set | Int | Y |
| Round | Game Round | Int | Y |
| PayoutTime | Payout time | DateTime | Y |
| HostID | Host ID | Int16 | Y |
| GameType | Game type | String | Y |
| IncorrectResult | Game result (with ResultDetail) | XML | Y |
| CorrectResult | Game result (with ResultDetail) | XML | Y |
| ImpactedTransactionList | Impacted transaction list | XML | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| Count | Number of transactions | Int | Y |
| GETransactionDetailList | GETransactionDetail structure | XML | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| BetTime | Bet Confirmation Time | DateTime | Y |
| PayoutTime | Payout time | DateTime | Y |
| AdjustmentTime | Game error adjustment time | DateTime | Y |
| Username | Username | String (48) | Y |
| BetID | Bet ID | Int64 | Y |
| Currency | Currency | String (16) | Y |
| BetType | Bet type | Int | Y |
| BetAmount | Bet amount | Decimal | Y |
| OriginalWinlose | Original Win/lose amount, before adjustment | Decimal | Y |
| AdjustedWinlose | Adjusted Win/lose amount, after adjustment | Decimal | Y |
Output:
<?xml version="1.0" encoding="utf-8"?>
<GetGameErrorDetailResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" Zmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ErrorMsgId>0</ErrorMsgId>
<ErrorMsg>Success</ErrorMsg>
<Username />
<GameID />
<HostList />
<FromTime>2023-11-01 00:00:00</FromTime>
<ToTime>2024-01-08 16:04:30</ToTime>
<NumOfGame>1</NumOfGame>
<GameErrorResultList>
<GameErrorResult>
<GameID>2554903736320</GameID>
<Set>0</Set>
<Round>91</Round>
<PayoutTime>2023-12-07 13:08:28</PayoutTime>
<HostID>531</HostID>
<GameType>xocdia</GameType>
<IncorrectResult>
<XocDiaResult>
<NoOfRed>3</NoOfRed>
</XocDiaResult>
</IncorrectResult>
<CorrectResult>
<XocDiaResult>
<NoOfRed>3</NoOfRed>
</XocDiaResult>
</CorrectResult>
<ImpactedTransactionList>
<Count>1</Count>
<GETransactionDetailList>
<GETransactionDetail>
<BetTime>2023-12-07 13:08:04</BetTime>
<PayoutTime>2023-12-07 13:08:28</PayoutTime>
<AdjustmentTime>2023-12-07 18:31:16</AdjustmentTime>
<Username>testuser@sa</Username>
<BetID>167906573</BetID>
<Currency>USD</Currency>
<BetType>2</BetType>
<BetAmount>5000.00</BetAmount>
<OriginalWinlose>-5000.00</OriginalWinlose>
<AdjustedWinlose>0.00</AdjustedWinlose>
</GETransactionDetail>
</GETransactionDetailList>
</ImpactedTransactionList>
</GameErrorResult>
</GameErrorResultList>
</HostList>
</GameID>
</Username>
</GetGameErrorDetailResponse>
5.3.11.GetUnsuccessfulBetDetails
This Web service will fetch unsuccessful bet details for the current lobby of the specified date from 12:00 PM to 11:59:59 AM. The frequency of the call should be made to this API 10 times per 5 minutes otherwise it will throw an error. The maximum date range is 24 hours and 1000 records will be returned per page.
Parameters| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be "GetUnsuccessfulBetDetails" | String (32) | Y |
| Key | Secret key | String (32) | Y |
| Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
| Username | Username | String (48) | N |
| GameID | Game ID | String (64) | N |
| FromTime | Date for details “yyyy-MM-dd HH:mm:ss” - If GameID is input, this field is not required | Date Time | N |
| ToTime | Date for details “yyyy-MM-dd HH:mm:ss” - If GameID is input, this field is not required | Date Time | N |
| PageNum | Page number - By default the page number is 1 for the first query | Int | N |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| Username | The input Username | String (48) | Y |
| GameID | The input GameID | String (64) | Y |
| FromTime | The input FromTime | DateTime | Y |
| ToTime | The input ToTime | DateTime | Y |
| NumOfRecord | The total number of record(s) | Int | Y |
| NumOfPage | The total number of page(s) | Int | Y |
| PageNum | Current page number | Int | Y |
| UnsuccessfulBetDetailList | UnsuccessfulBetDetail structure | XML | Y |
| ErrorMsgId | Error message ID | Byte | Y |
| ErrorMsg | Error message description | String | Y |
| Name | Description | Type and Limit | Required? | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| UTID | Unsuccessful Transaction ID | Int64 | Y | ||||||||||||||||
| GameID | Game ID | String | Y | ||||||||||||||||
| HostID | Host ID | Int16 | Y | ||||||||||||||||
| GameType | Game type | String | Y | ||||||||||||||||
| Round | Game Round | Int | Y | ||||||||||||||||
| Set | Game Set | Int | Y | ||||||||||||||||
| BetTime | Bet Confirmation Time | DateTime | Y | ||||||||||||||||
| Username | Username | String (48) | Y | ||||||||||||||||
| TransactionID | Seamless wallet PlaceBet transaction ID. -1 if not using seamless wallet | Int64 | Y | ||||||||||||||||
| BetID | Bet ID - Empty if Bet ID is not available | Int64 | Y | ||||||||||||||||
| Currency | Currency | String (16) | Y | ||||||||||||||||
| BetAmount | Bet amount | Decimal | Y | ||||||||||||||||
| BetType | Bet type | Int | Y | ||||||||||||||||
| BetSource |
| Int | Y | ||||||||||||||||
| BetConfirmation | 0 – Manual 1 – Auto | Int | Y | ||||||||||||||||
| UnsuccessfulReason | Unsuccessful Reason Code | Int | Y |
Output:
<?xml version="1.0" encoding="utf-8"?>
<GetUnsuccessfulBetDetailsResponse
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ErrorMsgId>0</ErrorMsgId>
<ErrorMsg>Success</ErrorMsg>
<GameID>26170445877248</GameID>
<Username>testuser</Username>
<FromTime>2024-12-19 16:00:00</FromTime>
<ToTime>2024-12-19 17:00:59</ToTime>
<NumOfRecord>157</NumOfRecord>
<NumOfPage>1</NumOfPage>
<PageNum>1</PageNum>
<UnsuccessfulBetDetailList>
<UnsuccessfulBetDetail>
<BetTime>2024-12-19 16:59:20</BetTime>
<UTID>182537</UTID>
<GameID>26170445877248</GameID>
<HostID>533</HostID>
<GameType>rot</GameType>
<Round>289</Round>
<Set>0</Set>
<Username>testuser</Username>
<TransactionID>-1</TransactionID>
<BetID />
<Currency>USD</Currency>
<BetAmount>1</BetAmount>
<BetType>0</BetType>
<BetSource>2640</BetSource>
<UnsuccessfulReason>14</UnsuccessfulReason>
<BetConfirmation>1</BetConfirmation>
</UnsuccessfulBetDetail>
<UnsuccessfulBetDetail>
<BetTime>2024-12-19 16:59:20</BetTime>
<UTID>182538</UTID>
<GameID>26170445877248</GameID>
<HostID>533</HostID>
<GameType>rot</GameType>
<Round>289</Round>
<Set>0</Set>
<Username>testuser</Username>
<TransactionID>-1</TransactionID>
<BetID />
<Currency>USD</Currency>
<BetAmount>1</BetAmount>
<BetType>1</BetType>
<BetSource>2640</BetSource>
<UnsuccessfulReason>14</UnsuccessfulReason>
<BetConfirmation>1</BetConfirmation>
</UnsuccessfulBetDetail>
<UnsuccessfulBetDetail>
<BetTime>2024-12-19 16:59:20</BetTime>
<UTID>182539</UTID>
<GameID>26170445877248</GameID>
<HostID>533</HostID>
<GameType>rot</GameType>
<Round>289</Round>
<Set>0</Set>
<Username>testuser</Username>
<TransactionID>-1</TransactionID>
<BetID />
<Currency>USD</Currency>
<BetAmount>1</BetAmount>
<BetType>2</BetType>
<BetSource>2640</BetSource>
<UnsuccessfulReason>14</UnsuccessfulReason>
<BetConfirmation>1</BetConfirmation>
</UnsuccessfulBetDetail>
</UnsuccessfulBetDetailList>
</GetUnsuccessfulBetDetailsResponse>
5.3.12.GetGiftTransactionDetails
This web service is used to fetch the gift records. If the date range is not input, previous 2 months + current month data will be returned.
The frequency of the call should be made to this API 10 times per 5 minutes otherwise it will throw an error. Each page will return up to 1,000 records.
Parameters| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be "GetGiftTransactionDetails" | String (32) | Y |
| Key | Secret key | String (32) | Y |
| Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
| Username | Username | String (48) | N |
| HostID | Host table ID | Int (16) | N |
| FromTime | Date for details “yyyy-MM-dd HH:mm:ss” | DateTime | N |
| ToTime | Date for details “yyyy-MM-dd HH:mm:ss” | DateTime | N |
| PageNum | Page number - By default the page number is 1 for the first query | Int | N |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| Username | The input Username | String (48) | Y |
| HostID | The HostID | Int (16) | Y |
| FromTime | The input FromTime | DateTime | Y |
| ToTime | The input ToTime | DateTime | Y |
| NumOfRecord | The total number of record(s) | Int | Y |
| NumOfPage | The total number of page(s) | Int | Y |
| PageNum | Current page number | Int | Y |
| GiftTransactionDetailList | GiftTransactionDetailList structure | XML | Y |
| ErrorMsgId | Error message ID | Byte | Y |
| ErrorMsg | Error message description | String | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| HostID | Host ID | Int16 | Y |
| GameType | Game type | String | Y |
| Username | Username | String (48) | Y |
| GiftTxnID | Gift Transaction ID | Int64 | Y |
| GiftTxnTime | Gift Transaction Time | DateTime | Y |
| Currency | Currency | String (16) | Y |
| GiftType | 1 – Gift 1 (Heart) 2 – Gift 2 (Flowers) 3 – Gift 3 (Champagne) 4 – Gift 4 (Electronics) 5 – Gift 5 (Ring) 6 – Gift 6 (Purse) 7 – Gift 7 (Watch) 8 – Gift 8 (Car) | Int | Y |
| GiftAmount | Gift amount | Decimal | Y |
| DealerID | Dealer ID | Int | N |
| DealerName | Dealer Name | String (48) | N |
| TransactionID | Seamless wallet Balance Adjustment transaction ID. -1 if not using seamless wallet | Int64 | Y |
Output:
<?xml version="1.0" encoding="utf-8"?>
<GetGiftTransactionDetailsResponse xmlns:xsd=
"http://www.w3.org/2001/XMLSchema" xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance">
<ErrorMsgId>0</ErrorMsgId>
<ErrorMsg>Success</ErrorMsg>
<UserName>DemoUser001</UserName>
<HostID>533</HostID>
<FromTime>2023-09-01 00:00:00</FromTime>
<ToTime>2023-11-13 14:31:07</ToTime>
<NumOfRecord>1001</NumOfRecord>
<NumOfPage>1001</NumOfPage>
<PageNum>1</PageNum>
<GiftTransactionDetailList>
<GiftTransactionDetail>
<HostID>533</HostID>
<GameType>rot</GameType>
<UserName>DemoUser001</UserName>
<GiftTxnID>17414322305</GiftTxnID>
<GiftTxnTime>2023-09-01 00:00:01</GiftTxnTime>
<Currency>USD</Currency>
<GiftType>1</GiftType>
<GiftAmount>5.00</GiftAmount>
<DealerID>1423</DealerID>
<DealerName>Amara</DealerName>
<TransactionID>10000000792640</TransactionID>
</GiftTransactionDetail>
<GiftTransactionDetail>
<HostID>533</HostID>
<GameType>rot</GameType>
<UserName>DemoUser001</UserName>
<GiftTxnID>17414322306</GiftTxnID>
<GiftTxnTime>2023-09-01 00:01:01</GiftTxnTime>
<Currency>USD</Currency>
<GiftType>1</GiftType>
<GiftAmount>10.00</GiftAmount>
<DealerID>1423</DealerID>
<DealerName>Amara</DealerName>
<TransactionID>10000000792642</TransactionID>
</GiftTransactionDetail>
</GiftTransactionDetailList>
</GetGiftTransactionDetailsResponse>
5.4.Transfer Wallet
The Transfer wallet API includes a transfer in, out and order status checking functions.
Throughout those functions, there is an OrderID inside each of them. In case a transfer was failed due to network problem and become unsuccessful, be sure to use the same OrderID to initiate another try. We guarantee the same OrderID will not be processed twice. Using a new OrderID for the same transfer may cause a duplicate transfer. Even you have checked the OrderID not existing by using CheckOrderID, you should still use the same OrderID.
5.4.1.DebitBalanceDV
Transfer from the user’s balance.
Parameters| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be "DebitBalanceDV" | String (32) | Y |
| Key | Secret key | String (32) | Y |
| Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
| Username | Username | String (48) | Y |
| OrderId | Order ID: OUT+yyyyMMddHHmmss+Username e.g. “OUT20131129130345peter1235” | String (64) | Y |
| DebitAmount | Debit amount. Maximum two decimal only. | Decimal | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| Username | Username | String (48) | Y |
| Balance | Remained active balance | Decimal | Y |
| DebitAmount | Debited amount | Decimal | Y |
| OrderId | Order ID | String (64) | Y |
| ErrorMsgId | Error message: 0: Success 106: Server not ready. Try again later. 108: Username length/format incorrect 116: Username does not exist 120: Amount must be larger than zero 121: Not enough points to credit/debit 122: Order ID already exists 124: Database error 127: Invalid order ID format 142: Error Parameter 145: Parameter decimal point greater than 2 159: This API is for transfer wallet | Byte | Y |
| ErrorMsg | Error message detail | String | Y |
Output
<?xml version="1.0" encoding="utf-8"?>
<DebitBalanceResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ErrorMsgId>0</ErrorMsgId>
<ErrorMsg>Success</ErrorMsg>
<Username>sauser</Username>
<Balance>10000</Balance>
<DebitAmount>1000</DebitAmount>
<OrderId>OUT20000208099004sauser</OrderId>
</DebitBalanceResponse>
5.4.2.DebitAllBalanceDV
Transfer all amount from the user’s balance.
Parameters| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be "DebitAllBalanceDV" | String (32) | Y |
| Key | Secret key | String (32) | Y |
| Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
| Username | Username | String (48) | Y |
| OrderId | Order ID: OUT+yyyyMMddHHmmss+Username e.g. “OUT20131129130345peter1235” | String (64) | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| Username | Username | String (48) | Y |
| DebitAmount | Debited amount | Decimal | Y |
| OrderId | Order ID | String (64) | Y |
| ErrorMsgId | Error message: 0: Success 106: Server not ready. Try again later. 116: Username does not exist 122: Order ID already exists 124: Database error 127: Invalid order ID format 159: This API is for transfer wallet | Byte | Y |
| ErrorMsg | Error message detail | String | Y |
Output
<?xml version="1.0" encoding="utf-8"?>
<DebitAllBalanceResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ErrorMsgId>0</ErrorMsgId>
<ErrorMsg>Success</ErrorMsg>
<Username>sauser</Username>
<DebitAmount>10000</DebitAmount>
<OrderId>OUT20000208099002sauser</OrderId>
</DebitAllBalanceResponse>
5.4.3.CreditBalanceDV
Transfer fund to user’s balance. If the username does not exist, the system will automatically create that new user.
Parameters| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be "CreditBalanceDV" | String (32) | Y |
| Key | Secret key | String (32) | Y |
| Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
| Username | Username | String (48) | Y |
| OrderId | Order ID: IN+yyyyMMddHHmmss+Username e.g. “IN20131129130345peter1235” | String (64) | Y |
| CreditAmount | Credit amount | Decimal | Y |
| CurrencyType | Currency: USD Refer to Supported currencies | String (16) | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| Username | Username | String (48) | Y |
| Balance | Balance after credit | Decimal | Y |
| CreditAmount | Credited amount | Decimal | Y |
| OrderId | Order ID | String (64) | Y |
| ErrorMsgId | Error message: 0: Success 106: Server not ready. Try again later. 108: Username length/format incorrect 116: Username does not exist 120: Amount must be larger than zero 121: Not enough points to credit/debit 122: Order ID already exists 124: Database error 127: Invalid order ID format 133: Create user failed 142: Error Parameter 145: Parameter decimal point greater than 2 159: This API is for transfer wallet | Byte | Y |
| ErrorMsg | Error message detail | String | Y |
Output
<?xml version="1.0" encoding="utf-8"?>
<CreditBalanceResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ErrorMsgId>0</ErrorMsgId>
<ErrorMsg>Success</ErrorMsg>
<Username>sauser</Username>
<Balance>10000</Balance>
<CreditAmount>10000</CreditAmount>
<OrderId>IN2000208099001sauser</OrderId>
</CreditBalanceResponse>
5.4.4.CheckOrderId
Check the OrderId that generated in DebitBalanceDV/DebitAllBalanceDV/CreditBalanceDV is existing or not in our system.
Parameters| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be "CheckOrderId" | String (32) | Y |
| Key | Secret key | String (32) | Y |
| Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
| OrderId | The OrderId used in
| String (64) | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| isExist | The OrderId exist or not
| String | Y |
| ErrorMsgId | Error message: 0: Success 106: Server not ready. Try again later. 124: Database error 127: Invalid order ID format 159: This API is for transfer wallet | Byte | Y |
| ErrorMsg | Error message detail | String | Y |
Output
<?xml version="1.0" encoding="utf-8"?>
<CheckOrderIdResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ErrorMsgId>0</ErrorMsgId>
<ErrorMsg>Success</ErrorMsg>
<isExist>true</isExist>
</CheckOrderIdResponse>
5.4.5.CheckOrderDetailsDV
Check the OrderId details of fund transfer orders (deposit & withdrawal)
Parameters| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be "CheckOrderDetailsDV" | String (32) | Y |
| Key | Secret key | String (32) | Y |
| Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
| OrderId | The OrderId used in
| String (64) | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| isExist | The OrderId exist or not
If true, the Date, Type, Currency, Amount, PreviousBalance and Balance parameter will be returned | String | Y |
| ErrorMsgId | Error message: 0: Success 106: Server not ready. Try again later. 124: Database error 127: Invalid order ID format 159: This API is for transfer wallet | Byte | Y |
| ErrorMsg | Error message detail | String | Y |
| Date | Transaction time | DateTime | N |
| Type |
| Byte | N |
| Currency | Currency: USD Refer to Supported currencies | String (16) | N |
| Amount | Transfer amount (withdraw or deposit) (decimal format and max. 2 decimal places) | Decimal | N |
| PreviousBalance | Amount before adjustment (decimal format and max. 2 decimal places) (Not applicable for seamless wallet) | Decimal | N |
| Balance | Amount after adjustment (decimal format and max. 2 decimal places) (Not applicable for seamless wallet) | Decimal | N |
Output
<?xml version="1.0" encoding="utf-8"?>
<CheckOrderDetailsResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ErrorMsgId>0</ErrorMsgId>
<ErrorMsg>Success</ErrorMsg>
<isExist>true</isExist>
<Date>2001-03-08T12:03:30.94</Date>
<Type>0</Type>
<Currency>THB</Currency>
<Amount>100000</Amount>
<PreviousBalance>1000000</PreviousBalance>
<Balance>1100000</Balance>
</CheckOrderDetailsResponse>
5.5.Seamless Wallet
5.5.1.ResendTransaction
For PlayerWin, PlayerLost & PlaceBetCancel request, SA will keep re-sending it until receiving proper response. If SA couldn’t receive proper response after 2 hours, SA will consider it as failed and move it to unsuccessful transaction list.
This Web service can be used for re-sending the requests under unsuccessful transaction list by gameid. The frequency of the call should be made to this API 1 per 5 minutes otherwise it will throw an error.
Parameters| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be "ResendTransaction" | String (32) | Y |
| Key | Secret key | String (32) | Y |
| Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
| GameID | Game ID | String | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| TransactionDetailList | Transaction ID details structure | XML | Y |
| ErrorMsgId | Error message: 0: Success 142: Parameter(s) error 160: This API is for seamless wallet | Byte | Y |
| ErrorMsg | Error message detail | String | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| ID | Seamless wallet transaction ID. | Int64 | Y |
Output
<?xml version="1.0" encoding="utf-8"?>
<ResendTransactionResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ErrorMsgId>0</ErrorMsgId>
<ErrorMsg>Success</ErrorMsg>
<TransactionDetailList>
<TransactionDetail>
<ID>1567164744</ID>
</TransactionDetail>
<TransactionDetail>
<ID>1567164826</ID>
</TransactionDetail>
</TransactionDetailList>
</ResendTransactionResponse>
5.6.Campaign Management
5.6.1.GetEventPointTransactionDetail
This web service will fetch the event point transaction details of a player for a time interval maximum 31 days. You may specify a username to query event point transaction details of a certain user.
Parameters| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be "GetEventPointTransactionDetail" | String (32) | Y |
| Key | Secret key | String (32) | Y |
| Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
| EventID | Event ID | Int32 | Y |
| Username | Username | String (48) | Y |
| FromTime | Date for details “yyyy-MM-dd HH:mm:ss” | DateTime | Y |
| ToTime | Date for details “yyyy-MM-dd HH:mm:ss” | DateTime | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| EventPointTransactionDetail | EventPointTransactionDetail structure | XML | Y |
| ErrorMsgId | Error message: 0: Success 108: Username length/format incorrect 111: Query time range out of limitation 116: Username does not exist | Byte | Y |
| ErrorMsg | Error message detail | String | Y |
| EventID | The input Event ID | Int32 | Y |
| Username | The input Username | String (48) | Y |
| FromTime | The input FromTime | DateTime | Y |
| ToTime | The input ToTime | DateTime | Y |
| NumOfRecord | No of records returned | Int16 | Y |
* Time zone-> system default uses UTC+8 for all API calls
EventPointTransactionDetail Structure| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| TransactionTime | Payout time | Date Time | Y |
| RedemptionID | Redemption ID | Int64 | N |
| GameID | Game ID | String | N |
| PointAmount | obtained or used event points | Decimal | Y |
| PointBalance | Balance after obtaining or using points | Decimal | Y |
| EventSource | 0 = Live 1 = GameAPI 2 = BO 3 = Scratch Win | Int | Y |
Output:
<?xml version="1.0" encoding="utf-8"?>
<GetEventPointTransactionDetailResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ErrorMsgId>0</ErrorMsgId>
<ErrorMsg>Success</ErrorMsg>
<EventPointTransactionDetail>
<PointTransactionDetail>
<TransactionTime>2025-07-07 14:00:02</TransactionTime>
<PointAmount>254</PointAmount>
<PointBalance>1226</PointBalance>
<EventSource>2</EventSource>
</PointTransactionDetail>
<PointTransactionDetail>
<TransactionTime>2025-07-07 13:14:15</TransactionTime>
<PointAmount>400</PointAmount>
<PointBalance>972</PointBalance>
<EventSource>1</EventSource>
</PointTransactionDetail>
<PointTransactionDetail>
<TransactionTime>2025-07-07 13:13:19</TransactionTime>
<RedemptionID>425</RedemptionID>
<PointAmount>-200</PointAmount>
<PointBalance>572</PointBalance>
<EventSource>3</EventSource>
</PointTransactionDetail>
<PointTransactionDetail>
<TransactionTime>2025-07-07 13:12:31</TransactionTime>
<RedemptionID>424</RedemptionID>
<PointAmount>-500</PointAmount>
<PointBalance>772</PointBalance>
<EventSource>3</EventSource>
</PointTransactionDetail>
<PointTransactionDetail>
<TransactionTime>2025-07-07 13:12:18</TransactionTime>
<GameID>76301171445760</GameID>
<PointAmount>1272</PointAmount>
<PointBalance>1272</PointBalance>
<EventSource>0</EventSource>
</PointTransactionDetail>
</EventPointTransactionDetail>
<EventID>250002</EventID>
<Username>DemoUser001</Username>
<FromTime>2025-07-07 00:00:00</FromTime>
<ToTime>2025-07-08 00:00:00</ToTime>
<NumOfRecord>5</NumOfRecord>
</GetEventPointTransactionDetailResponse>
5.6.2.GetEventWinningDetail
This web service will fetch bet details of a lobby for a time interval maximum 24 hours.
The frequency of this call should be made to this API is 10 times per 5 minutes. Otherwise, it will throw an error.
Parameters| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be "GetEventWinningDetail" | String (32) | Y |
| Key | Secret key | String (32) | Y |
| Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
| EventID | Event ID | Int32 | Y |
| Username | Username | String (48) | N |
| FromTime | Date for details “yyyy-MM-dd HH:mm:ss” | DateTime | N |
| ToTime | Date for details “yyyy-MM-dd HH:mm:ss” | DateTime | N |
* Username – If not entered, then return all player winning records (separated by player username)
* FromTime/ToTime – If not entered, then return the past 24 hours of records
Response parameters| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| EventWinningDetailList | EventWinningDetailList structure | XML | Y |
| ErrorMsgId | Error message: 0: Success 108: Username length/format incorrect 111: Query time range out of limitation 112: API recently called 116: Username does not exist 142: Parameter(s) error | Byte | Y |
| ErrorMsg | Error message detail | String | Y |
| EventID | The input Event ID | Int32 | Y |
| Username | The input Username | String (48) | Y |
| FromTime | The input FromTime | DateTime | Y |
| ToTime | The input ToTime | DateTime | Y |
| NumOfRecord | No of records returned | Int16 | Y |
* Time zone-> system default uses UTC+8 for all
EventWinningDetailList structure| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| TransactionTime | Payout time | Date Time | Y |
| Username | Player name | String(48) | Y |
| RedemptionID | Redemption ID | Int64 | Y |
| TransactionID | Seamless wallet transaction ID. -1 if not using seamless wallet | Int64 | Y |
| PromotionType | 1 = Scratch & Win | Int | Y |
| PrizeType | Prize type of event mini game 1 = Gold 2 = Silver 3 = Bronze | Int | Y |
| WinningAmount | Win or loss summary value | Decimal | Y |
| Currency | Currency: Refer to Supported currencies | String(16) | Y |
| Balance | Balance after this bet | Decimal | Y |
Output:
<?xml version="1.0" encoding="utf-8"?>
<GetEventWinningDetailResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ErrorMsgId>0</ErrorMsgId>
<ErrorMsg>Success</ErrorMsg>
<EventWinningDetailList>
<EventWinningDetail>
<TransactionTime>2025-07-07 13:12:31</TransactionTime>
<Username>satestthb</Username>
<RedemptionID>424</RedemptionID>
<TransactionID>-1</TransactionID>
<PromotionType>1</PromotionType>
<PrizeType>2</PrizeType>
<WinningAmount>3000</WinningAmount>
<Currency>THB</Currency>
<Balance>13496.9</Balance>
</EventWinningDetail>
<EventWinningDetail>
<TransactionTime>2025-07-07 13:13:19</TransactionTime>
<Username>satestthb</Username>
<RedemptionID>425</RedemptionID>
<TransactionID>-1</TransactionID>
<PromotionType>1</PromotionType>
<PrizeType>3</PrizeType>
<WinningAmount>2000</WinningAmount>
<Currency>THB</Currency>
<Balance>15496.9</Balance>
</EventWinningDetail>
</EventWinningDetailList>
<EventID>250002</EventID>
<Username>DemoUser001</Username>
<FromTime>2025-07-07 00:00:00</FromTime>
<ToTime>2025-07-08 00:00:00</ToTime>
<NumOfRecord>2</NumOfRecord>
</GetEventWinningDetailResponse>
5.6.3.GetEventWinningDetailForTransactionID
This web service is used for seamless wallet to fetch the event records details of a BalanceAdjustment transaction ID.
Example: use BalanceAdjustment’s transaction ID will return the related transaction ID’s event details.
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be "GetEventWinningDetailForTransactionID" | String (32) | Y |
| key | Secret key | String (32) | Y |
| Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
| TransactionID | Transaction ID of a PlayerPrizeAward | String (16) | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| NumOfRecord | The number of record(s) returned | Int | Y |
| TransactionID | The input Transaction ID | String (16) | Y |
| EventWinningDetailList | EventWinningDetailList structure | XML | Y |
| ErrorMsgId | Error message 0: Success 106: Server not ready 152: Transaction ID not found 160: This API is for seamless wallet | Byte | Y |
| ErrorMsg | Error message detail | String | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| TransactionTime | Payout time | Date Time | Y |
| Username | Player name | String(48) | Y |
| RedemptionID | Redemption ID | Int64 | Y |
| TransactionID | Seamless wallet PlaceBet transaction ID. -1 if not using seamless wallet | Int64 | Y |
| PromotionType | Promotion Type 1 = Scratch & Win | Int | Y |
| PrizeType | Prize type of event mini game 1 = Gold 2 = Silver 3 = Bronze | Int | Y |
| WinningAmount | Win or loss summary value | Decimal | Y |
| Currency | Currency: Refer to Supported currencies | String(16) | Y |
| Balance | Balance after this bet | Decimal | Y |
Output:
<?xml version="1.0" encoding="utf-8"?>
<GetEventWinningDetailForTransactionIDResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ErrorMsgId>0</ErrorMsgId>
<ErrorMsg>Success</ErrorMsg>
<EventWinningDetailList>
<EventWinningDetail>
<TransactionTime>2025-08-01 17:37:42</TransactionTime>
<Username>DemoUser001</Username>
<RedemptionID>427</RedemptionID>
<TransactionID>1953368</TransactionID>
<PromotionType>1</PromotionType>
<PrizeType>2</PrizeType>
<WinningAmount>20</WinningAmount>
<Currency>USD</Currency>
<Balance>0</Balance>
</EventWinningDetail>
</EventWinningDetailList>
<TransactionID>1953368</TransactionID>
<NumOfRecord>1</NumOfRecord>
</GetEventWinningDetailForTransactionIDResponse>
5.6.4.CreditEventPoint
This web service transfers event points to user’s points balance.
Parameters| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be "CreditEventPoint" | String (32) | Y |
| Key | Secret key | String (32) | Y |
| Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
| EventID | Event ID | Int32 | Y |
| Username | User name | String (48) | Y |
| OrderID | Order ID: IN+yyyyMMddHHmmss+Username e.g. “IN20131129130345peter1235” | String (64) | Y |
| CreditPointAmount | Credit event points amount | Decimal | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| Username | Username | String (48) | Y |
| CreditPointAmount | Credit event point amount | Decimal | Y |
| PointBalance | Balance after credit | Decimal | Y |
| OrderID | OrderID | String (64) | Y |
| ErrorMsgId | Error message: 0: Success 108: Username length/format incorrect 116: Username does not exist 120: Amount must be larger than zero 122: Order ID already exists 127: Invalid order ID format 161: Event not exist 163: Not active event | Byte | Y |
| ErrorMsg | Error message detail | String | Y |
* Time zone-> system default uses UTC+8 for all API calls
5.6.5.GetLeaderboardRankingDetail
This web service is used to fetch leaderboard rankings.
The event data will be kept for 3 months after the event ends.
The frequency of the call should be made 10 times per 5 minutes. Otherwise, it will throw an error. It will return up to 500 records.
Database records update every 15 seconds.
Parameters| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| method | Must be "GetLeaderboardRankingDetail" | String (32) | Y |
| Key | Secret key | String (32) | Y |
| Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
| EventID | Event ID *only return leaderboard event | Int | Y |
| Username | Username (Participant) | String (48) | N |
| TopN | Returns relevant records within the top N spots, 1-500 Default top 500 if no input | Int | N |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| EventID | The input Event ID | Int16 | Y |
| Username | The input Username | String (48) | Y |
| TopN | The input TopN | Int | Y |
| CurrencyList | Currency structure | XML | Y |
| AmountType | 1 - Valid Bet Amount 2 - Win/Loss Amount | Int | Y |
| RankingDetailList | RankingDetail structure | XML | Y |
| ErrorMsgID | Error message: 0: Success 106: Server not ready. Try again later 108: Username length/format incorrect 112: API recently called 116: Username does not exist 142: Parameter(s) error 163: Not active event 164: The requested player does not meet the search criteria (including player out of 500/player does not participate in this event) 165: TopN should be between 1-500 | Byte | Y |
| ErrorMsg | Error message detail | String | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| Currency | Currency for the Leaderboard campaign | String (16) | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| Rank | Player’s latest ranking - up to top 500 - start from 1 (ordering 1 > 500) | Int | Y |
| Username | Username | String (48) | Y |
| Currency | Player’s currency | String (16) | Y |
| Amount | Amount of Player’s currency | Decimal | Y |
| RankingCurrency | Currency used in ranking | String (16) | Y |
| RankingAmount | Amount used in ranking | Decimal | Y |
Output:
<?xml version="1.0" encoding="utf-8"?>
<GetLeaderboardRankingDetailResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ErrorMsgId>0</ErrorMsgId>
<ErrorMsg>Success</ErrorMsg>
<GetLeaderboardRankingDetail>
<EventID>8</EventID>
<Username></Username>
<TopN>5</TopN>
<AmountType>1</AmountType>
<CurrencyList>
<Currency>THB</Currency>
<Currency>USD</Currency>
<Currency>VND</Currency>
</CurrencyList>
<RankingDetailList>
<RankingDetail>
<Rank>1</Rank>
<Username>test</Username>
<Currency>USD</Currency>
<Amount>100.00</Amount>
<RankingCurrency>USD</RankingCurrency>
<RankingAmount>100.00</RankingAmount>
</RankingDetail>
<RankingDetail>
<Rank>5</Rank>
<Username>test11</Username>
<Currency>THB</Currency>
<Amount>100.00</Amount>
<RankingCurrency>USD</RankingCurrency>
<RankingAmount>4.00</RankingAmount>
</RankingDetail>
</RankingDetailList>
</GetLeaderboardRankingDetail>
<GetLeaderboardRankingDetailResponse/>
6.Seamless Wallet Integration
6.1.Introduction
This section is to illustrate the detail of implementing seamless wallet in external partner system.
SA Gaming platform provides “Test Plan” to assist operators in integration. Please contact our CS for more information.
Important: While probably obvious, it’s worth stating that when Seamless Wallet is in use, the CreditBalanceDV/DebitBalanceDV/DebitAllBalanceDV API should not be used to modify a player’s balance.
6.2.Workflow
Basically the partner system have to provide a set of API functions for our system to call:
- GetUserBalance
- Fund Transfer
GetUserBalance will be called when the user login to our platform or user click refresh balance in the web client.
Fund Transfer function includes four types of transfer:
- PlaceBet
- It is sent to the partner system when the user places a bet. The function will be timed out after 3 seconds and PlaceBetCancel will be sent.
- PlayerWin
- When a bet placed before is winning (bet amount + result amount > 0), the total amount (including stakes) will send to partner system.
- PlayerLost
- When a bet placed before is losing, this request will be sent to the partner system. Although it is no amount adjustment, it is still worth to let partner system to update the state of an open transaction.
- PlaceBetCancel
- PlaceBetCancel will only be sent when previous PlaceBet is failed due to timeout or partner system error. Partner system should refund the user if the transaction has been done in the partner system side.
For PlayerWin, PlayerLost & PlaceBetCancel request, SA will keep re-sending it until receiving proper response. If SA couldn’t receive proper response after 2 hours, SA will consider it as failed and move it to unsuccessful seamless wallet transaction list.
For re-sending the requests under unsuccessful seamless wallet transaction list, operator can either visit back office or using API 5.5.1 ResendTransaction.
General Case:
- Received GetUserBalance request: No balance adjustment is required, return error=0 with user’s current balance.
- Received PlaceBet request: Deduct the bet amount, return us error=0 with user’s current balance.
- Received PlayerWin request: Credit balance to user, return us error=0 with user’s current balance.
- Received PlayerLost request: No balance adjustment is required, return us error=0 with user’s current balance.
- Received PlaceBetCancel request: Refund the corresponding PlaceBet bet amount to user, return us error=0 with user’s current balance.
**All above Fund Transfer functions provide a unique transaction ID and partner system should only process once and only once, but must always respond.
Operator should provide these five individual aspx, php, etc. to allow SA Gaming platform to call:
E.g.:
- /GetUserBalance.aspx
- /PlaceBet.aspx
- /PlayerWin.aspx
- /PlayerLost.aspx
- /PlaceBetCancel.aspx
** Operator can only use ONE type of extension, no multiple extension is allowed.
6.3.Seamless Wallet Protocol
SA Gaming platform will use HTTP/HTTPS POST request to communicate with the external wallet. All of the parameters will be encrypted and pass as a text value.
The following is an example of a request string that SA Gaming platform sends to external wallet before encryption:
username=satest¤cy=EUR
6.3.1.Encryption Procedures
We will use DES CBC encryption. The following are the example of DES Encrypt/Decrypt function:
ASP.Net version
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 version
<?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");
}
}
?>
6.3.2.POST
After encrypted the request string, we will POST the encrypted string with urlencoded as plain text:
POST / HTTP/1.0
Content-Type: text/plain
MDQGx7yYdmaqv8cOcA9dc4fDJocHtaTJnmz7TM4fNvE%3d
Partner system have to urldecode and decrypt the string by the provided key and perform the requested function.
6.3.3.Response Data
Partner system should respond the request in XML format:
<?xml version="1.0" encoding="utf-8"?>
<RequestResponse>
<username>satest</username>
<currency>EUR</currency>
<amount>1532.36</amount>
<error>0</error>
</RequestResponse>
6.4.GetUserBalance
This request is sent to the partner system to retrieve the balance of a user.

| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| username | Username | String (48) | Y |
| currency | ISO 3 characters e.g. USD/EUR. Except mXBT | String (16) | Y |
E.g.
username=satest¤cy=EURResponse parameters:
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| username | Username | String (48) | Y |
| currency | ISO 3 characters e.g. USD/EUR. Except mXBT | String (16) | Y |
| amount | Decimal format and max. 2 decimal places | Decimal | Y |
| error | Error code | Int | Y |
6.5.Fund Transfer
SA Gaming platform makes different fund transfer request to partner system to modify the balance of the player, either to withdraw funds for a bet, or to deposit funds for a win.
6.5.1.PlaceBet
When a player makes a bet in a game, SA Gaming platform will send this request to partner system. This request must be responded within 3 seconds, otherwise it is defined as timeout and PlaceBetCancel will be sent to cancel/refund the unsuccessful bet.
Please note: Bets on Pok Deng Player 1 to Player 5 will withhold 2 times of the bet amount.
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| username | Username | String (48) | Y |
| currency | ISO 3 characters e.g. USD | String (16) | Y |
| amount | Amount to bet (decimal format and max. 2 decimal places) | Decimal | Y |
| txnid | A unique id for all fund transfer | String (16) | Y |
| timestamp | Timestamp in yyyy-MM-dd HH:mm:ss.fff (GMT +8) E.g. 2019-10-22 13:34:45.456 | DateTime | Y |
| ip | IP of the user | String | Y |
| gametype | Game type | String | Y |
| platform | 0 - desktop 1 - mobile | Byte | Y |
| hostid | Host ID, please refer to Section 10. | Int | Y |
| gameid | Game ID | String | Y |
| betdetails | Bet details array type - Bet type amount - Bet amount | JSON | Y |
E.g. :
username=satest¤cy=EUR&amount=200.00&txnid=312355&gametype=bac&platform=0×tamp=2021-03-19 16:11:36.344&gameid=23547362930688&hostid=901&ip=121.122.123.124&betdetails={“details”:[{“type”:2,”amount”:100},{“type”:3,”amount”:100}]}
Response parameters:| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| username | Username | String (48) | Y |
| currency | ISO 3 characters e.g. USD. Except mXBT | String (16) | Y |
| amount | Amount after adjustment (decimal format and max. 2 decimal places) | Decimal | Y |
| error | Error code | Int | Y |

6.5.2.PlayerWin
When a game completed and the player win (even bet return when result is Tie in Baccarat) PlayerWin will send to partner system to adjust the balance of the player. This request will keep trying if partner system no response or respond error.

| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| username | Username | String (48) | Y |
| currency | ISO 3 characters e.g. USD | String (16) | Y |
| amount | Amount to add back (decimal format and max. 2 decimal places) | Decimal | Y |
| rolling | Valid bet amount | Decimal | Y |
| txnid | A unique id for all fund transfer | String (16) | Y |
| timestamp | Timestamp in yyyy-MM-dd HH:mm:ss.fff (GMT +8) E.g. 2019-10-22 13:34:45.456 | DateTime | Y |
| gametype | Game type | String | Y |
| Payouttime | Time of the payout | DateTime | Y |
| hostid | Host ID, please refer to Section 10. | Int | Y |
| gameid | Game ID | String | Y |
| retry | 1st send: retry=0 2nd send: retry=1 | Int | Y |
| payoutdetails | BetList - List of bets with details | Structure | Y |
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| betid | Bet ID | Int64 | Y |
| bettype | Bet type | Int | Y |
| betamount | Bet amount | Decimal | Y |
| resultamount | Payout | Decimal | Y |
| txnid | A unique ID for all fund transfer | String (16) | Y |
| betsource | Bet source | Int | Y |
| rolling | Valid bet amount | Decimal | Y |
E.g. :
username=demo888¤cy=USD&amount=19.50&txnid=1748485&gametype=bac&Payouttime=2023-10-12 12:41:33×tamp=2023-10-12 12:42:01.024&rolling=19.50&gameid=38495191461888&hostid=871&retry=0&payoutdetails={“betlist”:[{“betid”:30862073,”bettype”:2,”betamount”:10,”resultamount”:9.5,”txnid”:1748484,”betsource”:2640,”rolling”:9.5},{“betid”:30862074,”bettype”:4,”betamount”:10,”resultamount”:-10,”txnid”:1748484,”betsource”:2640,”rolling”:10}]}
Response parameters:| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| username | Username | String (48) | Y |
| currency | ISO 3 characters e.g. USD. Except mXBT | String (16) | Y |
| amount | Amount after adjustment (decimal format and max. 2 decimal places) | Decimal | Y |
| error | Error code | Int | Y |
6.5.3.PlayerLost
When a game completed and the player lost. (no winning amount,) PlayerLost will be sent to the partner system. Since it is a loss so there is no amount parameter in the request. This request will keep trying if the partner system no response or responding error.
Parameters:| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| username | Username | String (48) | Y |
| currency | ISO 3 characters e.g. USD | String (3) | Y |
| rolling | Valid bet amount | Decimal | Y |
| txnid | A unique id for all fund transfer | String (16) | Y |
| timestamp | Timestamp in yyyy-MM-dd HH:mm:ss.fff (GMT +8) E.g. 2019-10-22 13:34:45.456 | DateTime | Y |
| gametype | Game type | String | Y |
| Payouttime | Time of the payout | DateTime | Y |
| hostid | Host ID, please refer to Section 10. | Int | Y |
| gameid | Game ID | String | Y |
| retry | 1st send: retry=0 2nd send: retry=1 | Int | Y |
| payoutdetails | BetList - List of bets with details - Refer to "PlayerWin" for details | Structure | Y |
E.g. :
username=satest¤cy=EUR&rolling=200&txnid=312358&gametype=bac&Payouttime=2021-03-19 16:12:28×tamp=2021-03-19 16:12:18.531&gameid=23547362930688&hostid=901&retry=0&payoutdetails=
{“betlist”:[{“betid”:30862073,”bettype”:2,”betamount”:100,”resultamount”:-100,”txnid”:312357,”betsource”:2640,”rolling”:100},{“betid”:30862074,”bettype”:4,”betamount”:100,”resultamount”:-100,”txnid”:312357,”betsource”:2640,”rolling”:100}]}
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| username | Username | String (48) | Y |
| currency | ISO 3 characters e.g. USD. Except mXBT | String (16) | Y |
| amount | Amount after adjustment (decimal format and max. 2 decimal places) | Decimal | Y |
| error | Error code | Int | Y |
6.5.4.PlaceBetCancel
If a PlaceBet request timeout or partner system responded an error, a PlaceBetCancel request will send to partner system. SA Gaming platform will treat it as bet failed and report to player that his bet has been failed. Partner system must handle this request once and only once and must respond to our platform.
Parameters:| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| username | Username | String (48) | Y |
| currency | ISO 3 characters e.g. USD | String (16) | Y |
| amount | Amount to add back (decimal format and max. 2 decimal places) | Decimal | Y |
| txnid | A unique id for all fund transfer | String (16) | Y |
| timestamp | Timestamp in yyyy-MM-dd HH:mm:ss.fff (GMT +8) E.g. 2019-10-22 13:34:45.456 | DateTime | Y |
| gametype | Game type | String | Y |
| hostid | Host ID, please refer to Section 10. | Int | Y |
| gameid | Game ID | String | Y |
| txn_reverse_id | Previous txnid in PlaceBet request which the response was not received within 3 seconds or responded with an error. | String (16) | Y |
| retry | 1st send: retry=0 2nd send: retry=1 | Int | Y |
| gamecancel | Brief reason for cancellation 1 - Cancellation due to dealer operation problems 0 - other reasons (For example: PlaceBet response timeout or respond with error) | Byte | Y |
E.g. :
username=satest¤cy=EUR&amount=100.00&txnid=312357&gametype=bac&txn_reverse_id=312356×tamp=2021-03-19 16:12:05.312&gameid=23547362930688&hostid=901&retry=0&gamecancel=0
Response parameters:| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| username | Username | String (48) | Y |
| currency | ISO 3 characters e.g. USD. Except mXBT | String (16) | Y |
| amount | Amount after adjustment (decimal format and max. 2 decimal places) | Decimal | Y |
| error | Error code | Int | Y |

6.5.5.BalanceAdjustment
The Balance Adjustment Web API facilitates fund transfer requests to partner systems for modifying player balances.
When a player needs an adjustment, SA Gaming platform will send the request to partner system and retries if there’s no response or an error occurs.
This API also manages gift requests, automatically sending a cancellation if a gift request times out or fails.
This API similarly manages rewards, allowing adjustment to a player’s balance when receiving prizes from rewards.
Parameters| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| username | Username | String (48) | Y |
| currency | ISO 3 characters e.g. USD | String (16) | Y |
| amount | Amount to adjust (decimal format and max. 2 decimal places) | Decimal | Y |
| txnid | A unique id for all fund transfer | String (16) | Y |
| timestamp | Timestamp in yyyy-MM-dd HH:mm:ss.fff (GMT +8) e.g. 2019-10-22 13:34:45.456 | DateTime | Y |
| adjustmenttype | 1 = Rewards 2 = Send Gift 3 = Cancel Gift | Int | Y |
| adjustmenttime | Time of the payout in “yyyy-MM-dd HH:mm:ss” | DateTime | Y |
| ip | Applicable for adjustmenttype = 2 only IP of the user | String | N |
| gametype | Applicable for adjustmenttype = 2 only Game type | String | N |
| platform | Applicable for adjustmenttype = 2 only 0 – desktop 1 – mobile | Byte | N |
| hostid | Applicable for adjustmenttype = 2 only Host ID, please refer to Section 10 | Int | N |
| retry | Applicable for adjustmenttype = 1 or 3 only 1st send: retry = 0 2nd send: retry = 1 | Int | N |
| adjustmentdetails | Adjustment detail: If adjustmenttype = 1 redemptionid – Redemption ID eventid – Event ID If adjustmenttype = 2 gifttype – Gift Type If adjustmenttype = 3 canceltxnid – The corresponding balance adjustment transaction ID to be cancelled | JSON | N |
Example if adjustmenttype = 1:
username=demo888¤cy=USD&amount=200.00&txnid=312354&adjustmenttype=1&adjustmenttime=2025-05-23 12:02:18×tamp=2025-05-23 12:02:18.610&retry=0&adjustmentdetails={“redemptionid”:18026697, “eventid”:250030}
Example if adjustmenttype = 2:
username=demo888¤cy=USD&amount=200.00&txnid=312355&adjustmenttype=2&adjustmenttime=2025-05-23 12:02:18.590×tamp=2025-05-23 12:02:18.610&ip=121.122.123.124&gametype=bac&platform=0&hostid=901&adjustmentdetails={“gifttype”:1}
Example if adjustmenttype = 3:
username=demo888¤cy=USD&amount=200.00&txnid=312356&adjustmenttype=3&adjustmenttime=2025-05-23 12:02:25.340×tamp=2025-05-23 12:02:25.350&retry=0&adjustmentdetails={“canceltxnid”:312355}
Response parameters:| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| username | Username | String (48) | Y |
| currency | ISO 3 characters e.g. USD | String (16) | Y |
| amount | Amount after adjustment (decimal format and max. 2 decimal places) | Decimal | Y |
| error | Error code | Int | Y |
6.6.Error Code List
Partner system should report to our platform with the following error codes:
| ID | Description |
|---|---|
| 0 | Success |
| 1000 | User account doesn’t exist |
| 1001 | Invalid currency |
| 1002 | Invalid amount |
| 1003 | Locked account |
| 1004 | Insufficient balance |
| 1005 | General error |
| 1006 | Decryption error |
| 1007 | Session expired error |
| 9999 | System error |
7.Error Message Code Reference
7.1.Common Error Message Code
| ID | Description |
|---|---|
| 100 | Username error |
| 101 | Account locked |
| 102 | Secret key incorrect |
| 104 | Service not available |
| 105 | Client side error |
| 106 | Server busy. Try again later. |
| 107 | Username empty |
| 108 | Username length/format incorrect |
| 110 | User not online |
| 111 | Query time range out of limitation |
| 112 | API recently called |
| 113 | Username duplicated |
| 114 | Currency not exist |
| 116 | Username does not exist |
| 120 | Amount must greater than zero |
| 121 | Not enough points to credit/debit/bet |
| 122 | Order ID already exists |
| 125 | Kick user fail |
| 127 | Invalid order ID format |
| 128 | Decryption error |
| 129 | System under maintenance |
| 130 | User account is locked (disabled) |
| 132 | Sign unmatch |
| 133 | Create user failed |
| 135 | Game access denied |
| 136 | Not enough point to bet |
| 137 | Bet string error |
| 138 | Bet time ended or not started |
| 142 | Parameter(s) error |
| 144 | Query type invalid |
| 145 | Parameter decimal point greater than 2 |
| 146 | API access denied |
| 148 | MaxBalance not zero or smaller than user balance |
| 149 | Input amount under minimum value |
| 150 | Function has been deprecated |
| 151 | Duplicate login |
| 153 | The API does not exist |
| 154 | Trial Player Not Support |
| 155 | Incorrect/missing game type |
| 157 | ListSet error, exceeds the max. acceptable for the game type |
| 158 | Duplicate/Invalid bet limit rules occur |
| 160 | This API is for seamless wallet |
| 190 | Function not for trial account |
7.2.Unsuccessful Reason Code
| ID | Description |
|---|---|
| 5 | Bet timeout |
| 6 | Insufficient balance |
| 11 | Betting failed |
| 12 | Exceeded maximum bet limit |
| 14 | Below minimum bet limit |
| 114 | Seamless wallet request timeout |
| 138 | Player not found |
| 139 | Invalid currency |
| 140 | Invalid amount |
| 141 | Account locked |
| 142 | Insufficient balance |
| 143 | General error |
| 145 | System error |
| 166 | Player reached maximum winning amount |
| 219 | Opposite bet type offset fail |
8.Game Launching Procedures
8.1.Live Game
Operators can use the “GameLaunchDomain” returned in the API call to construct the game launch URL.
For example:
On the other hand, operators can use the “GameLaunchURL” (after HTML decoding) to launch the game:
https://
Additional parameters and options can be appended to the URL. Refer to the integration website for more information.
| Parameter | Description | Required? |
|---|---|---|
| username | The username displayed in the client | Y |
| token | The token returned from LoginRequest | Y |
| lobby | The lobby code we provided, it is to show the correct logo while loading | Y |
| lang | Default language to be used in the client. Check in the table below for details | N |
| returnurl | Optional parameter The URL will be invoked when the client logs out | N |
| mobile | Optional parameter true - Start the client in HTML5 mobile version | N |
| options | Optional parameters to enable feature while entering game lobby (URL Encoding will be needed)
*remarks: there are priorities when these 3 parameters are entered: defaulttable > cat > page If the value entered for the highest priority is wrong, it will return to default (‘all’) Each parameter have to use comma to separate: options=defaulttable=901,hidelogo=1 | N |
For example:
https://
Priorities example:
https://
This example will reach table Baccarat D01.
lang Parameter| Code | Description |
|---|---|
| ar-001 | Arabic Fosha |
| bn | Bengali |
| en-us | English |
| es | Spanish (Spain) |
| fa-ir | Persian |
| fil-ph | Filipino |
| fr-fr | French |
| hi | Hindi |
| id | Bahasa Indonesia |
| ja | Japanese |
| ko | Korean |
| ms | Malaysian |
| my | Burmese |
| pt | Portuguese (Portugal) |
| pt-br | Portuguese (Brazil) |
| ru-ru | Russian |
| te | Telugu |
| th | Thai |
| tr-tr | Turkish |
| vi | Vietnamese |
| zh-hans | Simplified Chinese |
| zh-hant | Traditional Chinese |
| cat | Game Category |
|---|---|
| all | All |
| baccarat | Baccarat |
| roulette | Roulette |
| dice | Dice |
| dragontiger | Dragon Tiger |
| gameshow | Game Show |
| blackjack | Blackjack |
| pokdeng | Pok Deng |
| xocdia | Xoc Dia |
| poker | Poker |
| page | Page |
|---|---|
| featured | Featured |
| favorite | Favorite |
| games | Games |
| multibet | Multi-Bet |
9.UserBetItem
UserBetItem is a complex structure for the details of a bet per different game type.
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| BetID | Bet record ID | Int64 | Y |
| BetTime | Bet Confirmation Time | DateTime | Y |
| PayoutTime | Payout time | DateTime | Y |
| GameID | Game ID | String | Y |
| HostID | Host table ID | Int16 | Y |
| HostName | Table name | String | Y |
| GameType | Game type name. Click here for details | String | Y |
| Detail | Reserved | String | N |
| Set | Game set | Int | Y |
| Round | Game round | Int | Y |
| BetType | Bet item Baccarat Boundless Blackjack Carnival Treasure Deluxe Blackjack Dragon Tiger Fish Prawn Crab Pok Deng Roulette Sicbo Thai HiLo Ultra Roulette Xoc Dia | Byte | Y |
| BetAmount | Bet amount (correct to cent) | Decimal | Y |
| Rolling | Rolling (correct to cent) | Decimal | Y |
| GameResult | The result of the game (details in another table) Baccarat Boundless Blackjack Carnival Treasure Deluxe Blackjack Dragon Tiger Fish Prawn Crab Pok Deng Roulette Sicbo Thai HiLo Ultra Roulette Xoc Dia | XML | Y |
| ResultAmount | Win or Lost amount (correct to cent) | Decimal | Y |
| Balance | Remain balances (correct to cent) (Not applicable for seamless wallet) | Decimal | Y |
| BetConfirmation | 0 – Manual 1 – Auto | Int | Y |
GameResult Sample of Baccarat:
<GameResult>
<BaccaratResult>
<PlayerCard1>
<Suit>1</Suit>
<Rank>6</Rank>
</PlayerCard1>
<PlayerCard2>
<Suit>4</Suit>
<Rank>8</Rank>
</PlayerCard2>
<PlayerCard3>
<Suit>1</Suit>
<Rank>2</Rank>
</PlayerCard3>
<BankerCard1>
<Suit>1</Suit>
<Rank>11</Rank>
</BankerCard1>
<BankerCard2>
<Suit>1</Suit>
<Rank>5</Rank>
</BankerCard2>
<ResultDetail>
<BRTie>false</BRTie>
<BRPlayerWin>true</BRPlayerWin>
<BRBankerWin>false</BRBankerWin>
<BRPlayerPair>true</BRPlayerPair>
<BRBankerPair>false</BRBankerPair>
<BRS2CardsLuckySix>false</BRS2CardsLuckySix>
<BRS3CardsLuckySix>false</BRS3CardsLuckySix>
<BRSSS2CardsLuckySix>false</BRSSS2CardsLuckySix>
<BRSSS3CardsLuckySix>false</BRSSS3CardsLuckySix>
<BRPlayerBonus>false</BRPlayerBonus>
<BRBankerBonus>false</BRBankerBonus>
<BRSStie>false</BRSStie>
<BRSSPlayerWin>true</BRSSPlayerWin>
<BRSSBankerWin>false</BRSSBankerWin>
<BRSSPlayerPair>true</BRSSPlayerPair>
<BRSSBankerPair>false</BRSSBankerPair>
<BRPlayerNatural>false</BRPlayerNatural>
<BRBankerNatural>false</BRBankerNatural>
<BRSSPlayerNatural>false</BRSSPlayerNatural>
<BRSSBankerNatural>false</BRSSBankerNatural>
<BRSAnyPair>true</BRSAnyPair>
<BRSSSAnyPair>true</BRSSSAnyPair>
<BRSPerfectPair>true</BRSPerfectPair>
<BRSSSPerfectPair>true</BRSSSPerfectPair>
<BRSSSPlayerBonus>false</BRSSSPlayerBonus>
<BRSSSBankerBonus>false</BRSSSBankerBonus>
<BRSSSLuckySix>false</BRSSSLuckySix>
<BRSLuckySix>false</BRSLuckySix>
<BRSLuckySeven>false</BRSLuckySeven>
<BRSSSLuckySeven>false</BRSSSLuckySeven>
<BRS2CardsLuckySeven>false</BRS2CardsLuckySeven>
<BRSSS2CardsLuckySeven>false</BRSSS2CardsLuckySeven>
<BRS3CardsLuckySeven>false</BRS3CardsLuckySeven>
<BRSSS3CardsLuckySeven>true</BRSSS3CardsLuckySeven>
<BRSSuperLuckySeven>false</BRSSuperLuckySeven>
<BRSSSSuperLuckySeven>false</BRSSSSuperLuckySeven>
</ResultDetail>
</BaccaratResult>
</GameResult>
GameResult Sample of Dragon Tiger:
<GameResult>
<DragonTigerResult>
<DragonCard>
<Suit>2</Suit>
<Rank>3</Rank>
</DragonCard>
<TigerCard>
<Suit>4</Suit>
<Rank>5</Rank>
</TigerCard>
<ResultDetail>
<DTRTie>false</DTRTie>
<DTRDragonWin>false</DTRDragonWin>
<DTRTigerWin>true</DTRTigerWin>
<DTRDragonBig>false</DTRDragonBig>
<DTRDragonSmall>true</DTRDragonSmall>
<DTRDragonOdd>true</DTRDragonOdd>
<DTRDragonEven>false</DTRDragonEven>
<DTRDragonRed>true</DTRDragonRed>
<DTRDragonBlack>false</DTRDragonBlack>
<DTRTigerBig>false</DTRTigerBig>
<DTRTigerSmall>true</DTRTigerSmall>
<DTRTigerOdd>true</DTRTigerOdd>
<DTRTigerEven>false</DTRTigerEven>
<DTRTigerRed>true</DTRTigerRed>
<DTRTigerBlack>false</DTRTigerBlack>
</ResultDetail>
</DragonTigerResult>
</GameResult>
GameResult Sample of Sicbo:
<GameResult>
<SicBoResult>
<Dice1>1</Dice1>
<Dice2>2</Dice2>
<Dice3>6</Dice3>
<TotalPoint>9</TotalPoint>
<ResultDetail>
<SRBigSmall>2</SRBigSmall>
<SROddEven>1</SROddEven>
<SRTripleArmyOne>true</SRTripleArmyOne>
<SRTripleArmyTwo>true</SRTripleArmyTwo>
<SRTripleArmyThree>false</SRTripleArmyThree>
<SRTripleArmyFour>false</SRTripleArmyFour>
<SRTripleArmyFive>false</SRTripleArmyFive>
<SRTripleArmySix>true</SRTripleArmySix>
<SRTriple>0</SRTriple>
<SRAllTriple>false</SRAllTriple>
<SRPoint>9</SRPoint>
<SRLongOneTwo>true</SRLongOneTwo>
<SRLongOneThree>false</SRLongOneThree>
<SRLongOneFour>false</SRLongOneFour>
<SRLongOneFive>false</SRLongOneFive>
<SRLongOneSix>true</SRLongOneSix>
<SRLongTwoThree>false</SRLongTwoThree>
<SRLongTwoFour>false</SRLongTwoFour>
<SRLongTwoFive>false</SRLongTwoFive>
<SRLongTwoSix>true</SRLongTwoSix>
<SRLongThreeFour>false</SRLongThreeFour>
<SRLongThreeFive>false</SRLongThreeFive>
<SRLongThreeSix>false</SRLongThreeSix>
<SRLongFourFive>false</SRLongFourFive>
<SRLongFourSix>false</SRLongFourSix>
<SRLongFiveSix>false</SRLongFiveSix>
<SRShort>0</SRShort>
<SROddEvenCombination>2</SROddEvenCombination>
<SR_1_2_3_4>false</SR_1_2_3_4>
<SR_2_3_4_5>false</SR_2_3_4_5>
<SR_2_3_5_6>false</SR_2_3_5_6>
<SR_3_4_5_6>false</SR_3_4_5_6>
<SRCombination>31</SRCombination>
</ResultDetail>
</SicBoResult>
</GameResult>
GameResult Sample of Roulette:
<GameResult>
<RouletteResult>
<Point>13</Point>
<ResultDetail>
<RRZero>false</RRZero>
<RROne>false</RROne>
<RRTwo>false</RRTwo>
<RRThree>false</RRThree>
<RRFour>false</RRFour>
<RRFive>false</RRFive>
<RRSix>false</RRSix>
<RRSeven>false</RRSeven>
<RREight>false</RREight>
<RRNine>false</RRNine>
<RRTen>false</RRTen>
<RREleven>false</RREleven>
<RRTwelve>false</RRTwelve>
<RRThirteen>true</RRThirteen>
<RRForteen>false</RRForteen>
<RRFifthteen>false</RRFifthteen>
<RRSixteen>false</RRSixteen>
<RRSeventeen>false</RRSeventeen>
<RREighteen>false</RREighteen>
<RRNineteen>false</RRNineteen>
<RRTwenty>false</RRTwenty>
<RRTwentyOne>false</RRTwentyOne>
<RRTwentyTwo>false</RRTwentyTwo>
<RRTwentyThree>false</RRTwentyThree>
<RRTwentyFour>false</RRTwentyFour>
<RRTwentyFive>false</RRTwentyFive>
<RRTwentySix>false</RRTwentySix>
<RRTwentySeven>false</RRTwentySeven>
<RRTwentyEight>false</RRTwentyEight>
<RRTwentyNine>false</RRTwentyNine>
<RRThirty>false</RRThirty>
<RRThirtyOne>false</RRThirtyOne>
<RRThirtyTwo>false</RRThirtyTwo>
<RRThirtyThree>false</RRThirtyThree>
<RRThirtyFour>false</RRThirtyFour>
<RRThirtyFive>false</RRThirtyFive>
<RRThirtySix>false</RRThirtySix>
<RRSet1>false</RRSet1>
<RRSet2>true</RRSet2>
<RRSet3>false</RRSet3>
<RRRow1>true</RRRow1>
<RRRow2>false</RRRow2>
<RRRow3>false</RRRow3>
<RR1To18>true</RR1To18>
<RR19To36>false</RR19To36>
<RROdd>true</RROdd>
<RREven>false</RREven>
<RRRed>false</RRRed>
<RRBlack>true</RRBlack>
</ResultDetail>
</RouletteResult>
</GameResult>
GameResult Sample of Pok Deng:
<GameResult>
<PokDengResult>
<Player1Card1>
<Suit>3</Suit>
<Rank>2</Rank>
</Player1Card1>
<Player1Card2>
<Suit>1</Suit>
<Rank>8</Rank>
</Player1Card2>
<Player2Card1>
<Suit>1</Suit>
<Rank>7</Rank>
</Player2Card1>
<Player2Card2>
<Suit>1</Suit>
<Rank>3</Rank>
</Player2Card2>
<Player3Card1>
<Suit>2</Suit>
<Rank>13</Rank>
</Player3Card1>
<Player3Card2>
<Suit>3</Suit>
<Rank>13</Rank>
</Player3Card2>
<Player4Card1>
<Suit>4</Suit>
<Rank>11</Rank>
</Player4Card1>
<Player4Card2>
<Suit>1</Suit>
<Rank>9</Rank>
</Player4Card2>
<Player5Card1>
<Suit>4</Suit>
<Rank>2</Rank>
</Player5Card1>
<Player5Card2>
<Suit>3</Suit>
<Rank>1</Rank>
</Player5Card2>
<BankerCard1>
<Suit>1</Suit>
<Rank>7</Rank>
</BankerCard1>
<BankerCard2>
<Suit>3</Suit>
<Rank>6</Rank>
</BankerCard2>
<ResultDetail>
<PDR_BankerPoint>4</PDR_BankerPoint>
<PDR_BankerPair>false</PDR_BankerPair>
<PDR_Player1Point>1</PDR_Player1Point>
<PDR_Player1Result>2</PDR_Player1Result>
<PDR_Player1Pair>false</PDR_Player1Pair>
<PDR_Player2Point>9</PDR_Player2Point>
<PDR_Player2Result>1</PDR_Player2Result>
<PDR_Player2Pair>false</PDR_Player2Pair>
<PDR_Player3Point>11</PDR_Player3Point>
<PDR_Player3Result>1</PDR_Player3Result>
<PDR_Player3Pair>true</PDR_Player3Pair>
<PDR_Player4Point>15</PDR_Player4Point>
<PDR_Player4Result>1</PDR_Player4Result>
<PDR_Player4Pair>false</PDR_Player4Pair>
<PDR_Player5Point>4</PDR_Player5Point>
<PDR_Player5Result>3</PDR_Player5Result>
<PDR_Player5Pair>false</PDR_Player5Pair>
</ResultDetail>
</PokDengResult>
</GameResult>
GameResult Sample of Deluxe Blackjack:
<GameResult>
<DeluxeBlackjackResult>
<Seat1>
<Hand1>
<Card1>
<Suit>1</Suit>
<Rank>2</Rank>
</Card1>
<Card2>
<Suit>1</Suit>
<Rank>3</Rank>
</Card2>
</Hand1>
</Seat1>
<Dealer>
<Card1>
<Suit>1</Suit>
<Rank>1</Rank>
</Card1>
<Card2>
<Suit>1</Suit>
<Rank>10</Rank>
</Card2>
</Dealer>
<ResultDetail>
<BJRDealerScore>21</BJRDealerScore>
<BJRDealerHandStatus>2</BJRDealerHandStatus>
<BJRInsurance>1</BJRInsurance>
<BJRSeat1Hand1Score>5</BJRSeat1Hand1Score>
<BJRSeat1Hand1Status>2</BJRSeat1Hand1Status>
<BJRSeat1Hand2Score>0</BJRSeat1Hand2Score>
<BJRSeat1Hand2Status>0</BJRSeat1Hand2Status>
<BJRSeat1BJ>false</BJRSeat1BJ>
<BJRSeat1Pair>0</BJRSeat1Pair>
<BJRSeat2Hand1Score>0</BJRSeat2Hand1Score>
<BJRSeat2Hand1Status>0</BJRSeat2Hand1Status>
<BJRSeat2Hand2Score>0</BJRSeat2Hand2Score>
<BJRSeat2Hand2Status>0</BJRSeat2Hand2Status>
<BJRSeat2BJ>false</BJRSeat2BJ>
<BJRSeat2Pair>0</BJRSeat2Pair>
<BJRSeat3Hand1Score>0</BJRSeat3Hand1Score>
<BJRSeat3Hand1Status>0</BJRSeat3Hand1Status>
<BJRSeat3Hand2Score>0</BJRSeat3Hand2Score>
<BJRSeat3Hand2Status>0</BJRSeat3Hand2Status>
<BJRSeat3BJ>false</BJRSeat3BJ>
<BJRSeat3Pair>0</BJRSeat3Pair>
<BJRSeat4Hand1Score>0</BJRSeat4Hand1Score>
<BJRSeat4Hand1Status>0</BJRSeat4Hand1Status>
<BJRSeat4Hand2Score>0</BJRSeat4Hand2Score>
<BJRSeat4Hand2Status>0</BJRSeat4Hand2Status>
<BJRSeat4BJ>false</BJRSeat4BJ>
<BJRSeat4Pair>0</BJRSeat4Pair>
<BJRSeat5Hand1Score>0</BJRSeat5Hand1Score>
<BJRSeat5Hand1Status>0</BJRSeat5Hand1Status>
<BJRSeat5Hand2Score>0</BJRSeat5Hand2Score>
<BJRSeat5Hand2Status>0</BJRSeat5Hand2Status>
<BJRSeat5BJ>false</BJRSeat5BJ>
<BJRSeat5Pair>0</BJRSeat5Pair>
<BJRSeat6Hand1Score>0</BJRSeat6Hand1Score>
<BJRSeat6Hand1Status>0</BJRSeat6Hand1Status>
<BJRSeat6Hand2Score>0</BJRSeat6Hand2Score>
<BJRSeat6Hand2Status>0</BJRSeat6Hand2Status>
<BJRSeat6BJ>false</BJRSeat6BJ>
<BJRSeat6Pair>0</BJRSeat6Pair>
<BJRSeat7Hand1Score>0</BJRSeat7Hand1Score>
<BJRSeat7Hand1Status>0</BJRSeat7Hand1Status>
<BJRSeat7Hand2Score>0</BJRSeat7Hand2Score>
<BJRSeat7Hand2Status>0</BJRSeat7Hand2Status>
<BJRSeat7BJ>false</BJRSeat7BJ>
<BJRSeat7Pair>0</BJRSeat7Pair>
</ResultDetail>
</DeluxeBlackjackResult>
</GameResult>
GameResult Sample of Xoc Dia:
<GameResult>
<XocDiaResult>
<NoOfRed>3</NoOfRed>
<ResultDetail>
<XDR4r>false</XDR4r>
<XDR3r1w>true</XDR3r1w>
<XDR2r2w>false</XDR2r2w>
<XDR1r3w>false</XDR1r3w>
<XDR4w>false</XDR4w>
<XDR4ror4w>false</XDR4ror4w>
<XDRBig>true</XDRBig>
<XDRSmall>false</XDRSmall>
<XDROdd>true</XDROdd>
<XDREven>false</XDREven>
</ResultDetail>
</XocDiaResult>
</GameResult>
GameResult Sample of Thai HiLo:
<GameResult>
<ThaiHiLoResult>
<Dice1>1</Dice1>
<Dice2>5</Dice2>
<Dice3>6</Dice3>
<TotalPoint>12</TotalPoint>
<ResultDetail>
<THLR11HiLo>0</THLR11HiLo>
<THLR_1>1</THLR_1>
<THLR_2>0</THLR_2>
<THLR_3>0</THLR_3>
<THLR_4>0</THLR_4>
<THLR_5>1</THLR_5>
<THLR_6>1</THLR_6>
<THLRDouble1_2>false</THLRDouble1_2>
<THLRDouble1_3>false</THLRDouble1_3>
<THLRDouble2_3>false</THLRDouble2_3>
<THLRDouble3_4>false</THLRDouble3_4>
<THLRDouble4_1>false</THLRDouble4_1>
<THLRDouble4_2>false</THLRDouble4_2>
<THLRDouble4_5>false</THLRDouble4_5>
<THLRDouble4_6>false</THLRDouble4_6>
<THLRDouble5_1>true</THLRDouble5_1>
<THLRDouble5_2>false</THLRDouble5_2>
<THLRDouble5_3>false</THLRDouble5_3>
<THLRDouble5_6>true</THLRDouble5_6>
<THLRDouble6_1>true</THLRDouble6_1>
<THLRDouble6_2>false</THLRDouble6_2>
<THLRDouble6_3>false</THLRDouble6_3>
<THLR_1_2_3>0</THLR_1_2_3>
<THLR_4_5_6>3</THLR_4_5_6>
<THLR_1_Lo>false</THLR_1_Lo>
<THLR_2_Lo>false</THLR_2_Lo>
<THLR_3_Lo>false</THLR_3_Lo>
<THLR_4_Lo>false</THLR_4_Lo>
<THLR_5_Lo>false</THLR_5_Lo>
<THLR_6_Lo>false</THLR_6_Lo>
<THLR_3_Hi>false</THLR_3_Hi>
<THLR_4_Hi>false</THLR_4_Hi>
<THLR_5_Hi>true</THLR_5_Hi>
<THLR_6_Hi>true</THLR_6_Hi>
</ResultDetail>
</ThaiHiLoResult
</GameResult>
GameResult Sample of Fish Prawn Crab:
<GameResult>
<FishPrawnCrabResult>
<Dice1>1</Dice1>
<Dice2>3</Dice2>
<Dice3>4</Dice3>
<ResultDetail>
<FPCR1>1<FPCR1>
<FPCR2>0</FPCR2>
<FPCR3>1</FPCR3>
<FPCR4>1</FPCR4>
<FPCR5>0</FPCR5>
<FPCR6>0</FPCR6>
<FPCRDouble1_2>false</FPCRDouble1_2>
<FPCRDouble1_3>true</FPCRDouble1_3>
<FPCRDouble1_4>true</FPCRDouble1_4>
<FPCRDouble1_5>false</FPCRDouble1_5>
<FPCRDouble1_6>false</FPCRDouble1_6>
<FPCRDouble2_3>false</FPCRDouble2_3>
<FPCRDouble2_4>false</FPCRDouble2_4>
<FPCRDouble2_5>false</FPCRDouble2_5>
<FPCRDouble2_6>false</FPCRDouble2_6>
<FPCRDouble3_4>true</FPCRDouble3_4>
<FPCRDouble3_5>false</FPCRDouble3_5>
<FPCRDouble3_6>false</FPCRDouble3_6>
<FPCRDouble4_5>false</FPCRDouble4_5>
<FPCRDouble4_6>false</FPCRDouble4_6>
<FPCRDouble5_6>false</FPCRDouble5_6>
<FPCRAnyTripleColor>false</FPCRAnyTripleColor>
<FPCRAnyTripleSymbol>false</FPCRAnyTripleSymbol>
</ResultDetail>
</FishPrawnCrabResult>
</GameResult>
GameResult Sample of Ultra Roulette:
<GameResult>
<UltraRouletteResult>
<Point>3</Point>
<Multiplier>0.00</Multiplier>
<ResultDetail>
<URR0>false</URR0>
<URR1>false</URR1>
<URR2>false</URR2>
<URR3>true</URR3>
<URR4>false</URR4>
<URR5>false</URR5>
<URR6>false</URR6>
<URR7>false</URR7>
<URR8>false</URR8>
<URR9>false</URR9>
<URR10>false</URR10>
<URR11>false</URR11>
<URR12>false</URR12>
<URR13>false</URR13>
<URR14>false</URR14>
<URR15>false</URR15>
<URR16>false</URR16>
<URR17>false</URR17>
<URR18>false</URR18>
<URR19>false</URR19>
<URR20>false</URR20>
<URR21>false</URR21>
<URR22>false</URR22>
<URR23>false</URR23>
<URR24>false</URR24>
<URR25>false</URR25>
<URR26>false</URR26>
<URR27>false</URR27>
<URR28>false</URR28>
<URR29>false</URR29>
<URR30>false</URR30>
<URR31>false</URR31>
<URR32>false</URR32>
<URR33>false</URR33>
<URR34>false</URR34>
<URR35>false</URR35>
<URR36>false</URR36>
<URRDozen1>true</URRDozen1>
<URRDozen2>false</URRDozen2>
<URRDozen3>false</URRDozen3>
<URRColumn1>false</URRColumn1>
<URRColumn2>false</URRColumn2>
<URRColumn3>true</URRColumn3>
<URR1to18>true</URR1to18>
<URR19to36>false</URR19to36>
<URROdd>true</URROdd>
<URREven>false</URREven>
<URRRed>true</URRRed>
<URRBlack>false</URRBlack>
</ResultDetail>
<MultiplierDetails>
<MultiplierEntry>
<BetType>20</BetType>
<Multiplier>50.00</Multiplier>
</MultiplierEntry>
<MultiplierEntry>
<BetType>34</BetType>
<Multiplier>50.00</Multiplier>
</MultiplierEntry>
</MultiplierDetails>
</UltraRouletteResult>
</GameResult>
GameResult Sample of Carnival Treasure:
<GameResult>
<CarnivalTreasureResult>
<NoOfSpin>3</NoOfSpin>
<SpinResultList>
<SpinResult>
<SpinNo>1</SpinNo>
<Result>Bonus2</Result>
</SpinResult>
<SpinResult>
<SpinNo>2</SpinNo>
<Result>Bonus10</Result>
</SpinResult>
<SpinResult>
<SpinNo>3</SpinNo>
<Result>40</Result>
</SpinResult>
</SpinResultList>
<ResultDetail>
<CTR1>false</CTR1>
<CTR2>false</CTR2>
<CTR4>false</CTR4>
<CTR7>false</CTR7>
<CTR18>false</CTR18>
<CTR40>true</CTR40>
</ResultDetail>
</CarnivalTreasureResult>
</GameResult>
GameResult Sample of Boundless Blackjack:
<GameResult>
<BoundlessBlackjackResult>
<Player>
<Hand1>
<Card1>
<Suit>1</Suit>
<Rank>2</Rank>
</Card1>
<Card2>
<Suit>1</Suit>
<Rank>3</Rank>
</Card2>
</Hand1>
</Player>
<Dealer>
<Card1>
<Suit>1</Suit>
<Rank>1</Rank>
</Card1>
<Card2>
<Suit>1</Suit>
<Rank>10</Rank>
</Card2>
</Dealer>
<PlayerSequence>
<Card1>
<Suit>1</Suit>
<Rank>1</Rank>
</Card1>
<Card2>
<Suit>1</Suit>
<Rank>10</Rank>
</Card2>
<Card3>
<Suit>1</Suit>
<Rank>2</Rank>
</Card3>
<Card4>
<Suit>1</Suit>
<Rank>3</Rank>
</Card4>
</PlayerSequence>
<ResultDetail>
<BBJRDealerScore>21</BBJRDealerScore>
<BBJRDealerHandStatus>2</BBJRDealerHandStatus>
<BBJRInsurance>1</BBJRInsurance>
<BBJRPlayerHand1Score>5</BBJRSeat1Hand1Score>
<BBJRPlayerHand1Status>2</BBJRSeat1Hand1Status>
<BBJRPlayerHand2Score>0</BBJRSeat1Hand2Score>
<BBJRPlayerHand2Status>0</BBJRSeat1Hand2Status>
<BBJRPlayerBJ>false</BBJRSeat1BJ>
<BBJRPlayerPair>0</BBJRSeat1Pair>
<BBJRBustBonus>0</BBJRSeat1BJ>
<BBJRLuckyTrio>0</BBJRSeat1Pair>
<BBJRPokerTrio>0</BBJRSeat1BJ>
</ResultDetail>
</BoundlessBlackjackResult>
</GameResult>
9.1.GameType
| Code name | Description |
|---|---|
| bac | Baccarat |
| dtx | Dragon Tiger |
| sicbo | Sic Bo |
| rot | Roulette |
| pokdeng | Pok Deng |
| deluxeblackjack | Deluxe Blackjack |
| xocdia | Xoc Dia |
| thaihilo | Thai HiLo |
| fishprawncrab | Fish Prawn Crab |
| ultraroulette | Ultra Roulette |
| carnivaltreasure | Carnival Treasure |
| boundlessblackjack | Boundless Blackjack |
9.2.Baccarat
All baccarat type games share the same structure of section 9.2: GameResult, CardDetail, BetType and ResultDetail of Baccarat.
(Baccarat, Speed Baccarat)
9.2.1.GameResult of Baccarat
| Name | Description | Type |
|---|---|---|
| PlayerCard1 | CardDetail | Structure |
| PlayerCard2 | CardDetail | Structure |
| PlayerCard3 | CardDetail (may not exist) | Structure |
| BankerCard1 | CardDetail | Structure |
| BankerCard2 | CardDetail | Structure |
| BankerCard3 | CardDetail (may not exist) | Structure |
| ResultDetail | Details of the result | Structure |
9.2.2.CardDetail of Baccarat
| Name | Description | Type |
|---|---|---|
| Suit | ♠ = 1 ♥ = 2 ♣ = 3 ♦ = 4 | Byte |
| Rank | A = 1 2 = 2 … 10 = 10 J = 11 Q = 12 K = 13 | Byte |
9.2.3.BetType for Baccarat
| ID | Description |
|---|---|
| 0 | Tie |
| 1 | Player |
| 2 | Banker |
| 3 | Player Pair |
| 4 | Banker Pair |
| 5 | 2 Cards Lucky Six |
| 6 | 3 Cards Lucky Six |
| 8 | NC. 2 Cards Lucky Six |
| 9 | NC. 3 Cards Lucky Six |
| 23 | Player Bonus |
| 24 | Banker Bonus |
| 25 | NC. Tie |
| 26 | NC. Player |
| 27 | NC. Banker |
| 28 | NC. Player Pair |
| 29 | NC. Banker Pair |
| 36 | Player Natural |
| 37 | Banker Natural |
| 40 | NC. Player Natural |
| 41 | NC. Banker Natural |
| 42 | Any Pair |
| 43 | NC. Any Pair |
| 44 | Perfect Pair |
| 45 | NC. Perfect Pair |
| 51 | NC. Player Bonus |
| 52 | NC. Banker Bonus |
| 53 | NC. Lucky Six |
| 54 | Lucky Six |
| 55 | Lucky Seven |
| 56 | NC. Lucky Seven |
| 57 | 2 Cards Lucky Seven |
| 58 | NC. 2 Cards Lucky Seven |
| 59 | 3 Cards Lucky Seven |
| 60 | NC. 3 Cards Lucky Seven |
| 61 | Super Lucky Seven |
| 62 | NC. Super Lucky Seven |
9.2.4.ResultDetail for Baccarat
| Name | Description | Type and Limit |
|---|---|---|
| BRTie | Tie | Bool |
| BRPlayerWin | Player | Bool |
| BRBankerWin | Banker | Bool |
| BRPlayerPair | Player Pair | Bool |
| BRBankerPair | Banker Pair | Bool |
| BRSPerfectPair | Perfect Pair | Bool |
| BRSAnyPair | Any Pair | Bool |
| BRSPlayerBonus | Player Bonus *If Tie= True and Player Natural = True, then it implies a Natural Tie | Bool |
| BRSBankerBonus | Banker Bonus *If Tie= True and Banker Natural = True, then it implies a Natural Tie | Bool |
| BRSLuckySix | Lucky Six | Bool |
| BRS2CardsLuckySix | 2 Cards Lucky Six | Bool |
| BRS3CardsLuckySix | 3 Cards Lucky Six | Bool |
| BRSSTie | NC. Tie | Bool |
| BRSSPlayerWin | NC. Player | Bool |
| BRSSBankerWin | NC. Banker | Bool |
| BRSSPlayerPair | NC. Player Pair | Bool |
| BRSSBankerPair | NC. Banker Pair | Bool |
| BRSSSPerfectPair | NC. Perfect Pair | Bool |
| BRSSSAnyPair | NC. Any Pair | Bool |
| BRSSSPlayerBonus | NC. Player Bonus | Bool |
| BRSSSBankerBonus | NC. Banker Bonus | Bool |
| BRSSSLuckySix | NC. Lucky Six | Bool |
| BRSSS2CardsLuckySix | NC. 2 Cards Lucky Six | Bool |
| BRSSS3CardsLuckySix | NC. 3 Cards Lucky Six | Bool |
| BRPlayerNatural | Player Natural | Bool |
| BRBankerNatural | Banker Natural | Bool |
| BRSSPlayerNatural | NC. Player Natural | Bool |
| BRSSBankerNatural | NC. Banker Natural | Bool |
| BRSLuckySeven | Lucky Seven | Bool |
| BRSSSLuckySeven | NC. Lucky Seven | Bool |
| BRS2CardsLuckySeven | 2 Cards Lucky Seven | Bool |
| BRSSS2CardsLuckySeven | NC. 2 Cards Lucky Seven | Bool |
| BRS3CardsLuckySeven | 3 Cards Lucky Seven | Bool |
| BRSSS3CardsLuckySeven | NC. 3 Cards Lucky Seven | Bool |
| BRSSuperLuckySeven | Super Lucky Seven | Bool |
| BRSSSSuperLuckySeven | NC. Super Lucky Seven | Bool |
9.3.Dragon & Tiger
9.3.1.GameResult of Dragon Tiger
| Name | Description | Type and Limit |
|---|---|---|
| DragonCard | CardDetail | Structure |
| TigerCard | CardDetail | Structure |
| ResultDetail | Details of the result | Structure |
9.3.2.BetType for Dragon Tiger
| ID | Description |
|---|---|
| 0 | Tie |
| 1 | Dragon |
| 2 | Tiger |
| 3 | Dragon Big |
| 4 | Dragon Small |
| 5 | Dragon Odd |
| 6 | Dragon Even |
| 7 | Dragon Red |
| 8 | Dragon Black |
| 9 | Tiger Big |
| 10 | Tiger Small |
| 11 | Tiger Odd |
| 12 | Tiger Even |
| 13 | Tiger Red |
| 14 | Tiger Black |
9.3.3.ResultDetail for Dragon Tiger
| Name | Description | Type and Limit |
|---|---|---|
| DTRTie | Tie | Bool |
| DTRDragonWin | Dragon | Bool |
| DTRTigerWin | Tiger | Bool |
| DTRDragonBig | Dragon Big | Bool |
| DTRDragonSmall | Dragon Small | Bool |
| DTRDragonOdd | Dragon Odd | Bool |
| DTRDragonEven | Dragon Even | Bool |
| DTRDragonRed | Dragon Red | Bool |
| DTRDragonBlack | Dragon Black | Bool |
| DTRTigerBig | Tiger Big | Bool |
| DTRTigerSmall | Tiger Small | Bool |
| DTRTigerOdd | Tiger Odd | Bool |
| DTRTigerEven | Tiger Even | Bool |
| DTRTigerRed | Tiger Red | Bool |
| DTRTigerBlack | Tiger Black | Bool |
9.4.Sic Bo
9.4.1.GameResult of Sic Bo
| Name | Description | Type and Limit |
|---|---|---|
| Dice1 | Dice 1 | Int |
| Dice2 | Dice 2 | Int |
| Dice3 | Dice 3 | Int |
| ResultDetail | Details of the result | Structure |
9.4.2.BetType for Sic Bo
| ID | Description | ID | Description |
|---|---|---|---|
| 0 | Small | 55 | All Even |
| 1 | Big | 56 | 1234 |
| 2 | Odd | 57 | 2345 |
| 3 | Even | 58 | 2356 |
| 4 | Number 1 | 59 | 3456 |
| 5 | Number 2 | 60 | 112 |
| 6 | Number 3 | 61 | 113 |
| 7 | Number 4 | 62 | 114 |
| 8 | Number 5 | 63 | 115 |
| 9 | Number 6 | 64 | 116 |
| 10 | Triple 1 | 65 | 221 |
| 11 | Triple 2 | 66 | 223 |
| 12 | Triple 3 | 67 | 224 |
| 13 | Triple 4 | 68 | 225 |
| 14 | Triple 5 | 69 | 226 |
| 15 | Triple 6 | 70 | 331 |
| 16 | All same | 71 | 332 |
| 17 | Point 4 | 72 | 334 |
| 18 | Point 5 | 73 | 335 |
| 19 | Point 6 | 74 | 336 |
| 20 | Point 7 | 75 | 441 |
| 21 | Point 8 | 76 | 442 |
| 22 | Point 9 | 77 | 443 |
| 23 | Point 10 | 78 | 445 |
| 24 | Point 11 | 79 | 446 |
| 25 | Point 12 | 80 | 551 |
| 26 | Point 13 | 81 | 552 |
| 27 | Point 14 | 82 | 553 |
| 28 | Point 15 | 83 | 554 |
| 29 | Point 16 | 84 | 556 |
| 30 | Point 17 | 85 | 661 |
| 31 | Specific Double 1,2 | 86 | 662 |
| 32 | Specific Double 1,3 | 87 | 663 |
| 33 | Specific Double 1,4 | 88 | 664 |
| 34 | Specific Double 1,5 | 89 | 665 |
| 35 | Specific Double 1,6 | 90 | 126 |
| 36 | Specific Double 2,3 | 91 | 135 |
| 37 | Specific Double 2,4 | 92 | 234 |
| 38 | Specific Double 2,5 | 93 | 256 |
| 39 | Specific Double 2,6 | 94 | 346 |
| 40 | Specific Double 3,4 | 95 | 123 |
| 41 | Specific Double 3,5 | 96 | 136 |
| 42 | Specific Double 3,6 | 97 | 145 |
| 43 | Specific Double 4,5 | 98 | 235 |
| 44 | Specific Double 4,6 | 99 | 356 |
| 45 | Specific Double 5,6 | 100 | 124 |
| 46 | Pair 1 | 101 | 146 |
| 47 | Pair 2 | 102 | 236 |
| 48 | Pair 3 | 103 | 245 |
| 49 | Pair 4 | 104 | 456 |
| 50 | Pair 5 | 105 | 125 |
| 51 | Pair 6 | 106 | 134 |
| 52 | All Odd | 107 | 156 |
| 53 | 2 Odd 1 Even | 108 | 246 |
| 54 | 2 Even 1 Odd | 109 | 345 |
9.4.3.ResultDetail for Sic Bo
| Name | Description | Type and Limit |
|---|---|---|
| SRBigSmall | 0 - Triple 1 - Big 2 - Small | Byte |
| SROddEven | 0 - Triple 1 - Odd 2 - Even | Byte |
| SRTripleArmyOne | Triple 1 | Bool |
| SRTripleArmyTwo | Triple 2 | Bool |
| SRTripleArmyThree | Triple 3 | Bool |
| SRTripleArmyFour | Triple 4 | Bool |
| SRTripleArmyFive | Triple 5 | Bool |
| SRTripleArmySix | Triple 6 | Bool |
| SRTriple | 0 - NA 1 - Triple 1 2 - Triple 2 3 - Triple 3 4 - Triple 4 5 - Triple 5 6 - Triple 6 | Byte |
| SRAllTriple | All Triple | Bool |
| SRPoint | 0 - NA 4 - Point 4 5 - Point 5 6 - Point 6 7 - Point 7 8 - Point 8 9 - Point 9 10 - Point 10 11 - Point 11 12 - Point 12 13 - Point 13 14 - Point 14 15 - Point 15 16 - Point 16 17 - Point 17 | Byte |
| SRLongOneTwo | Long 1 2 | Bool |
| SRLongOneThree | Long 1 3 | Bool |
| SRLongOneFour | Long 1 4 | Bool |
| SRLongOneFive | Long 1 5 | Bool |
| SRLongOneSix | Long 1 6 | Bool |
| SRLongTwoThree | Long 2 3 | Bool |
| SRLongTwoFour | Long 2 4 | Bool |
| SRLongTwoFive | Long 2 5 | Bool |
| SRLongTwoSix | Long 2 6 | Bool |
| SRLongThreeFour | Long 3 4 | Bool |
| SRLongThreeFive | Long 3 5 | Bool |
| SRLongThreeSix | Long 3 6 | Bool |
| SRLongFourFive | Long 4 5 | Bool |
| SRLongFourSix | Long 4 6 | Bool |
| SRLongFiveSix | Long 5 6 | Bool |
| SRShort | 0 - NA 1 - Short 1 2 - Short 2 3 - Short 3 4 - Short 4 5 - Short 5 6 - Short 6 | Byte |
| SROddEvenCombination | 0 - All Odd 1 - 2 Odd 1 Even 2 - 2 Even 1 Odd 3 - All Even | Byte |
| SR_1_2_3_4 | 1234 | Bool |
| SR_2_3_4_5 | 2345 | Bool |
| SR_2_3_5_6 | 2356 | Bool |
| SR_3_4_5_6 | 3456 | Bool |
| SRCombination | 0 - NA 1 - 112 2 - 113 3 - 114 4 - 115 5 - 116 6 - 221 7 - 223 8 - 224 9 - 225 10 - 226 11 - 331 12 - 332 13 - 334 14 - 335 15 - 336 16 - 441 17 - 442 18 - 443 19 - 445 20 - 446 21 - 551 22 - 552 23 - 553 24 - 554 25 - 556 26 - 661 27 - 662 28 - 663 29 - 664 30 - 665 31 - 126 32 - 135 33 - 234 34 - 256 35 - 346 36 - 123 37 - 136 38 - 145 39 - 235 40 - 356 41 - 124 42 - 146 43 - 236 44 - 245 45 - 456 46 - 125 47 - 134 48 - 156 49 - 246 50 - 345 | Byte |
9.5.Roulette
9.5.1.GameResult of Roulette
| Name | Description | Type and Limit |
|---|---|---|
| Point | 0 to 36 | Int |
| ResultDetail | Details of the result | Structure |
9.5.2.BetType for Roulette
| ID | Description | ID | Description |
|---|---|---|---|
| 0~36 | 0~36 | 97 | 0,1,2 |
| 37 | 0,1 | 98 | 0,2,3 |
| 38 | 0,2 | 99 | 1,2,3 |
| 39 | 0,3 | 100 | 4,5,6 |
| 40 | 1,2 | 101 | 7,8,9 |
| 41 | 1,4 | 102 | 10,11,12 |
| 42 | 2,3 | 103 | 13,14,15 |
| 43 | 2,5 | 104 | 16,17,18 |
| 44 | 3,6 | 105 | 19,20,21 |
| 45 | 4,5 | 106 | 22,23,24 |
| 46 | 4,7 | 107 | 25,26,27 |
| 47 | 5,6 | 108 | 28,29,30 |
| 48 | 5,8 | 109 | 31,32,33 |
| 49 | 6,9 | 110 | 34,35,36 |
| 50 | 7,8 | 111 | 1,2,4,5 |
| 51 | 7,10 | 112 | 2,3,5,6 |
| 52 | 8,9 | 113 | 4,5,7,8 |
| 53 | 8,11 | 114 | 5,6,8,9 |
| 54 | 9,12 | 115 | 7,8,10,11 |
| 55 | 10,11 | 116 | 8,9,11,12 |
| 56 | 10,13 | 117 | 10,11,13,14 |
| 57 | 11,12 | 118 | 11,12,14,15 |
| 58 | 11,14 | 119 | 13,14,16,17 |
| 59 | 12,15 | 120 | 14,15,17,18 |
| 60 | 13,14 | 121 | 16,17,19,20 |
| 61 | 13,16 | 122 | 17,18,20,21 |
| 62 | 14,15 | 123 | 19,20,22,23 |
| 63 | 14,17 | 124 | 20,21,23,24 |
| 64 | 15,18 | 125 | 22,23,25,26 |
| 65 | 16,17 | 126 | 23,24,26,27 |
| 66 | 16,19 | 127 | 25,26,28,29 |
| 67 | 17,18 | 128 | 26,27,29,30 |
| 68 | 17,20 | 129 | 28,29,31,32 |
| 69 | 18,21 | 130 | 29,30,32,33 |
| 70 | 19,20 | 131 | 31,32,34,35 |
| 71 | 19,22 | 132 | 32,33,35,36 |
| 72 | 20,21 | 133 | 1,2,3,4,5,6 |
| 73 | 20,23 | 134 | 4,5,6,7,8,9 |
| 74 | 21,24 | 135 | 7,8,9,10,11,12 |
| 75 | 22,23 | 136 | 10,11,12,13,14,15 |
| 76 | 22,25 | 137 | 13,14,15,16,17,18 |
| 77 | 23,24 | 138 | 16,17,18,19,20,21 |
| 78 | 23,26 | 139 | 19,20,21,22,23,24 |
| 79 | 24,27 | 140 | 22,23,24,25,26,27 |
| 80 | 25,26 | 141 | 25,26,27,28,29,30 |
| 81 | 25,28 | 142 | 28,29,30,31,32,33 |
| 82 | 26,27 | 143 | 31,32,33,34,35,36 |
| 83 | 26,29 | 144 | 1st 12 |
| 84 | 27,30 | 145 | 2nd 12 |
| 85 | 28,29 | 146 | 3rd 12 |
| 86 | 28,31 | 147 | 1st Row |
| 87 | 29,30 | 148 | 2nd Row |
| 88 | 29,32 | 149 | 3rd Row |
| 89 | 30,33 | 150 | 1~18 |
| 90 | 31,32 | 151 | 19~36 |
| 91 | 31,34 | 152 | Odd |
| 92 | 32,33 | 153 | Even |
| 93 | 32,35 | 154 | Red |
| 94 | 33,36 | 155 | Black |
| 95 | 34,35 | 156 | 0,1,2,3 |
| 96 | 35,36 |
9.5.3.ResultDetail for Roulette
| Name | Description | Type and Limit |
|---|---|---|
| RRZero | 0 | Bool |
| RROne | 1 | Bool |
| RRTwo | 2 | Bool |
| RRThree | 3 | Bool |
| RRFour | 4 | Bool |
| RRFive | 5 | Bool |
| RRSix | 6 | Bool |
| RRSeven | 7 | Bool |
| RREight | 8 | Bool |
| RRNine | 9 | Bool |
| RRTen | 10 | Bool |
| RREleven | 11 | Bool |
| RRTwelve | 12 | Bool |
| RRThirteen | 13 | Bool |
| RRForteen | 14 | Bool |
| RRFifthteen | 15 | Bool |
| RRSixteen | 16 | Bool |
| RRSeventeen | 17 | Bool |
| RREighteen | 18 | Bool |
| RRNineteen | 19 | Bool |
| RRTwenty | 20 | Bool |
| RRTwentyOne | 21 | Bool |
| RRTwentyTwo | 22 | Bool |
| RRTwentyThree | 23 | Bool |
| RRTwentyFour | 24 | Bool |
| RRTwentyFive | 25 | Bool |
| RRTwentySix | 26 | Bool |
| RRTwentySeven | 27 | Bool |
| RRTwentyEight | 28 | Bool |
| RRTwentyNine | 29 | Bool |
| RRThirty | 30 | Bool |
| RRThirtyOne | 31 | Bool |
| RRThirtyTwo | 32 | Bool |
| RRThirtyThree | 33 | Bool |
| RRThirtyFour | 34 | Bool |
| RRThirtyFive | 35 | Bool |
| RRThirtySix | 36 | Bool |
| RRSet1 | 1st 12 | Bool |
| RRSet2 | 2nd 12 | Bool |
| RRSet3 | 3rd 12 | Bool |
| RRRow1 | 1st Row | Bool |
| RRRow2 | 2nd Row | Bool |
| RRRow3 | 3rd Row | Bool |
| RR1To18 | 1-18 | Bool |
| RR19To36 | 19-36 | Bool |
| RROdd | Odd | Bool |
| RREven | Even | Bool |
| RRRed | Red | Bool |
| RRBlack | Black | Bool |
9.6.Pok Deng
9.6.1.GameResult of Pok Deng
| Name | Description | Type and Limit |
|---|---|---|
| Player1Card1 | CardDetail | Structure |
| Player1Card2 | CardDetail | Structure |
| Player2Card1 | CardDetail | Structure |
| Player2Card2 | CardDetail | Structure |
| Player3Card1 | CardDetail | Structure |
| Player3Card2 | CardDetail | Structure |
| Player4Card1 | CardDetail | Structure |
| Player4Card2 | CardDetail | Structure |
| Player5Card1 | CardDetail | Structure |
| Player5Card2 | CardDetail | Structure |
| BankerCard1 | CardDetail | Structure |
| BankerCard2 | CardDetail | Structure |
9.6.2.BetType for Pok Deng
| ID | Description |
|---|---|
| 0 | Player 1 |
| 1 | Player 2 |
| 2 | Player 3 |
| 3 | Player 4 |
| 4 | Player 5 |
| 5 | Player 1 Pair |
| 6 | Player 2 Pair |
| 7 | Player 3 Pair |
| 8 | Player 4 Pair |
| 9 | Player 5 Pair |
9.6.3.ResultDetail for Pok Deng
| Name | Description | Type and Limit |
|---|---|---|
| PDR_BankerPoint | Banker total point | Byte |
| PDR_BankerPair | Banker Pair | Bool |
| PDR_Player1Point | Player 1 total point | Byte |
| PDR_Player1Result | Player 1 result state | Byte |
| PDR_Player1Pair | Player 1 Pair | Bool |
| PDR_Player2Point | Player 2 total point | Byte |
| PDR_Player2Result | Player 2 result state | Byte |
| PDR_Player2Pair | Player 2 Pair | Bool |
| PDR_Player3Point | Player 3 total point | Byte |
| PDR_Player3Result | Player 3 result state | Byte |
| PDR_Player3Pair | Player 3 Pair | Bool |
| PDR_Player4Point | Player 4 total point | Byte |
| PDR_Player4Result | Player 4 result state | Byte |
| PDR_Player4Pair | Player 4 Pair | Bool |
| PDR_Player5Point | Player 5 total point | Byte |
| PDR_Player5Result | Player 5 result state | Byte |
| PDR_Player5Pair | Player 5 Pair | Bool |
9.6.4.Result state for Pok Deng
| ID | Description |
|---|---|
| 0 | No Result |
| 1 | Player Win |
| 2 | Banker Win |
| 3 | Tie |
9.6.5.Total point for Pok Deng
| ID | Description |
|---|---|
| 0 | No Result |
| 1 | Total point 0 |
| 2 | Total point 1 |
| 3 | Total point 2 |
| 4 | Total point 3 |
| 5 | Total point 4 |
| 6 | Total point 5 |
| 7 | Total point 6 |
| 8 | Total point 7 |
| 9 | Total point 7.1 |
| 10 | Total point 7.2 |
| 11 | Total point 7.3 |
| 12 | Total point 7.4 |
| 13 | Total point 7.5 |
| 14 | Total point 8 |
| 15 | Total point 9 |
9.7.Deluxe Blackjack
9.7.1.GameResult of Deluxe Blackjack
| Name | Description | Type |
|---|---|---|
| Seat(X) | Seat number Possible values: Seat1 Seat2 Seat3 Seat4 Seat5 Seat6 Seat7 | title |
| Hand(X) | Hand Detail Examples: Hand1 Hand2 | Structure |
| Card(X) | CardDetail (may be more than 1 card) Examples: Card1 Card2 Card3 | Structure |
| Dealer | CardDetail (may be more than 1 card) Examples: Card1 Card2 Card3 | Structure |
Special Note: In the case of a split, the hand detail structure wraps Hand1 and Hand2 within Player, with each hand containing at least Card1 and Card2.
9.7.2.BetType for Deluxe Blackjack
| ID | Description |
|---|---|
| 101 | Seat 1 - Main |
| 102 | Seat 2 - Main |
| 103 | Seat 3 - Main |
| 104 | Seat 4 - Main |
| 105 | Seat 5 - Main |
| 106 | Seat 6 - Main |
| 107 | Seat 7 - Main |
| 111 | Seat 1 - Bet Behind |
| 112 | Seat 2 - Bet Behind |
| 113 | Seat 3 - Bet Behind |
| 114 | Seat 4 - Bet Behind |
| 115 | Seat 5 - Bet Behind |
| 116 | Seat 6 - Bet Behind |
| 117 | Seat 7 - Bet Behind |
| 121 | Seat 1 - Pair |
| 122 | Seat 2 - Pair |
| 123 | Seat 3 - Pair |
| 124 | Seat 4 - Pair |
| 125 | Seat 5 - Pair |
| 126 | Seat 6 - Pair |
| 127 | Seat 7 - Pair |
| 131 | Seat 1 - Split (Main) |
| 132 | Seat 2 - Split (Main) |
| 133 | Seat 3 - Split (Main) |
| 134 | Seat 4 - Split (Main) |
| 135 | Seat 5 - Split (Main) |
| 136 | Seat 6 - Split (Main) |
| 137 | Seat 7- Split (Main) |
| 141 | Seat 1 - Double Down (Main) |
| 142 | Seat 2 - Double Down (Main) |
| 143 | Seat 3 - Double Down (Main) |
| 144 | Seat 4 - Double Down (Main) |
| 145 | Seat 5 - Double Down (Main) |
| 146 | Seat 6 - Double Down (Main) |
| 147 | Seat 7 -Double Down (Main) |
| 151 | Seat 1 - Double Down (Main | Split Hand 2) |
| 152 | Seat 2 - Double Down (Main | Split Hand 2) |
| 153 | Seat 3 - Double Down (Main | Split Hand 2) |
| 154 | Seat 4 - Double Down (Main | Split Hand 2) |
| 155 | Seat 5 - Double Down (Main | Split Hand 2) |
| 156 | Seat 6 - Double Down (Main | Split Hand 2) |
| 157 | Seat 7 - Double Down (Main | Split Hand 2) |
| 161 | Seat 1 - Split (Bet Behind) |
| 162 | Seat 2 - Split (Bet Behind) |
| 163 | Seat 3 - Split (Bet Behind) |
| 164 | Seat 4 - Split (Bet Behind) |
| 165 | Seat 5 - Split (Bet Behind) |
| 166 | Seat 6 - Split (Bet Behind) |
| 167 | Seat 7 - Split (Bet Behind) |
| 171 | Seat 1 - Double Down (Bet Behind) |
| 172 | Seat 2 - Double Down (Bet Behind) |
| 173 | Seat 3 - Double Down (Bet Behind) |
| 174 | Seat 4 - Double Down (Bet Behind) |
| 175 | Seat 5 - Double Down (Bet Behind) |
| 176 | Seat 6 - Double Down (Bet Behind) |
| 177 | Seat 7 - Double Down (Bet Behind) |
| 181 | Seat 1 - Double Down (Bet Behind | Split Hand 2) |
| 182 | Seat 2 - Double Down (Bet Behind | Split Hand 2) |
| 183 | Seat 3 - Double Down (Bet Behind | Split Hand 2) |
| 184 | Seat 4 - Double Down (Bet Behind | Split Hand 2) |
| 185 | Seat 5 - Double Down (Bet Behind | Split Hand 2) |
| 186 | Seat 6 - Double Down (Bet Behind | Split Hand 2) |
| 187 | Seat 7 - Double Down (Bet Behind | Split Hand 2) |
| 191 | Seat 1 - Insurance (Main) |
| 192 | Seat 2 - Insurance (Main) |
| 193 | Seat 3 - Insurance (Main) |
| 194 | Seat 4 - Insurance (Main) |
| 195 | Seat 5 - Insurance (Main) |
| 196 | Seat 6 - Insurance (Main) |
| 197 | Seat 7 - Insurance (Main) |
| 201 | Seat 1 - Insurance (Bet Behind) |
| 202 | Seat 2 - Insurance (Bet Behind) |
| 203 | Seat 3 - Insurance (Bet Behind) |
| 204 | Seat 4 - Insurance (Bet Behind) |
| 205 | Seat 5 - Insurance (Bet Behind) |
| 206 | Seat 6 - Insurance (Bet Behind) |
| 207 | Seat 7 - Insurance (Bet Behind) |
9.7.3.ResultDetail for Deluxe Blackjack
| Name | Description | Type and Limit |
|---|---|---|
| BJRDealerScore | Result of the dealer’s hand score/result | Int |
| BJRDealerHandStatus | Indication of the dealer's hand status: 0 = Non-BJ hand (21 points or fewer) 1 = Non-BJ hand (above 21 points) 2 = BJ hand | Int |
| BJRInsurance | Indication of Insurance: 0 = Dealer's initial card is not an Ace 1 = Dealer has BJ (win) 2 = Dealer has no BJ (lose) | Int |
| BJRSeat1Hand1Score | Result of the Seat 1's hand 1 score/result | Int |
| BJRSeat1Hand1Status | Indication of Hand 1's status at Seat 1: 0 = No hand 1 = Win 2 = Lose 3 = Push 4 = Surrender | Int |
| BJRSeat1Hand2Score | Result of the Seat 1's hand 2 score/result | Int |
| BJRSeat1Hand2Status | Indication of Hand 2's status at Seat 1: 0 = No hand 1 = Win 2 = Lose 3 = Push | Int |
| BJRSeat1BJ | Result of initial hand (the first two cards) at Seat 1: True = Have BJ False = No BJ | Bool |
| BJRSeat1Pair | Seat 1 Pair: 0 = Not a Pair 1 = Mixed Pair 2 = Colored Pair 3 = Perfect Pair 4 = Suited Trips | Int |
| BJRSeat2Hand1Score | Result of the Seat 2's hand 1 score/result | Int |
| BJRSeat2Hand1Status | Indication of Hand 1's status at Seat 2: 0 = No hand 1 = Win 2 = Lose 3 = Push 4 = Surrender | Int |
| BJRSeat2Hand2Score | Result of the Seat 2's hand 2 score/result | Int |
| BJRSeat2Hand2Status | Indication of Hand 2's status at Seat 2: 0 = No hand 1 = Win 2 = Lose 3 = Push | Int |
| BJRSeat2BJ | Result of initial hand (the first two cards) at Seat 2: True = Have BJ False = No BJ | Bool |
| BJRSeat2Pair | Seat 2 Pair: 0 = Not a Pair 1 = Mixed Pair 2 = Colored Pair 3 = Perfect Pair 4 = Suited Trips | Int |
| BJRSeat3Hand1Score | Result of the Seat 3's hand 1 score/result | Int |
| BJRSeat3Hand1Status | Indication of Hand 1's status at Seat 3: 0 = No hand 1 = Win 2 = Lose 3 = Push 4 = Surrender | Int |
| BJRSeat3Hand2Score | Result of the Seat 3's hand 2 score/result | Int |
| BJRSeat3Hand2Status | Indication of Hand 2's status at Seat 3: 0 = No hand 1 = Win 2 = Lose 3 = Push | Int |
| BJRSeat3BJ | Result of initial hand (the first two cards) at Seat 3: True = Have BJ False = No BJ | Bool |
| BJRSeat3Pair | Seat 3 Pair: 0 = Not a Pair 1 = Mixed Pair 2 = Colored Pair 3 = Perfect Pair 4 = Suited Trips | Int |
| BJRSeat4Hand1Score | Result of the Seat 4's hand 1 score/result | Int |
| BJRSeat4Hand1Status | Indication of Hand 1's status at Seat 4: 0 = No hand 1 = Win 2 = Lose 3 = Push 4 = Surrender | Int |
| BJRSeat4Hand2Score | Result of the Seat 4's hand 2 score/result | Int |
| BJRSeat4Hand2Status | Indication of Hand 2's status at Seat 4: 0 = No hand 1 = Win 2 = Lose 3 = Push | Int |
| BJRSeat4BJ | Result of initial hand (the first two cards) at Seat 4: True = Have BJ False = No BJ | Bool |
| BJRSeat4Pair | Seat 4 Pair: 0 = Not a Pair 1 = Mixed Pair 2 = Colored Pair 3 = Perfect Pair 4 = Suited Trips | Int |
| BJRSeat5Hand1Score | Result of the Seat 5's hand 1 score/result | Int |
| BJRSeat5Hand1Status | Indication of Hand 1's status at Seat 5: 0 = No hand 1 = Win 2 = Lose 3 = Push 4 = Surrender | Int |
| BJRSeat5Hand2Score | Result of the Seat 5's hand 2 score/result | Int |
| BJRSeat5Hand2Status | Indication of Hand 2's status at Seat 5: 0 = No hand 1 = Win 2 = Lose 3 = Push | Int |
| BJRSeat5BJ | Result of initial hand (the first two cards) at Seat 5: True = Have BJ False = No BJ | Bool |
| BJRSeat5Pair | Seat 5 Pair: 0 = Not a Pair 1 = Mixed Pair 2 = Colored Pair 3 = Perfect Pair 4 = Suited Trips | Int |
| BJRSeat6Hand1Score | Result of the Seat 6's hand 1 score/result | Int |
| BJRSeat6Hand1Status | Indication of Hand 1's status at Seat 6: 0 = No hand 1 = Win 2 = Lose 3 = Push 4 = Surrender | Int |
| BJRSeat6Hand2Score | Result of the Seat 6's hand 2 score/result | Int |
| BJRSeat6Hand2Status | Indication of Hand 2's status at Seat 6: 0 = No hand 1 = Win 2 = Lose 3 = Push | Int |
| BJRSeat6BJ | Result of initial hand (the first two cards) at Seat 6: True = Have BJ False = No BJ | Bool |
| BJRSeat6Pair | Seat 6 Pair: 0 = Not a Pair 1 = Mixed Pair 2 = Colored Pair 3 = Perfect Pair 4 = Suited Trips | Int |
| BJRSeat7Hand1Score | Result of the Seat 7's hand 1 score/result | Int |
| BJRSeat7Hand1Status | Indication of Hand 1's status at Seat 7: 0 = No hand 1 = Win 2 = Lose 3 = Push 4 = Surrender | Int |
| BJRSeat7Hand2Score | Result of the Seat 7's hand 2 score/result | Int |
| BJRSeat7Hand2Status | Indication of Hand 2's status at Seat 7: 0 = No hand 1 = Win 2 = Lose 3 = Push | Int |
| BJRSeat7BJ | Result of initial hand (the first two cards) at Seat 7: True = Have BJ False = No BJ | Bool |
| BJRSeat7Pair | Seat 7 Pair: 0 = Not a Pair 1 = Mixed Pair 2 = Colored Pair 3 = Perfect Pair 4 = Suited Trips | Int |
Note: BJ is Natural Blackjack.
9.8.Xoc Dia
9.8.1.GameResult of Xoc Dia
| Name | Description | Type |
|---|---|---|
| NoOfRed | Number of red token in game outcome (0-4) | Int |
| ResultDetail | Details of the result | Structure |
9.8.2.BetType for Xoc Dia
| ID | Description |
|---|---|
| 0 | 4 Red |
| 1 | 1 White 3 Red |
| 2 | 2 White 2 Red |
| 3 | 3 White 1 Red |
| 4 | 4 White |
| 5 | 4 White or 4 Red |
| 6 | Big |
| 7 | Small |
| 8 | Odd |
| 9 | Even |
9.8.3.ResultDetail for Xoc Dia
| Name | Description | Type and Limit |
|---|---|---|
| XDR4r | 4 Red | Bool |
| XDR3r1w | 1 White 3 Red | Bool |
| XDR2r2w | 2 White 2 Red | Bool |
| XDR1r3w | 3 White 1 Red | Bool |
| XDR4w | 4 White | Bool |
| XDR4ror4w | 4 White or 4 Red | Bool |
| XDRBig | Big | Bool |
| XDRSmall | Small | Bool |
| XDROdd | Odd | Bool |
| XDREven | Even | Bool |
9.9.Thai HiLo
9.9.1.GameResult of Thai HiLo
| Name | Description | Type and Limit |
|---|---|---|
| Dice1 | Dice 1 | Int |
| Dice2 | Dice 2 | Int |
| Dice3 | Dice 3 | Int |
| ResultDetail | Details of the result | Structure |
9.9.2.BetType for Thai HiLo
| ID | Description |
|---|---|
| 0 | Hi |
| 1 | Lo |
| 2 | 11 HiLo |
| 3 | Number 1 |
| 4 | Number 2 |
| 5 | Number 3 |
| 6 | Number 4 |
| 7 | Number 5 |
| 8 | Number 6 |
| 9 | Double 1⋅2 |
| 10 | Double 1⋅3 |
| 11 | Double 2⋅3 |
| 12 | Double 3⋅4 |
| 13 | Double 4⋅1 |
| 14 | Double 4⋅2 |
| 15 | Double 4⋅5 |
| 16 | Double 4⋅6 |
| 17 | Double 5⋅1 |
| 18 | Double 5⋅2 |
| 19 | Double 5⋅3 |
| 20 | Double 5⋅6 |
| 21 | Double 6⋅1 |
| 22 | Double 6⋅2 |
| 23 | Double 6⋅3 |
| 24 | 1⋅2⋅3 |
| 25 | 4⋅5⋅6 |
| 26 | 1 Lo |
| 27 | 2 Lo |
| 28 | 3 Lo |
| 29 | 4 Lo |
| 30 | 5 Lo |
| 31 | 6 Lo |
| 32 | 3 Hi |
| 33 | 4 Hi |
| 34 | 5 Hi |
| 35 | 6 Hi |
9.9.3.ResultDetail for Thai HiLo
| Name | Description | Type and Limit |
|---|---|---|
| THLR11HiLo | 0 - Hi 1 - Lo 2 - 11 HiLo | Int |
| THLR_1 | 0 - No Win 1 - Number 1 appearing 1 time 2 - Number 1 appearing 2 times 3 - Number 1 appearing 3 times | Int |
| THLR_2 | 0 - No Win 1 - Number 2 appearing 1 time 2 - Number 2 appearing 2 times 3 - Number 2 appearing 3 times | Int |
| THLR_3 | 0 - No Win 1 - Number 3 appearing 1 time 2 - Number 3 appearing 2 times 3 - Number 3 appearing 3 times | Int |
| THLR_4 | 0 - No Win 1 - Number 4 appearing 1 time 2 - Number 4 appearing 2 times 3 - Number 4 appearing 3 times | Int |
| THLR_5 | 0 - No Win 1 - Number 5 appearing 1 time 2 - Number 5 appearing 2 times 3 - Number 5 appearing 3 times | Int |
| THLR_6 | 0 - No Win 1 - Number 6 appearing 1 time 2 - Number 6 appearing 2 times 3 - Number 6 appearing 3 times | Int |
| THLRDouble1_2 | Double 1⋅2 | Bool |
| THLRDouble1_3 | Double 1⋅3 | Bool |
| THLRDouble2_3 | Double 2⋅3 | Bool |
| THLRDouble3_4 | Double 3⋅4 | Bool |
| THLRDouble4_1 | Double 4⋅1 | Bool |
| THLRDouble4_2 | Double 4⋅2 | Bool |
| THLRDouble4_5 | Double 4⋅5 | Bool |
| THLRDouble4_6 | Double 4⋅6 | Bool |
| THLRDouble5_1 | Double 5⋅1 | Bool |
| THLRDouble5_2 | Double 5⋅2 | Bool |
| THLRDouble5_3 | Double 5⋅3 | Bool |
| THLRDouble5_6 | Double 5⋅6 | Bool |
| THLRDouble6_1 | Double 6⋅1 | Bool |
| THLRDouble6_2 | Double 6⋅2 | Bool |
| THLRDouble6_3 | Double 6⋅3 | Bool |
| THLR_1_2_3 | 0 - No Win 1 - 123 2 - 12 3 - 23 4 - 13 | Int |
| THLR_4_5_6 | 0 - No Win 1 - 456 2 - 45 3 - 56 4 - 46 | Int |
| THLR_1_Lo | 1 Lo | Bool |
| THLR_2_Lo | 2 Lo | Bool |
| THLR_3_Lo | 3 Lo | Bool |
| THLR_4_Lo | 4 Lo | Bool |
| THLR_5_Lo | 5 Lo | Bool |
| THLR_6_Lo | 6 Lo | Bool |
| THLR_3_Hi | 3 Hi | Bool |
| THLR_4_Hi | 4 Hi | Bool |
| THLR_5_Hi | 5 Hi | Bool |
| THLR_6_Hi | 6 Hi | Bool |
9.10.Fish Prawn Crab
9.10.1.GameResult of Fish Prawn Crab
| Name | Description | Type and Limit |
|---|---|---|
| Dice1 | Dice 1 | Int |
| Dice2 | Dice 2 | Int |
| Dice3 | Dice 3 | Int |
| ResultDetail | Details of the result | Structure |
Note:
- 1 = Fish
- 2 = Calabash
- 3 = Prawn
- 4 = Crab
- 5 = Tiger
- 6 = Rooster
9.10.2.BetType for Fish Prawn Crab
| ID | Description |
|---|---|
| 0 | Symbol - Fish |
| 1 | Symbol - Calabash |
| 2 | Symbol - Prawn |
| 3 | Symbol - Crab |
| 4 | Symbol - Tiger |
| 5 | Symbol - Rooster |
| 6 | Double - Fish, Calabash |
| 7 | Double - Fish, Prawn |
| 8 | Double - Fish, Crab |
| 9 | Double - Fish, Tiger |
| 10 | Double - Fish, Rooster |
| 11 | Double - Calabash, Prawn |
| 12 | Double - Calabash, Crab |
| 13 | Double - Calabash, Tiger |
| 14 | Double - Calabash, Rooster |
| 15 | Double - Prawn, Crab |
| 16 | Double - Prawn, Tiger |
| 17 | Double - Prawn, Rooster |
| 18 | Double - Crab, Tiger |
| 19 | Double - Crab, Rooster |
| 20 | Double - Tiger, Rooster |
| 21 | Any Triple (Color) |
| 22 | Any Triple (Symbol) |
9.10.3.ResultDetail for Fish Prawn Crab
| Name | Description | Type and Limit |
|---|---|---|
| FPCR1 | 0 - No Win 1 - Fish appearing 1 time 2 - Fish appearing 2 times 3 - Fish appearing 3 times | Int |
| FPCR2 | 0 - No Win 1 - Calabash appearing 1 time 2 - Calabash appearing 2 times 3 - Calabash appearing 3 times | Int |
| FPCR3 | 0 - No Win 1 - Prawn appearing 1 time 2 - Prawn appearing 2 times 3 - Prawn appearing 3 times | Int |
| FPCR4 | 0 - No Win 1 - Crab appearing 1 time 2 - Crab appearing 2 times 3 - Crab appearing 3 times | Int |
| FPCR5 | 0 - No Win 1 - Tiger appearing 1 time 2 - Tiger appearing 2 times 3 - Tiger appearing 3 times | Int |
| FPCR6 | 0 - No Win 1 - Rooster appearing 1 time 2 - Rooster appearing 2 times 3 - Rooster appearing 3 times | Int |
| FPCRDouble1_2 | Double - Fish, Calabash | Bool |
| FPCRDouble1_3 | Double - Fish, Prawn | Bool |
| FPCRDouble1_4 | Double - Fish, Crab | Bool |
| FPCRDouble1_5 | Double - Fish, Tiger | Bool |
| FPCRDouble1_6 | Double - Fish, Rooster | Bool |
| FPCRDouble2_3 | Double - Calabash, Prawn | Bool |
| FPCRDouble2_4 | Double - Calabash, Crab | Bool |
| FPCRDouble2_5 | Double - Calabash, Tiger | Bool |
| FPCRDouble2_6 | Double - Calabash, Rooster | Bool |
| FPCRDouble3_4 | Double - Prawn, Crab | Bool |
| FPCRDouble3_5 | Double - Prawn, Tiger | Bool |
| FPCRDouble3_6 | Double - Prawn, Rooster | Bool |
| FPCRDouble4_5 | Double - Crab, Tiger | Bool |
| FPCRDouble4_6 | Double - Crab, Rooster | Bool |
| FPCRDouble5_6 | Double - Tiger, Rooster | Bool |
| FPCRAnyTripleColor | Any Triple (Color) | Bool |
| FPCRAnyTripleSymbol | Any Triple (Symbol) | Bool |
9.11.Ultra Roulette
9.11.1.GameResult of Ultra Roulette
| Name | Description | Type and Limit |
|---|---|---|
| Point | 0 to 36 | Int |
| Multiplier | List of multiplier values (2 decimal places): - 0 (No Multiplier win) - 50.00 - 100.00 - 150.00 - 200.00 - 500.00 - 750.00 - 1,000.00 | Structure |
| ResultDetail | Details of the result | Structure |
| MultiplierDetail | List of bet types that are assigned multipliers, along with their respective multiplier values (2 decimal places) | Structure |
9.11.2.BetType for Ultra Roulette
| ID | Description | ID | Description |
|---|---|---|---|
| 0~36 | 0~36 | 97 | 0,1,2 |
| 37 | 0,1 | 98 | 0,2,3 |
| 38 | 0,2 | 99 | 1,2,3 |
| 39 | 0,3 | 100 | 4,5,6 |
| 40 | 1,2 | 101 | 7,8,9 |
| 41 | 1,4 | 102 | 10,11,12 |
| 42 | 2,3 | 103 | 13,14,15 |
| 43 | 2,5 | 104 | 16,17,18 |
| 44 | 3,6 | 105 | 19,20,21 |
| 45 | 4,5 | 106 | 22,23,24 |
| 46 | 4,7 | 107 | 25,26,27 |
| 47 | 5,6 | 108 | 28,29,30 |
| 48 | 5,8 | 109 | 31,32,33 |
| 49 | 6,9 | 110 | 34,35,36 |
| 50 | 7,8 | 111 | 1,2,4,5 |
| 51 | 7,10 | 112 | 2,3,5,6 |
| 52 | 8,9 | 113 | 4,5,7,8 |
| 53 | 8,11 | 114 | 5,6,8,9 |
| 54 | 9,12 | 115 | 7,8,10,11 |
| 55 | 10,11 | 116 | 8,9,11,12 |
| 56 | 10,13 | 117 | 10,11,13,14 |
| 57 | 11,12 | 118 | 11,12,14,15 |
| 58 | 11,14 | 119 | 13,14,16,17 |
| 59 | 12,15 | 120 | 14,15,17,18 |
| 60 | 13,14 | 121 | 16,17,19,20 |
| 61 | 13,16 | 122 | 17,18,20,21 |
| 62 | 14,15 | 123 | 19,20,22,23 |
| 63 | 14,17 | 124 | 20,21,23,24 |
| 64 | 15,18 | 125 | 22,23,25,26 |
| 65 | 16,17 | 126 | 23,24,26,27 |
| 66 | 16,19 | 127 | 25,26,28,29 |
| 67 | 17,18 | 128 | 26,27,29,30 |
| 68 | 17,20 | 129 | 28,29,31,32 |
| 69 | 18,21 | 130 | 29,30,32,33 |
| 70 | 19,20 | 131 | 31,32,34,35 |
| 71 | 19,22 | 132 | 32,33,35,36 |
| 72 | 20,21 | 133 | 1,2,3,4,5,6 |
| 73 | 20,23 | 134 | 4,5,6,7,8,9 |
| 74 | 21,24 | 135 | 7,8,9,10,11,12 |
| 75 | 22,23 | 136 | 10,11,12,13,14,15 |
| 76 | 22,25 | 137 | 13,14,15,16,17,18 |
| 77 | 23,24 | 138 | 16,17,18,19,20,21 |
| 78 | 23,26 | 139 | 19,20,21,22,23,24 |
| 79 | 24,27 | 140 | 22,23,24,25,26,27 |
| 80 | 25,26 | 141 | 25,26,27,28,29,30 |
| 81 | 25,28 | 142 | 28,29,30,31,32,33 |
| 82 | 26,27 | 143 | 31,32,33,34,35,36 |
| 83 | 26,29 | 144 | 1st 12 |
| 84 | 27,30 | 145 | 2nd 12 |
| 85 | 28,29 | 146 | 3rd 12 |
| 86 | 28,31 | 147 | 1st Row |
| 87 | 29,30 | 148 | 2nd Row |
| 88 | 29,32 | 149 | 3rd Row |
| 89 | 30,33 | 150 | 1~18 |
| 90 | 31,32 | 151 | 19~36 |
| 91 | 31,34 | 152 | Odd |
| 92 | 32,33 | 153 | Even |
| 93 | 32,35 | 154 | Red |
| 94 | 33,36 | 155 | Black |
| 95 | 34,35 | 156 | 0,1,2,3 |
| 96 | 35,36 |
9.11.3.ResultDetail for Ultra Roulette
| ID | Description | Type and Limit |
|---|---|---|
| URR0 | 0 | Bool |
| URR1 | 1 | Bool |
| URR2 | 2 | Bool |
| URR3 | 3 | Bool |
| URR4 | 4 | Bool |
| URR5 | 5 | Bool |
| URR6 | 6 | Bool |
| URR7 | 7 | Bool |
| URR8 | 8 | Bool |
| URR9 | 9 | Bool |
| URR10 | 10 | Bool |
| URR11 | 11 | Bool |
| URR12 | 12 | Bool |
| URR13 | 13 | Bool |
| URR14 | 14 | Bool |
| URR15 | 15 | Bool |
| URR16 | 16 | Bool |
| URR17 | 17 | Bool |
| URR18 | 18 | Bool |
| URR19 | 19 | Bool |
| URR20 | 20 | Bool |
| URR21 | 21 | Bool |
| URR22 | 22 | Bool |
| URR23 | 23 | Bool |
| URR24 | 24 | Bool |
| URR25 | 25 | Bool |
| URR26 | 26 | Bool |
| URR27 | 27 | Bool |
| URR28 | 28 | Bool |
| URR29 | 29 | Bool |
| URR30 | 30 | Bool |
| URR31 | 31 | Bool |
| URR32 | 32 | Bool |
| URR33 | 33 | Bool |
| URR34 | 34 | Bool |
| URR35 | 35 | Bool |
| URR36 | 36 | Bool |
| URRDozen1 | 1st 12 | Bool |
| URRDozen2 | 2nd 12 | Bool |
| URRDozen3 | 3rd 12 | Bool |
| URRColumn1 | 1st Row | Bool |
| URRColumn2 | 2nd Row | Bool |
| URRColumn3 | 3rd Row | Bool |
| URR1to18 | 1-18 | Bool |
| URR19to36 | 19-36 | Bool |
| URROdd | Odd | Bool |
| URREven | Even | Bool |
| URRRed | Red | Bool |
| URRBlack | Black | Bool |
9.11.4.MultiplierDetail for Ultra Roulette
| Name | Description | Type and Limit | Required? |
|---|---|---|---|
| BetType | “Straight” bet types (0~36) | Int | Y |
| Multiplier | Awarded multiplier values | Decimal | Y |
9.12.Carnival Treasure
9.12.1.GameResult of Carnival Treasure
| Name | Description | Type |
|---|---|---|
| NoOfSpin | No. of Spin | Int |
| SpinResultList | List of Spin Result | Structure |
| ResultDetail | Details of the result | Structure |
9.12.2.SpinResult of Carnival Treasure
| Name | Description | Type and Limit |
|---|---|---|
| SpinNo | Spin number | Int |
| Result | - May be more than one - Possible values: • Bonus2 (i.e., Bonus 2x) • Bonus10 (i.e., Bonus 10x) • 1 • 2 • 4 • 7 • 18 • 40 | String |
9.12.3.BetType for Carnival Treasure
| Name | Description |
|---|---|
| 0 | 1 |
| 1 | 2 |
| 2 | 4 |
| 3 | 7 |
| 4 | 18 |
| 5 | 40 |
9.12.4.ResultDetail for Carnival Treasure
| Name | Description | Type and Limit |
|---|---|---|
| CTR1 | Result = 1 | Bool |
| CTR2 | Result = 2 | Bool |
| CTR4 | Result = 4 | Bool |
| CTR7 | Result = 7 | Bool |
| CTR18 | Result = 18 | Bool |
| CTR40 | Result = 40 | Bool |
9.13.Boundless Blackjack
9.13.1.GameResult of Boundless Blackjack
| Name | Description | Type |
|---|---|---|
| Player | Player’s Hand (may be more than 1 Hand) | Structure |
| Dealer | Dealer’s Cards (may be more than 1 card) | Structure |
| Hand(X) | Hand Detail Examples: Hand1 Hand2 | Structure |
| Card(X) | CardDetail Examples: Card1 Card2 Card3 ... | Structure |
| PlayerSequence | Player Card’s sequence Examples: Card1 Card2 Card3 ... | Structure |
Special Note: In the case of a split, the hand detail structure wraps Hand1 and Hand2 within Player, with each hand containing at least Card1 and Card2.
9.13.2.BetType for Boundless Blackjack
| ID | Description |
|---|---|
| 1 | Bet |
| 2 | Insurance |
| 3 | Split |
| 4 | Double Down Hand 1 |
| 5 | Double Down Hand 2 |
| 6 | Double Down |
| 11 | Pair |
| 12 | Bust Bonus |
| 13 | Lucky Trio |
| 14 | Poker Trio |
9.13.3.ResultDetail for Boundless Blackjack
| Name | Description | Type and Limit |
|---|---|---|
| BBJRDealerScore | Result of the dealer’s hand score/result | Int |
| BBJRDealerHandStatus | Indication of the dealer's hand status: 0 = Non-BJ hand (21 points or fewer) 1 = Non-BJ hand (above 21 points) 2 = BJ hand | Int |
| BBJRInsuracne | Indication of Insurance: 0 = Dealer's initial card is not an Ace 1 = Dealer has BJ (win) 2 = Dealer has no BJ (lose) | Int |
| BBJRPlayerHand1Score | Result of the Player’s hand 1 score/result | Int |
| BBJRPlayerHand1Status | Indication of Player Hand 1's status: 1 = Win 2 = Lose 3 = Push 4 = Surrender | Int |
| BBJRPlayerHand2Score | Result of the Player’s hand 2 score/result | Int |
| BBJRPlayerHand2Status | Indication of Player Hand 2's status: 0 = No hand 1 = Win 2 = Lose 3 = Push | Int |
| BBJRPlayerBJ | Result of Player’s initial hand (the first two cards): True = Have BJ False = No BJ | Bool |
| BBJRPlayerPair | Player Pair: 0 = Not a Pair 1 = Mixed Pair 2 = Colored Pair 3 = Perfect Pair | Int |
| BBJRBustBonus | Dealer Bust with X cards: 0 = No Bust 3 = Bust with 3 cards 4 = Bust with 4 cards 5 = Bust with 5 cards 6 = Bust with 6 cards 7 = Bust with 7 cards 8 = Bust with 8+ cards | Int |
| BBJRLuckyTrio | Player first 2 cards + Dealer first card: 0 = No Lucky Trio 1 = 3-card total of 19 or 20 2 = Unsuited 3-card total of 21 3 = Suited 3-card total of 21 4 = Unsuited 6-7-8 5 = Unsuited 7-7-7 6 = Suited 6-7-8 7 = Suited 7-7-7 | Int |
| BBJRPokerTrio | Player first 2 cards + Dealer first card: 0 = No Poker Trio 1 = Flush 2 = Straight 3 = Three of a Kind 4 = Straight Flush 5 = Suited Trips | Int |
Note: BJ is Natural Blackjack.
10.Host ID to Game Mapping
| ID | Game |
|---|---|
| 201 | Thai Bacc R01 |
| 202 | Thai Bacc R02 |
| 222 | Carnival Treasure |
| 521 | Baccarat M01 |
| 522 | Baccarat M02 |
| 532 | Sic Bo M |
| 533 | Roulette M |
| 534 | Dragon Tiger M |
| 535 | Pok Deng M |
| 539 | Thai HiLo M |
| 540 | Fish Prawn Crab M |
| 541 | Ultra Roulette M |
| 542 | Deluxe Blackjack M |
| 861 | Roulette C |
| 862 | Ultra Roulette C |
| 871 | Baccarat C01 |
| 872 | Baccarat C02 |
| 873 | Baccarat C03 |
| 874 | Baccarat C04 |
| 875 | Baccarat C05 |
| 876 | Baccarat C06 |
| 877 | Baccarat C07 |
| 878 | Speed Baccarat C08 |
| 901 | Baccarat D01 |
| 902 | Baccarat D02 |
| 903 | Baccarat D03 |
| 904 | Baccarat D04 |
| 905 | Baccarat D05 |
| 906 | Baccarat D06 |
| 907 | Baccarat D07 |
| 908 | Speed Baccarat D08 |
| 922 | Dragon Tiger D |
| 923 | Pok Deng D |
| 924 | Roulette D |
| 925 | Sic Bo D |
| 926 | Thai HiLo D |
| 927 | Xoc Dia D |
| 928 | Ultra Roulette D |
| 929 | Deluxe Blackjack D |
| 930 | Boundless Blackjack D |
11.Supported Currencies
This is the list of currencies we support. Please note that the currency has to be enabled to your api account before using it. You may contact our CS for enquiries.
| ISO Currency Code (1:1) | Currency |
|---|---|
| AED | United Arab Emirates Dirham |
| AMD | Armenian Dram |
| AOA | Angolan Kwanza |
| ARS | Argentina Peso |
| AUD | Australian Dollar |
| AZN | Azerbaijan New Manat |
| BDT | Bangladeshi Taka |
| BND | Brunei Dollar |
| BOB | Bolivian Bolivianos |
| BRL | Brazilian Real |
| BWP | Botswana pula |
| BYN | Belarusian Ruble |
| CAD | Canadian Dollar |
| CHF | Swiss Franc |
| CLP | Chilean Peso |
| CZK | Czech Koruna |
| DKK | Danish Krone |
| DOP | Dominican Peso |
| EGP | Egyptian Pound |
| ETB | Ethiopian Birr |
| EUR | Euro |
| GBP | Great British Pound |
| GEL | Georgian Lari |
| GHS | Ghanaian New Cedi |
| GMD | Gambian Dalasi |
| HTG | Haitian Gourde |
| HUF | Hungarian Forint |
| ILS | Israeli New Shekel |
| INR | Indian Rupee |
| IQD | Iraqi Dinar |
| JPY | Japanese Yen |
| KES | Kenyan Shilling |
| KGS | Kyrgyzstani Som |
| KRW | Korean Won |
| KWD | Kuwaiti Dinar |
| KZT | Kazakhstani Tenge |
| LKR | Sri Lankan Rupee |
| LRD | Liberian Dollar |
| LSL | Lesotho Loti |
| MAD | Moroccan Dirham |
| MDL | Moldovan Leu |
| MVR | Maldivian Rufiyaa |
| MWK | Malawi Kwacha |
| MXN | Mexican Peso |
| MYR | Malaysian Ringgit |
| MZN | Mozambique New Metical |
| NAD | Namibian Dollar |
| NGN | Nigerian Naira |
| NOK | Norwegian Krone |
| NPR | Nepalese Rupee |
| NZD | New Zealand Dollar |
| PAB | Panamanian Balboa |
| PEN | Peruvian Nuevo Sol |
| PGK | Papua New Guinean Kina |
| PHP | Philippine Peso |
| PKR | Pakistani Rupee |
| PLN | Polish Zloty |
| QAR | Qatari Rial |
| RON | Romanian Leu |
| RSD | Serbian Dinar |
| RUB | Russian Ruble |
| SAR | Saudi Riyal |
| SEK | Swedish Krona |
| SGD | Singapore Dollar |
| SRD | Surinamese Dollar |
| SZL | Swazi Lilangeni |
| THB | Thai Baht |
| TJS | Tajikistani Somoni |
| TMT | Turkmenistan New Manat |
| TND | Tunisian Dinar |
| TRY | Turkish Lira |
| TWD | Taiwan Dollar |
| UAH | Ukrainian Hryvnia |
| USD | US Dollar |
| UYU | Uruguayan Pesos |
| VES | Venezuelan Bolivar Soberano |
| XAF | Central African CFA Franc |
| XOF | West African CFA Franc |
| ZAR | South Africa Rand |
| ZMW | Zambian Kwacha |
| Special Currency Code (1:1) | Currency |
|---|---|
| BIF2 | Burundian Franc |
| CDF2 | Congolese Franc |
| COP2 | Colombian Peso |
| IDR2 | Indonesian Rupiah |
| IRR2 | Iranian Rial |
| KHR2 | Cambodian Riel |
| LAK2 | Lao Kip |
| LBP2 | Lebanese Pound |
| MMK2 | Myanmar Kyat |
| MNT2 | Mongolian Tugrik |
| PYG2 | Paraguayan Guarani |
| RWF2 | Rwandan Franc |
| TZS2 | Tanzanian Shilling |
| UGX2 | Ugandan Shilling |
| UZS2 | Uzbekistan Som |
| VND2 | Vietnamese Dong |
| ISO Currency Code (1:1000) | Currency |
|---|---|
| BIF | Burundian Franc |
| CDF | Congolese Franc |
| COP | Colombian Peso |
| IDR | Indonesian Rupiah |
| IRR | Iranian Rial |
| KHR | Cambodian Riel |
| LAK | Lao Kip |
| LBP | Lebanese Pound |
| MMK | Myanmar Kyat |
| MNT | Mongolian Tugrik |
| PYG | Paraguayan Guarani |
| RWF | Rwandan Franc |
| TZS | Tanzanian Shilling |
| UGX | Ugandan Shilling |
| UZS | Uzbekistan Som |
| VND | Vietnamese Dong |
| Special Currency Code | Currency | Remarks |
|---|---|---|
| IN5 | Indian Rupee | 0.2 INR |
| PK5 | Pakistani Rupee | 0.2 PKR |
| Cryptocurrency Code | Cryptocurrency |
|---|---|
| DOGE | Dogecoin |
| HIVE | HIVE |
| LTC | Litecoin |
| mXBT | Milli Bitcoin |
| NOT | Notcoin |
| TON | Toncoin |
| USDC | USD coin |
| USDT | Tether |
| uXBT | Micro-Bitcoin |
11.1.Example of Currency Handling
DebitBalanceDV
<?xml version="1.0" encoding="utf-8"?>
<DebitBalanceResponse
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ErrorMsgId>0</ErrorMsgId>
<ErrorMsg>Success</ErrorMsg>
<Username>test123</Username>
<Balance>862877</Balance>
<DebitAmount>1000</DebitAmount>
<OrderId>OUT20240703153959test123</OrderId>
</DebitBalanceResponse>
For regular currencies, the Balance and DebitAmount are displayed at a 1:1 ratio, with amounts of 862,877 and 1,000 respectively.
For currencies that are displayed at a 1:1,000 ratio, the actual values for Balance and DebitAmount are 862,877,000 (862,877*1,000) and 1,000,000 (1,000*1,000) respectively.
CreditBalanceDV
<?xml version="1.0" encoding="utf-8"?>
<CreditBalanceResponse
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ErrorMsgId>0</ErrorMsgId>
<ErrorMsg>Success</ErrorMsg>
<Username>test123</Username>
<Balance>863877</Balance>
<CreditAmount>1000</CreditAmount>
<OrderId>IN20240703160248test123</OrderId>
</CreditBalanceResponse>
For regular currencies, the Balance and CreditAmount are displayed at a 1:1 ratio, with amounts of 863,877 and 1,000 respectively.
For currencies that are displayed at a 1:1,000 ratio, the actual values for Balance and CreditAmount are 863,877,000 (863,877*1,000) and 1,000,000 (1,000*1,000) respectively.
