Web Service API

Technical Guide

  1. Introduction
  2. Version
  3. Important Information
    1. API Calling Restriction
    2. Accuracy of Point Value
    3. Currency Handling
  4. Encryption
    1. Encryption Requirements
    2. Encryption Procedures
    3. Example to call API
    4. Error handling
  5. Web Service Interface
    1. User Account Manipulation
      1. RegUserInfo
      2. VerifyUsername
      3. GetUserStatusDV
      4. QueryBetLimit
      5. SetAllBetLimit
      6. GetUserMaxBalance
      7. SetUserMaxBalance
      8. SetUserMaxWinning
      9. QueryUserBetLimit
    2. Login Access
      1. LoginRequest
      2. LoginRequestForFun
      3. KickUser
    3. Bet Records Query
      1. GetAllBetDetailsDV
      2. GetAllBetDetailsForTimeIntervalDV
      3. GetAllBetDetailsForTransactionID
      4. GetUserBetItemDV
      5. GetUserBetAmountDV
      6. GetUserWinLost
      7. GetTransactionDetails
      8. GetActiveHostList
      9. GetCancelledBetDetails
      10. GetGameErrorDetail
      11. GetUnsuccessfulBetDetails
      12. GetGiftTransactionDetails
    4. Transfer Wallet
      1. DebitBalanceDV
      2. DebitAllBalanceDV
      3. CreditBalanceDV
      4. CheckOrderId
      5. CheckOrderDetailsDV
    5. Seamless Wallet
      1. ResendTransaction
    6. Campaign Management
      1. GetEventPointTransactionDetail
      2. GetEventWinningDetail
      3. GetEventWinningDetailForTransactionID
      4. CreditEventPoint
      5. GetLeaderboardRankingDetail
  6. Seamless Wallet Integration
    1. Introduction
    2. Workflow
    3. Seamless Wallet Protocol
      1. Encryption Procedures
      2. POST
      3. Response Data
    4. GetUserBalance
    5. Fund Transfer
      1. PlaceBet
      2. PlayerWin
      3. PlayerLost
      4. PlaceBetCancel
      5. BalanceAdjustment
    6. Error Code List
  7. Error Message Code Reference
    1. Common Error Message Code
    2. Unsuccessful Reason Code
  8. Game Launching Procedures
    1. Live Game
  9. UserBetItem
    1. GameType
    2. Baccarat
      1. GameResult of Baccarat
      2. CardDetail of Baccarat
      3. BetType for Baccarat
      4. ResultDetail for Baccarat
    3. Dragon & Tiger
      1. GameResult of Dragon Tiger
      2. BetType for Dragon Tiger
      3. ResultDetail for Dragon Tiger
    4. Sic Bo
      1. GameResult of Sic Bo
      2. BetType for Sic Bo
      3. ResultDetail for Sic Bo
    5. Roulette
      1. GameResult of Roulette
      2. BetType for Roulette
      3. ResultDetail for Roulette
    6. Pok Deng
      1. GameResult of Pok Deng
      2. BetType for Pok Deng
      3. ResultDetail for Pok Deng
      4. Result state for Pok Deng
      5. Total point for Pok Deng
    7. Deluxe Blackjack
      1. GameResult of Deluxe Blackjack
      2. BetType for Deluxe Blackjack
      3. ResultDetail for Deluxe Blackjack
    8. Xoc Dia
      1. GameResult of Xoc Dia
      2. BetType for Xoc Dia
      3. ResultDetail for Xoc Dia
    9. Thai HiLo
      1. GameResult of Thai HiLo
      2. BetType for Thai HiLo
      3. ResultDetail for Thai HiLo
    10. Fish Prawn Crab
      1. GameResult of Fish Prawn Crab
      2. BetType for Fish Prawn Crab
      3. ResultDetail for Fish Prawn Crab
    11. Ultra Roulette
      1. GameResult of Ultra Roulette
      2. BetType for Ultra Roulette
      3. ResultDetail for Ultra Roulette
      4. MultiplierDetail for Ultra Roulette
    12. Carnival Treasure
      1. GameResult of Carnival Treasure
      2. SpinResult of Carnival Treasure
      3. BetType for Carnival Treasure
      4. ResultDetail for Carnival Treasure
    13. Boundless Blackjack
      1. GameResult of Boundless Blackjack
      2. BetType for Boundless Blackjack
      3. ResultDetail for Boundless Blackjack
  10. Host ID to Game Mapping
  11. Supported Currencies
    1. Example of Currency Handling
  12. Resources

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 #

VersionDescriptionDate
3.2.21
  1. Added a new supported cryptocurrency - HIVE

  2. Added Andar Bahar M and Teen Patti 20-20 M table rearrangement notice to Section 3. Important Information
2026/04/13
3.2.22
  1. Added a new supported currency - RON

2026/04/29
3.2.23
  1. Removed tables "Andar Bahar M" & "Teen Patti 20-20 M"

  2. - Updated Section 3 Important Information
    - Updated Section 5.1.4 QueryBetLimit
    - Updated Section 5.1.9 QueryUserBetLimit
    - Updated Section 5.3.1 GetAllBetDetailsDV
    - Updated Section 5.3.3 GetAllBetDetailsForTransactionID
    - Updated Section 5.3.9 GetCancelledBetDetails
    - Updated Section 5.3.12 GetGiftTransactionDetails
    - Updated Section 9 UserBetItem
    - Updated Section 9.1 GameType
    - Removed Section 9.7 Andar Bahar
    - Removed Section 9.8 Teen Patti 20-20
    - Updated Section 10 Host ID to Game Mapping


2026/05/04
3.2.24
  1. Added a new supported currency - SRD

  2. Added a new game table "Boundless Blackjack" (Host ID 930)

  3. - Updated Section 5.1.4 QueryBetLimit
    - Updated Section 5.1.5 SetAllBetLimit
    - Updated Section 5.1.9 QueryUserBetLimit
    - Updated Section 5.3.1 GetAllBetDetailsDV
    - Updated Section 5.3.2 GetAllBetDetailsForTimeIntervalDV
    - Updated Section 5.3.3 GetAllBetDetailsForTransactionID
    - Updated Section 9 UserBetItem
    - Updated Section 9.1 GameType
    - Added new Section 9.13 Boundless Blackjack
    - Updated Section 10 Host ID to Game Mapping


2026/05/11
3.2.25

  1. Enabled API Calling Restriction for DebitBalanceDV, DebitAllBalanceDV and CreditBalanceDV

  2. - Updated Section 3.1 API Calling Restriction

2026/05/14

3.Important Information #

3.1.API Calling Restriction #

The following APIs have calling restriction.

Name of APIFrequency of calls
CreditBalanceDVEvery 1 minute no more than 1000 calls
DebitAllBalanceDVEvery 1 minute no more than 1000 calls
DebitBalanceDVEvery 1 minute no more than 1000 calls
GetAllBetDetailsDVEvery 5 minutes no more than 10 calls
GetAllBetDetailsForTimeIntervalDVEvery 5 minutes no more than 10 calls
GetCancelledBetDetailsEvery 5 minutes no more than 10 calls
GetEventWinningDetailEvery 5 minutes no more than 10 calls
GetGiftTransactionDetailsEvery 5 minutes no more than 10 calls
GetLeaderboardRankingDetailEvery 5 minutes no more than 10 calls
GetUnsuccessfulBetDetailsEvery 5 minutes no more than 10 calls
LoginRequestForFunEvery 1 minute no more than 50 calls
ResendTransactionEvery 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:///api/api.aspx

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
NameDescriptionType and LimitRequired?
methodMust be "RegUserInfo"String (32)Y
KeySecret keyString (32)Y
TimeCurrent time in "yyyyMMddHHmmss" formatDateTimeY
UsernameUsernameString (48)Y
CurrencyTypeCurrency:
USD
Refer to Supported currencies
String (16)Y
Result
NameDescriptionType and LimitRequired?
UsernameUsernameString (48)Y
ErrorMsgIdError message:
0: Success
108: Username length/format incorrect
113: Username duplicated
114: Currency not exist
133: Create user failed
ByteY
ErrorMsgError message detailsStringY

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
NameDescriptionType and LimitRequired?
methodMust be “VerifyUsername”String (32)Y
KeySecret keyString (32)Y
TimeCurrent time in “yyyyMMddHHmmss” formatDateTimeY
UsernameUsernameString (48)Y
Result
NameDescriptionType and LimitRequired?
UsernameUsernameString (48)Y
IsExistUser existing?
True: user existing
False: user not existing
BoolY
ErrorMsgIdError message:
0: Success
108: Username length/format incorrect
ByteY
ErrorMsgError message detailsStringY

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
Parameters
NameDescriptionType and LimitRequired?
methodMust be "GetUserStatusDV"String (32)Y
KeySecret keyString (32)Y
TimeCurrent time in "yyyyMMddHHmmss" formatDateTimeY
UsernameUsernameString (48)Y
Result
NameDescriptionType and LimitRequired?
IsSuccessSuccess?
True: Success
False: Failed
BoolY
UsernameUsernameString (48)Y
BalanceActive balance, excluding betted amount. Correct to cent. (Not applicable for seamless wallet)DecimalY
OnlineOnline?BoolY
BettedBetted? (Not applicable for seamless wallet)BoolY
BettedAmountTotal betted amount (Not applicable for seamless wallet)DecimalY
MaxBalanceUpper limit in user's balance to place bet (Not applicable for seamless wallet)DecimalY
MaxWinningDaily winning limitation to allow place betDecimalY
ErrorMsgIdError message
0: Success
100: Username error
108: Username length/format incorrect
116: Username does not exist
ByteY
ErrorMsgError message detailStringY
<?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
NameDescriptionType and LimitRequired?
methodMust be "QueryBetLimit"String (32)Y
KeySecret keyString (32)Y
TimeCurrent time in "yyyyMMddHHmmss" formatDateTimeY
Currencye.g. USD
Refer to Supported currencies
String (16)Y
Gametypebaccarat – 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"
StringY
Result
NameDescriptionType and LimitRequired?
BetLimitListBetLimit listsXML StructureY
ErrorMsgIdError message:
0: Success
114: Currency not exist
155: Incorrect/missing game type
ByteY
ErrorMsgError message detailStringY
BetLimit structure
NameDescriptionType and LimitRequired?
RuleIDID of the bet limitInt64Y
GameTypeThe game type of return dataAttributeY
MinMinimum of the limit IntY
MaxMaximum of the limitIntY

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 TypeNumber of bet limit combinations
Boundless Blackjack1
Carnival Treasure1
Deluxe Blackjack1
All Other Games1-5
Parameters
NameDescriptionType and LimitRequired?
methodMust be "SetAllBetLimit"String (32)Y
KeySecret keyString (32)Y
TimeCurrent time in "yyyyMMddHHmmss" formatDateTimeY
UsernameUsernameString (48)Y
Currencye.g. USD
Refer to Supported currencies
String (16)Y
ListSetID 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
Result
NameDescriptionType and LimitRequired?
ErrorMsgIdError 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
ByteY
ErrorMsgError message detailStringY

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
NameDescriptionType and LimitRequired?
methodMust be "GetUserMaxBalance"String (32)Y
KeySecret keyString (32)Y
TimeCurrent time in "yyyyMMddHHmmss" formatDateTimeY
UsernameUsernameString (48)Y
Result
NameDescriptionType and LimitRequired?
MaxBalanceMaximum balanceDecimalY
ErrorMsgIdError message:
0: Success
100: Username error
108: Username length/format incorrect
116: Username does not exist
159: This API is for transfer wallet
ByteY
ErrorMsgError message detailStringY

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
NameDescriptionType and LimitRequired?
methodMust be "SetUserMaxBalance"String (32)Y
KeySecret keyString (32)Y
TimeCurrent time in "yyyyMMddHHmmss" formatDateTimeY
UsernameUsernameString (48)Y
MaxBalanceMaximum balanceDecimalY
Result
NameDescriptionType and LimitRequired?
ErrorMsgIdError 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
ByteY
ErrorMsgError message detailStringY

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
NameDescriptionType and LimitRequired?
methodMust be "SetUserMaxWinning"String (32)Y
KeySecret keyString (32)Y
TimeCurrent time in "yyyyMMddHHmmss" formatDateTimeY
UsernameUsernameString (48)Y
MaxWinningMaximum daily winningDecimalY
Result
NameDescriptionType and LimitRequired?
ErrorMsgIdError message:
0: Success
116: Username does not exist
142: Parameter(s) error
ByteY
ErrorMsgError message detailStringY

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
NameDescriptionType and LimitRequired?
methodMust be "QueryUserBetLimit"String (32)Y
KeySecret keyString (32)Y
TimeCurrent time in "yyyyMMddHHmmss" formatDateTimeY
UsernameUsernameString (48)Y
Gametypebaccarat – 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"
StringY
Result
NameDescriptionType and LimitRequired?
UsernameUsernameString (48)Y
BetLimitListBetLimit listsXML StructureY
ErrorMsgIdError message:
0: Success
108: Username length/format incorrect
116: Username does not exist
155: Incorrect/missing game type
ByteY
ErrorMsgError message detailStringY
BetLimit structure
NameDescriptionType and LimitRequired?
RuleIDID of the bet limitInt64Y
GameTypeThe game type of return dataAttributeY
MinMinimum of the limit IntY
MaxMaximum of the limitIntY

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
NameDescriptionType and LimitRequired?
methodMust be “LoginRequest”String (32)Y
KeySecret keyString (32)Y
TimeCurrent time in “yyyyMMddHHmmss” formatDateTimeY
UsernameUsernameString (48)Y
CurrencyTypeCurrency:
USD
Refer to Supported currencies
String (16)Y
Result
NameDescriptionType and LimitRequired?
Token #Token for Live gameStringY
DisplayName *Internal assigned usernameString (52)Y
ErrorMsgIdError message:
0: Success
129: System under maintenance
130: User account is locked (disabled)
133: Create user failed
135: Game access denied
ByteY
ErrorMsgError message detailStringY
GameLaunchDomainDomain to launch the gameStringY
GameLaunchURLURL (HTML encoded) to launch the gameStringY

# 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&amp;token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&amp;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
NameDescriptionType and LimitRequired?
methodMust be “LoginRequestForFun”String (32)Y
KeySecret keyString (32)Y
TimeCurrent time in “yyyyMMddHHmmss” formatDateTimeY
AmountInitial 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.DecimalY
CurrencyTypeCurrency:
USD
Refer to Supported currencies
String (16)Y
Result
NameDescriptionType and LimitRequired?
Token#Token for Live gameStringY
DisplayNameInternal assigned usernameString (52)Y
ErrorMsgIdError message:
0: Success
129: System under maintenance
135: Game access denied
ByteY
ErrorMsgError message detailStringY
GameLaunchDomainDomain to launch the gameStringY
GameLaunchURLURL (HTML encoded) to launch the gameStringY

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&amp;token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&amp;lobby=A1234</GameLaunchURL>
<ErrorMsgId>0</ErrorMsgId>
<ErrorMsg>Success</ErrorMsg>
</LoginRequestTryToPlayResponse>

5.2.3.KickUser #

Kick user to offline.

Parameters
NameDescriptionType and LimitRequired?
methodMust be "KickUser"String (32)Y
KeySecret keyString (32)Y
TimeCurrent time in "yyyyMMddHHmmss" formatDateTimeY
UsernameUsernameString (48)Y
Result
NameDescriptionType and LimitRequired?
ErrorMsgIdError message:
0: Success
104: Service not available
108: Username length/format incorrect
116: Username does not exist
125: Kick user fail
ByteY
ErrorMsgError message detailStringY

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
NameDescriptionType and LimitRequired?
methodMust be "GetAllBetDetailsDV"String (32)Y
KeySecret keyString (32)Y
TimeCurrent time in "yyyyMMddHHmmss" formatDateTimeY
UsernameUsernameString (48)N
DateDate for details “yyyy-MM-dd”
DateN
Result
NameDescriptionType and LimitRequired?
NumOfRecordThe number of record(s) returnedIntY
BetDetailListBet details structureXMLY
ErrorMsgIdError message:
0: Success
108: Username length/format incorrect
112: API recently called
116: Username does not exist
142: Parameter(s) error
ByteY
ErrorMsgError message detailStringY
BetDetail structure
NameDescriptionType and LimitRequired?
BetTimeBet Confirmation TimeDate TimeY
PayoutTime Payout time Date TimeY
UsernameUsernameString (48) Y
HostIDHost table IDInt (16)Y
DetailReserved StringN
GameIDGame ID String (64)Y
RoundGame Round IntY
SetGame Set IntY
BetIDBet ID Int (64)Y
CurrencyCurrency:
USD
Refer to Supported currencies
String (16)Y
BetAmountBet amount DecimalY
RollingValid bet amountDecimalY
ResultAmountPayout DecimalY
BalanceBalance after this bet (Not applicable for seamless wallet)DecimalY
GameTypeGame type. For details please click hereStringY
BetTypeLive game: Bet type of different games IntY
BetSource
2640Desktop - Single Bet
2641Desktop - Multi Bet
8792Mobile - Single Bet, Other OS
8793Mobile - Multi Bet, Other OS
8920Mobile - Single Bet, iOS
8921Mobile - Multi Bet, iOS
9048Mobile - Single Bet, Android
9049Mobile - Multi Bet, Android
IntY
TransactionIDSeamless wallet PlaceBet transaction ID.
-1 if not using seamless wallet
Int (64)Y
BetConfirmation0 – Manual
1 – Auto
IntY
GameResultThe 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
XMLY

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
NameDescriptionType and LimitRequired?
methodMust be "GetAllBetDetailsForTimeIntervalDV"String (32)Y
KeySecret keyString (32)Y
TimeCurrent time in "yyyyMMddHHmmss" formatDateTimeY
UsernameUsernameString (48)N
FromTimeDate for details “yyyy-MM-dd HH:mm:ss”
Date TimeY
ToTimeDate for details “yyyy-MM-dd HH:mm:ss”
Date TimeY
Result
NameDescriptionType and LimitRequired?
NumOfRecordThe number of record(s) returnedIntY
BetDetailListBet details structureXMLY
ErrorMsgIdError 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
ByteY
ErrorMsgError message detailStringY

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.

Parameters:
NameDescriptionType and LimitRequired?
methodmust be "GetAllBetDetailsForTransactionID"String (32)Y
Keysecret keyString (32)Y
Timecurrent time in "yyyyMMddHHmmss" formatDateTimeY
TransactionIDTransaction ID of a PlayerWin or PlayerLostString (16)Y
Result:
NameDescriptionType and LimitRequired?
NumOfRecordThe number of record(s) returnedIntY
ResultThe 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
XMLY
BetDetailListBet details structureXMLY
ErrorMsgIdError message
0: Success
106: Server not ready
160: This API is for seamless wallet
ByteY
ErrorMsgError message detailStringY
BetDetail structure:
NameDescriptionType and LimitRequired?
BetTimeBet Confirmation TimeDate TimeY
PayoutTimePayout timeDate TimeY
UsernameUsernameString (48)Y
HostIDHost table IDInt16Y
GameIDGame IDStringY
RoundGame RoundIntY
SetGame SetIntY
BetIDBet IDInt64Y
CurrencyCurrency:
USD
Refer to Supported currencies
String (16)Y
BetAmountBet amountDecimalY
RollingValid bet amountDecimalY
ResultAmountPayoutDecimalY
BalanceBalance after this bet (Not applicable for seamless wallet)DecimalY
GameTypeGame type. For details please click hereStringY
BetTypeLive game: Bet type of different gamesIntY
BetSource
2640Desktop - Single Bet
2641Desktop - Multi Bet
8792Mobile - Single Bet, Other OS
8793Mobile - Multi Bet, Other OS
8920Mobile - Single Bet, iOS
8921Mobile - Multi Bet, iOS
9048Mobile - Single Bet, Android
9049Mobile - Multi Bet, Android
IntY
DetailReservedStringN
TransactionIDSeamless wallet PlaceBet transaction ID.
-1 if not using seamless wallet
Int64Y
BetConfirmation0 – Manual
1 – Auto
IntY

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
NameDescriptionType and LimitRequired?
methodMust be "GetUserBetItemDV"String (32)Y
KeySecret keyString (32)Y
TimeCurrent time in "yyyyMMddHHmmss" formatDateTimeY
UsernameUsernameString (48)Y
FromTimeQuery start time:
“yyyy-MM-dd” or
“yyyy-MM-dd HH:mm:ss”
DateTimeY
ToTimeQuery end time:
“yyyy-MM-dd” or
“yyyy-MM-dd HH:mm:ss”
DateTimeY
OffsetQuery offset id. First query input 0. For the next query, using the offset from resultInt64Y
Result
NameDescriptionType and LimitRequired?
UsernameUsernameString (48)Y
FromTimeQuery start timeDateTimeY
ToTimeQuery end timeDateTimeY
OffsetOffsetInt64Y
MoreTrue: data still existing for query, using the Offset to start again.

False: all data has been send
boolY
ItemCountNumber of item queriedIntY
UserBetItemListList of bet item details
UserBetItem
XMLY
ErrorMsgIdError message:
0: Success
111: Query time range out of limitation
116: Username does not exist
ByteY
ErrorMsgError message detailStringY

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
NameDescriptionType and LimitRequired?
methodMust be "GetUserBetAmountDV"String (32)Y
KeySecret keyString (32)Y
TimeCurrent time in "yyyyMMddHHmmss" formatDateTimeY
UsernameUsernameString (48)N
StartDateQuery start date/time:
“yyyy-MM-dd” (default time 00:00:00) or
“yyyy-MM-dd HH:mm:ss”
DateTimeN
TimeRangeRange in hour from 0 to 23
(default 0 = 24 hours)
IntN
Result
NameDescriptionType and LimitRequired?
UsernameUsernameString (48)Y
StakeAmountSum of bet amount for all gamesDecimalY
ErrorMsgIdError message:
0: Success
108: Username length/format incorrect
116: Username does not exist
142: Parameter(s) error
ByteY
ErrorMsgError message detailStringY
<?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
NameDescriptionType and LimitRequired?
methodMust be "GetUserWinLost"String (32)Y
KeySecret keyString (32)Y
TimeCurrent time in "yyyyMMddHHmmss" formatDateTimeY
UsernameUsernameString (48)Y
FromTimeDate for details “yyyy-MM-dd HH:mm:ss”DateTimeY
ToTimeDate for details “yyyy-MM-dd HH:mm:ss”DateTimeY
Type0 - includes win and loss
1 - only includes win
2 - only includes loss
IntN
Result
NameDescriptionType and LimitRequired?
WinlostWin or loss summary valueDecimalY
ErrorMsgIdError 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
ByteY
ErrorMsgError message detailStringY

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
NameDescriptionType and LimitRequired?
methodMust be "GetTransactionDetails"String (32)Y
KeySecret keyString (32)Y
TimeCurrent time in "yyyyMMddHHmmss" formatDateTimeY
Username Username String (48)N
FromTimeDate for details “yyyy-MM-dd HH:mm:ss”DateTimeY
ToTimeDate for details “yyyy-MM-dd HH:mm:ss”DateTimeY
Result
NameDescriptionType and LimitRequired?
TransactionDetailsTransaction details structureXMLY
ErrorMsgIdError message:
0: Success
106: Server not ready
111: Query time range out of limitation
116: Username does not exist
ByteY
ErrorMsgError message detailStringY
TransactionDetails structure:
NameDescriptionType and LimitRequired?
CurrencyNameCurrency:
USD
Refer to Supported currencies
String (16)Y
CountNumber of transactionsIntY
WinloseWin/loseDecimalY
TotalBetTotal bet amountDecimalY
TotalRollingTotal valid bet amountDecimalY
<?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
NameDescriptionType and LimitRequired?
methodMust be "GetActiveHostList"String (32)Y
TimeCurrent time in "yyyyMMddHHmmss" formatDateTimeY
KeySecret keyString (32)Y
Result
NameDescriptionType and LimitRequired?
HostListHost listXML StructureY
ErrorMsgIdError message:
0: Success
ByteY
ErrorMsgError message detailsStringY
HostList structure
NameDescriptionType and LimitRequired?
HostIDHost IDInt(16)Y
GameTypeGame typeStringY
HostNameHost nameStringY
Enabledtrue – Enabled in Backoffice by operator
false – Disabled in Backoffice by operator
BoolY
GameStatus0 - Table is opened
1 - Table is closed
IntY
GameIconList of image download URLStructureY

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
NameDescriptionType and LimitRequired?
methodMust be "GetCancelledBetDetails"String (32)Y
KeySecret keyString (32)Y
TimeCurrent time in "yyyyMMddHHmmss" formatDateTimeY
UsernameUsernameString (48)N
GameIDGame IDString (64)N
FromTimeDate for details “yyyy-MM-dd HH:mm:ss”
Date TimeN
ToTimeDate for details “yyyy-MM-dd HH:mm:ss”
Date TimeN
Result
NameDescriptionType and LimitRequired?
UsernameThe input UsernameString (48)Y
GameIDThe input GameIDString (64)Y
FromTimeThe input FromTimeDateTimeY
ToTimeThe input ToTimeDateTimeY
NumOfRecordThe number of record(s) returnedIntY
CancelledBetDetailListCancelledBetDetail structureXMLY
ErrorMsgIdError message ID
ByteY
ErrorMsgError message descriptionStringY
CancelledBetDetailList structure:
NameDescriptionType and LimitRequired?
StartTimeGame start timeDateTimeY
CancelledTimeGame cancelled timeDateTimeY
GameIDGame IDStringY
HostIDHost IDInt16Y
GameTypeGame typeStringY
RoundGame RoundIntY
SetGame SetIntY
BetTimeBet Confirmation TimeDateTimeY
UsernameUsernameString (48)Y
TransactionIDSeamless wallet PlaceBet transaction ID.
-1 if not using seamless wallet
Int64Y
BetIDBet IDInt64Y
CurrencyCurrencyString (16)Y
BetAmountBet amountDecimalY
BetTypeBet typeIntY
BetSource
2640Desktop - Single Bet
2641Desktop - Multi Bet
8792Mobile - Single Bet, Other OS
8793Mobile - Multi Bet, Other OS
8920Mobile - Single Bet, iOS
8921Mobile - Multi Bet, iOS
9048Mobile - Single Bet, Android
9049Mobile - Multi Bet, Android
IntY
BetConfirmation0 – Manual
1 – Auto
IntY

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
NameDescriptionType and LimitRequired?
methodMust be "GetGameErrorDetail"String (32)Y
KeySecret keyString (32)Y
TimeCurrent time in "yyyyMMddHHmmss" formatDateTimeY
UsernameUsernameString (48)N
GameIDGame IDString (64)N
HostListHost ID
If more than one, please use “,” as a delimiter
ListN
FromTimeDate for details “yyyy-MM-dd HH:mm:ss”
Date TimeN
ToTimeDate for details “yyyy-MM-dd HH:mm:ss”
Date TimeN
Result
NameDescriptionType and LimitRequired?
UsernameThe input UsernameString (48)Y
GameIDThe input GameIDString (64)Y
HostListThe input HostListListY
FromTimeThe input FromTimeDateTimeY
ToTimeThe input ToTimeDateTimeY
NumOfRecordThe number of game error(s) returnedIntY
GameErrorResultListGameErrorResult structureXMLY
ErrorMsgIdError message ID
ByteY
ErrorMsgError message descriptionStringY
GameErrorResultList structure:
NameDescriptionType and LimitRequired?
GameIDGame IDStringY
SetGame SetIntY
RoundGame RoundIntY
PayoutTimePayout timeDateTimeY
HostIDHost IDInt16Y
GameTypeGame typeStringY
IncorrectResultGame result (with ResultDetail)XMLY
CorrectResultGame result (with ResultDetail)XMLY
ImpactedTransactionListImpacted transaction listXMLY
ImpactedTransactionList structure:
NameDescriptionType and LimitRequired?
CountNumber of transactionsIntY
GETransactionDetailListGETransactionDetail structureXMLY
GETransactionDetailList structure:
NameDescriptionType and LimitRequired?
BetTimeBet Confirmation TimeDateTimeY
PayoutTimePayout timeDateTimeY
AdjustmentTimeGame error adjustment timeDateTimeY
UsernameUsernameString (48)Y
BetIDBet IDInt64Y
CurrencyCurrencyString (16)Y
BetTypeBet typeIntY
BetAmountBet amountDecimalY
OriginalWinloseOriginal Win/lose amount, before adjustmentDecimalY
AdjustedWinloseAdjusted Win/lose amount, after adjustmentDecimalY

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
NameDescriptionType and LimitRequired?
methodMust be "GetUnsuccessfulBetDetails"String (32)Y
KeySecret keyString (32)Y
TimeCurrent time in "yyyyMMddHHmmss" formatDateTimeY
UsernameUsernameString (48)N
GameIDGame IDString (64)N
FromTimeDate for details “yyyy-MM-dd HH:mm:ss”
- If GameID is input, this field is not required
Date TimeN
ToTimeDate for details “yyyy-MM-dd HH:mm:ss”
- If GameID is input, this field is not required
Date TimeN
PageNumPage number
- By default the page number is 1 for the first query
IntN
Result
NameDescriptionType and LimitRequired?
UsernameThe input UsernameString (48)Y
GameIDThe input GameIDString (64)Y
FromTimeThe input FromTimeDateTimeY
ToTimeThe input ToTimeDateTimeY
NumOfRecordThe total number of record(s)IntY
NumOfPageThe total number of page(s)IntY
PageNumCurrent page numberIntY
UnsuccessfulBetDetailListUnsuccessfulBetDetail structureXMLY
ErrorMsgIdError message ID
ByteY
ErrorMsgError message descriptionStringY
UnsuccessfulBetDetailList structure:
NameDescriptionType and LimitRequired?
UTIDUnsuccessful Transaction IDInt64Y
GameIDGame IDStringY
HostIDHost IDInt16Y
GameTypeGame typeStringY
RoundGame RoundIntY
SetGame SetIntY
BetTimeBet Confirmation TimeDateTimeY
UsernameUsernameString (48)Y
TransactionIDSeamless wallet PlaceBet transaction ID.
-1 if not using seamless wallet
Int64Y
BetIDBet ID
- Empty if Bet ID is not available
Int64Y
CurrencyCurrencyString (16)Y
BetAmountBet amountDecimalY
BetTypeBet typeIntY
BetSource
2640Desktop - Single Bet
2641Desktop - Multi Bet
8792Mobile - Single Bet, Other OS
8793Mobile - Multi Bet, Other OS
8920Mobile - Single Bet, iOS
8921Mobile - Multi Bet, iOS
9048Mobile - Single Bet, Android
9049Mobile - Multi Bet, Android
IntY
BetConfirmation0 – Manual
1 – Auto
IntY
UnsuccessfulReasonUnsuccessful Reason CodeIntY

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
NameDescriptionType and LimitRequired?
methodMust be "GetGiftTransactionDetails"String (32)Y
KeySecret keyString (32)Y
TimeCurrent time in "yyyyMMddHHmmss" formatDateTimeY
UsernameUsernameString (48)N
HostIDHost table IDInt (16)N
FromTimeDate for details “yyyy-MM-dd HH:mm:ss”DateTimeN
ToTimeDate for details “yyyy-MM-dd HH:mm:ss”DateTimeN
PageNumPage number
- By default the page number is 1 for the first query
IntN
Result
NameDescriptionType and LimitRequired?
UsernameThe input UsernameString (48)Y
HostIDThe HostIDInt (16)Y
FromTimeThe input FromTimeDateTimeY
ToTimeThe input ToTimeDateTimeY
NumOfRecordThe total number of record(s)IntY
NumOfPageThe total number of page(s)IntY
PageNumCurrent page numberIntY
GiftTransactionDetailListGiftTransactionDetailList structureXMLY
ErrorMsgIdError message IDByteY
ErrorMsgError message descriptionStringY
GiftTransactionDetailList structure:
NameDescriptionType and LimitRequired?
HostIDHost IDInt16Y
GameTypeGame typeStringY
UsernameUsernameString (48)Y
GiftTxnIDGift Transaction IDInt64Y
GiftTxnTimeGift Transaction TimeDateTimeY
CurrencyCurrencyString (16)Y
GiftType1 – 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)
IntY
GiftAmountGift amountDecimalY
DealerIDDealer IDIntN
DealerNameDealer NameString (48)N
TransactionIDSeamless wallet Balance Adjustment transaction ID.
-1 if not using seamless wallet
Int64Y

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
NameDescriptionType and LimitRequired?
methodMust be "DebitBalanceDV"String (32)Y
KeySecret keyString (32)Y
TimeCurrent time in "yyyyMMddHHmmss" formatDateTimeY
UsernameUsernameString (48)Y
OrderIdOrder ID: OUT+yyyyMMddHHmmss+Username
e.g. “OUT20131129130345peter1235”
String (64)Y
DebitAmountDebit amount. Maximum two decimal only.DecimalY
Result
NameDescriptionType and LimitRequired?
UsernameUsernameString (48)Y
BalanceRemained active balanceDecimalY
DebitAmountDebited amountDecimalY
OrderIdOrder ID String (64)Y
ErrorMsgIdError 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
ByteY
ErrorMsgError message detailStringY

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
NameDescriptionType and LimitRequired?
methodMust be "DebitAllBalanceDV"String (32)Y
KeySecret keyString (32)Y
TimeCurrent time in "yyyyMMddHHmmss" formatDateTimeY
UsernameUsernameString (48)Y
OrderIdOrder ID: OUT+yyyyMMddHHmmss+Username
e.g. “OUT20131129130345peter1235”
String (64)Y
Result
NameDescriptionType and LimitRequired?
UsernameUsernameString (48)Y
DebitAmountDebited amountDecimalY
OrderIdOrder ID String (64)Y
ErrorMsgIdError 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
ByteY
ErrorMsgError message detailStringY

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
NameDescriptionType and LimitRequired?
methodMust be "CreditBalanceDV"String (32)Y
KeySecret keyString (32)Y
TimeCurrent time in "yyyyMMddHHmmss" formatDateTimeY
UsernameUsernameString (48)Y
OrderIdOrder ID: IN+yyyyMMddHHmmss+Username
e.g. “IN20131129130345peter1235”
String (64)Y
CreditAmountCredit amountDecimalY
CurrencyTypeCurrency:
USD
Refer to Supported currencies
String (16)Y
Result
NameDescriptionType and LimitRequired?
UsernameUsernameString (48)Y
BalanceBalance after creditDecimalY
CreditAmountCredited amountDecimalY
OrderIdOrder IDString (64)Y
ErrorMsgIdError 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
ByteY
ErrorMsgError message detailStringY

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
NameDescriptionType and LimitRequired?
methodMust be "CheckOrderId"String (32)Y
KeySecret keyString (32)Y
TimeCurrent time in "yyyyMMddHHmmss" formatDateTimeY
OrderIdThe OrderId used in
  • DebitBalanceDV
  • DebitAllBalanceDV
  • CreditBalanceDV
String (64)Y
Result
NameDescriptionType and LimitRequired?
isExistThe OrderId exist or not
  • true - Existing
  • false - Not existing
StringY
ErrorMsgIdError 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
ByteY
ErrorMsgError message detailStringY

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
NameDescriptionType and LimitRequired?
methodMust be "CheckOrderDetailsDV"String (32)Y
KeySecret keyString (32)Y
TimeCurrent time in "yyyyMMddHHmmss" formatDateTimeY
OrderIdThe OrderId used in
  • DebitBalanceDV
  • DebitAllBalanceDV
  • CreditBalanceDV
String (64)Y
Result
NameDescriptionType and LimitRequired?
isExistThe OrderId exist or not
  • true - Existing
  • false - Not existing

If true, the Date, Type, Currency, Amount, PreviousBalance and Balance parameter will be returned
StringY
ErrorMsgIdError 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
ByteY
ErrorMsgError message detailStringY
DateTransaction timeDateTimeN
Type
  • 0 - Deposit
  • 1 - Withdrawal
ByteN
CurrencyCurrency:
USD
Refer to Supported currencies
String (16)N
AmountTransfer amount (withdraw or deposit)
(decimal format and max. 2 decimal places)
DecimalN
PreviousBalanceAmount before adjustment (decimal format and max. 2 decimal places) (Not applicable for seamless wallet)DecimalN
BalanceAmount after adjustment (decimal format and max. 2 decimal places) (Not applicable for seamless wallet)DecimalN

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
NameDescriptionType and LimitRequired?
methodMust be "ResendTransaction"String (32)Y
KeySecret keyString (32)Y
TimeCurrent time in "yyyyMMddHHmmss" formatDateTimeY
GameIDGame IDStringY
Result
NameDescriptionType and LimitRequired?
TransactionDetailListTransaction ID details structureXMLY
ErrorMsgIdError message:
0: Success
142: Parameter(s) error
160: This API is for seamless wallet
ByteY
ErrorMsgError message detailStringY
TransactionDetail structure
NameDescriptionType and LimitRequired?
IDSeamless wallet transaction ID.Int64Y

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
NameDescriptionType and LimitRequired?
methodMust be "GetEventPointTransactionDetail"String (32)Y
KeySecret keyString (32)Y
TimeCurrent time in "yyyyMMddHHmmss" formatDateTimeY
EventIDEvent IDInt32Y
UsernameUsernameString (48)Y
FromTimeDate for details “yyyy-MM-dd HH:mm:ss”DateTimeY
ToTimeDate for details “yyyy-MM-dd HH:mm:ss”DateTimeY
Response parameters
NameDescriptionType and LimitRequired?
EventPointTransactionDetailEventPointTransactionDetail structureXMLY
ErrorMsgIdError message:
0: Success
108: Username length/format incorrect
111: Query time range out of limitation
116: Username does not exist
ByteY
ErrorMsgError message detailStringY
EventIDThe input Event IDInt32Y
UsernameThe input UsernameString (48)Y
FromTimeThe input FromTimeDateTimeY
ToTimeThe input ToTimeDateTimeY
NumOfRecordNo of records returnedInt16Y

* Time zone-> system default uses UTC+8 for all API calls

EventPointTransactionDetail Structure
NameDescriptionType and LimitRequired?
TransactionTimePayout timeDate TimeY
RedemptionIDRedemption IDInt64N
GameIDGame IDStringN
PointAmountobtained or used event pointsDecimalY
PointBalanceBalance after obtaining or using pointsDecimalY
EventSource0 = Live
1 = GameAPI
2 = BO
3 = Scratch Win
IntY

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
NameDescriptionType and LimitRequired?
methodMust be "GetEventWinningDetail"String (32)Y
KeySecret keyString (32)Y
TimeCurrent time in "yyyyMMddHHmmss" formatDateTimeY
EventIDEvent IDInt32Y
UsernameUsernameString (48)N
FromTimeDate for details “yyyy-MM-dd HH:mm:ss”DateTimeN
ToTimeDate for details “yyyy-MM-dd HH:mm:ss”DateTimeN

* 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
NameDescriptionType and LimitRequired?
EventWinningDetailListEventWinningDetailList structureXMLY
ErrorMsgIdError 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
ByteY
ErrorMsgError message detailStringY
EventIDThe input Event IDInt32Y
UsernameThe input UsernameString (48)Y
FromTimeThe input FromTimeDateTimeY
ToTimeThe input ToTimeDateTimeY
NumOfRecordNo of records returnedInt16Y

* Time zone-> system default uses UTC+8 for all

EventWinningDetailList structure
NameDescriptionType and LimitRequired?
TransactionTimePayout timeDate TimeY
UsernamePlayer nameString(48)Y
RedemptionIDRedemption IDInt64Y
TransactionIDSeamless wallet transaction ID.
-1 if not using seamless wallet
Int64Y
PromotionType1 = Scratch & WinIntY
PrizeTypePrize type of event mini game
1 = Gold
2 = Silver
3 = Bronze
IntY
WinningAmountWin or loss summary valueDecimalY
CurrencyCurrency:
Refer to Supported currencies
String(16)Y
BalanceBalance after this betDecimalY

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.

Parameters
NameDescriptionType and LimitRequired?
methodMust be "GetEventWinningDetailForTransactionID"String (32)Y
keySecret keyString (32)Y
TimeCurrent time in "yyyyMMddHHmmss" formatDateTimeY
TransactionIDTransaction ID of a PlayerPrizeAwardString (16)Y
Result
NameDescriptionType and LimitRequired?
NumOfRecordThe number of record(s) returnedIntY
TransactionIDThe input Transaction IDString (16)Y
EventWinningDetailListEventWinningDetailList structureXMLY
ErrorMsgIdError message
0: Success
106: Server not ready
152: Transaction ID not found
160: This API is for seamless wallet
ByteY
ErrorMsgError message detailStringY
Response parameters
NameDescriptionType and LimitRequired?
TransactionTimePayout timeDate TimeY
UsernamePlayer nameString(48)Y
RedemptionIDRedemption IDInt64Y
TransactionIDSeamless wallet PlaceBet transaction ID.
-1 if not using seamless wallet
Int64Y
PromotionTypePromotion Type
1 = Scratch & Win
IntY
PrizeTypePrize type of event mini game
1 = Gold
2 = Silver
3 = Bronze
IntY
WinningAmountWin or loss summary valueDecimalY
CurrencyCurrency:
Refer to Supported currencies
String(16)Y
BalanceBalance after this betDecimalY

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
NameDescriptionType and LimitRequired?
methodMust be "CreditEventPoint"String (32)Y
KeySecret keyString (32)Y
TimeCurrent time in "yyyyMMddHHmmss" formatDateTimeY
EventIDEvent IDInt32Y
UsernameUser nameString (48)Y
OrderIDOrder ID: IN+yyyyMMddHHmmss+Username
e.g. “IN20131129130345peter1235”
String (64)Y
CreditPointAmountCredit event points amountDecimalY
Response parameters
NameDescriptionType and LimitRequired?
UsernameUsernameString (48)Y
CreditPointAmountCredit event point amountDecimalY
PointBalanceBalance after creditDecimalY
OrderIDOrderIDString (64)Y
ErrorMsgIdError 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
ByteY
ErrorMsgError message detailStringY

* 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
NameDescriptionType and LimitRequired?
methodMust be "GetLeaderboardRankingDetail"String (32)Y
KeySecret keyString (32)Y
TimeCurrent time in "yyyyMMddHHmmss" formatDateTimeY
EventIDEvent ID
*only return leaderboard event
IntY
UsernameUsername (Participant)String (48)N
TopNReturns relevant records within the top N spots, 1-500
Default top 500 if no input
IntN
Response parameters
NameDescriptionType and LimitRequired?
EventIDThe input Event IDInt16Y
UsernameThe input UsernameString (48)Y
TopNThe input TopNIntY
CurrencyListCurrency structureXMLY
AmountType1 - Valid Bet Amount
2 - Win/Loss Amount
IntY
RankingDetailListRankingDetail structureXMLY
ErrorMsgIDError 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
ByteY
ErrorMsgError message detailStringY
CurrencyList Structure
NameDescriptionType and LimitRequired?
CurrencyCurrency for the Leaderboard campaignString (16)Y
RankingDetailList Structure
NameDescriptionType and LimitRequired?
RankPlayer’s latest ranking
- up to top 500
- start from 1 (ordering 1 > 500)
IntY
UsernameUsernameString (48)Y
CurrencyPlayer’s currencyString (16)Y
AmountAmount of Player’s currencyDecimalY
RankingCurrencyCurrency used in rankingString (16)Y
RankingAmountAmount used in rankingDecimalY

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:

  1. 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.
  2. PlayerWin
    • When a bet placed before is winning (bet amount + result amount > 0), the total amount (including stakes) will send to partner system.
  3. 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.
  4. 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&currency=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.

Input parameters:
NameDescriptionType and LimitRequired?
usernameUsernameString (48)Y
currencyISO 3 characters e.g. USD/EUR. Except mXBTString (16)Y

E.g.

username=satest&currency=EUR
Response parameters:
NameDescriptionType and LimitRequired?
usernameUsername String (48)Y
currencyISO 3 characters e.g. USD/EUR. Except mXBTString (16)Y
amountDecimal format and max. 2 decimal placesDecimalY
errorError codeIntY

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.

Parameters:
NameDescriptionType and LimitRequired?
usernameUsernameString (48)Y
currencyISO 3 characters e.g. USDString (16)Y
amountAmount to bet (decimal format and max. 2 decimal places)DecimalY
txnidA unique id for all fund transferString (16)Y
timestampTimestamp in yyyy-MM-dd HH:mm:ss.fff (GMT +8)
E.g. 2019-10-22 13:34:45.456
DateTimeY
ipIP of the userStringY
gametypeGame typeStringY
platform0 - desktop
1 - mobile
ByteY
hostidHost ID, please refer to Section 10. IntY
gameidGame IDStringY
betdetailsBet details array
type - Bet type
amount - Bet amount
JSONY

E.g. :

username=satest&currency=EUR&amount=200.00&txnid=312355&gametype=bac&platform=0&timestamp=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:
NameDescriptionType and LimitRequired?
usernameUsernameString (48)Y
currencyISO 3 characters e.g. USD. Except mXBTString (16)Y
amount Amount after adjustment (decimal format and max. 2 decimal places)DecimalY
errorError codeIntY

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.

Parameters:
NameDescriptionType and LimitRequired?
usernameUsernameString (48)Y
currencyISO 3 characters e.g. USDString (16)Y
amountAmount to add back (decimal format and max. 2 decimal places)DecimalY
rollingValid bet amountDecimalY
txnidA unique id for all fund transferString (16)Y
timestampTimestamp in yyyy-MM-dd HH:mm:ss.fff (GMT +8)
E.g. 2019-10-22 13:34:45.456
DateTimeY
gametypeGame typeStringY
PayouttimeTime of the payoutDateTimeY
hostidHost ID, please refer to Section 10. IntY
gameidGame IDStringY
retry1st send: retry=0
2nd send: retry=1
IntY
payoutdetailsBetList - List of bets with detailsStructureY
BetList structure:
NameDescriptionType and LimitRequired?
betidBet IDInt64Y
bettypeBet typeIntY
betamountBet amountDecimalY
resultamountPayoutDecimalY
txnidA unique ID for all fund transferString (16)Y
betsourceBet sourceIntY
rollingValid bet amountDecimalY

E.g. :

username=demo888&currency=USD&amount=19.50&txnid=1748485&gametype=bac&Payouttime=2023-10-12 12:41:33&timestamp=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:
NameDescriptionType and LimitRequired?
usernameUsernameString (48)Y
currencyISO 3 characters e.g. USD. Except mXBTString (16)Y
amount Amount after adjustment (decimal format and max. 2 decimal places)DecimalY
errorError codeIntY

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:
NameDescriptionType and LimitRequired?
usernameUsernameString (48)Y
currencyISO 3 characters e.g. USDString (3)Y
rollingValid bet amountDecimalY
txnidA unique id for all fund transferString (16)Y
timestampTimestamp in yyyy-MM-dd HH:mm:ss.fff (GMT +8)
E.g. 2019-10-22 13:34:45.456
DateTimeY
gametypeGame typeStringY
PayouttimeTime of the payoutDateTimeY
hostidHost ID, please refer to Section 10.IntY
gameidGame IDStringY
retry1st send: retry=0
2nd send: retry=1
IntY
payoutdetailsBetList
- List of bets with details
- Refer to "PlayerWin" for details
StructureY

E.g. :

username=satest&currency=EUR&rolling=200&txnid=312358&gametype=bac&Payouttime=2021-03-19 16:12:28&timestamp=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}]}

Response parameters:
NameDescriptionType and LimitRequired?
usernameUsernameString (48)Y
currencyISO 3 characters e.g. USD. Except mXBTString (16)Y
amount Amount after adjustment (decimal format and max. 2 decimal places)DecimalY
errorError codeIntY

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:
NameDescriptionType and LimitRequired?
usernameUsernameString (48)Y
currencyISO 3 characters e.g. USDString (16)Y
amountAmount to add back (decimal format and max. 2 decimal places)DecimalY
txnidA unique id for all fund transferString (16)Y
timestampTimestamp in yyyy-MM-dd HH:mm:ss.fff (GMT +8)
E.g. 2019-10-22 13:34:45.456
DateTimeY
gametypeGame typeStringY
hostidHost ID, please refer to Section 10. IntY
gameidGame IDStringY
txn_reverse_idPrevious txnid in PlaceBet request which the response was not received within 3 seconds or responded with an error.String (16)Y
retry1st send: retry=0
2nd send: retry=1
IntY
gamecancelBrief reason for cancellation
1 - Cancellation due to dealer operation problems
0 - other reasons (For example: PlaceBet response timeout or respond with error)
ByteY

E.g. :

username=satest&currency=EUR&amount=100.00&txnid=312357&gametype=bac&txn_reverse_id=312356&timestamp=2021-03-19 16:12:05.312&gameid=23547362930688&hostid=901&retry=0&gamecancel=0

Response parameters:
NameDescriptionType and LimitRequired?
usernameUsernameString (48)Y
currencyISO 3 characters e.g. USD. Except mXBTString (16)Y
amount Amount after adjustment (decimal format and max. 2 decimal places)DecimalY
errorError codeIntY

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
NameDescriptionType and LimitRequired?
usernameUsernameString (48)Y
currencyISO 3 characters e.g. USDString (16)Y
amountAmount to adjust (decimal format and max. 2 decimal places)DecimalY
txnidA unique id for all fund transferString (16)Y
timestampTimestamp in yyyy-MM-dd HH:mm:ss.fff (GMT +8)
e.g. 2019-10-22 13:34:45.456
DateTimeY
adjustmenttype1 = Rewards
2 = Send Gift
3 = Cancel Gift
IntY
adjustmenttimeTime of the payout in “yyyy-MM-dd HH:mm:ss”DateTimeY
ipApplicable for adjustmenttype = 2 only
IP of the user
StringN
gametypeApplicable for adjustmenttype = 2 only
Game type
StringN
platformApplicable for adjustmenttype = 2 only
0 – desktop
1 – mobile
ByteN
hostidApplicable for adjustmenttype = 2 only
Host ID, please refer to Section 10
IntN
retryApplicable for adjustmenttype = 1 or 3 only
1st send: retry = 0
2nd send: retry = 1
IntN
adjustmentdetailsAdjustment 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
JSONN

Example if adjustmenttype = 1:

username=demo888&currency=USD&amount=200.00&txnid=312354&adjustmenttype=1&adjustmenttime=2025-05-23 12:02:18&timestamp=2025-05-23 12:02:18.610&retry=0&adjustmentdetails={“redemptionid”:18026697, “eventid”:250030}

Example if adjustmenttype = 2:

username=demo888&currency=USD&amount=200.00&txnid=312355&adjustmenttype=2&adjustmenttime=2025-05-23 12:02:18.590&timestamp=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&currency=USD&amount=200.00&txnid=312356&adjustmenttype=3&adjustmenttime=2025-05-23 12:02:25.340&timestamp=2025-05-23 12:02:25.350&retry=0&adjustmentdetails={“canceltxnid”:312355}

Response parameters:
NameDescriptionType and LimitRequired?
usernameUsernameString (48)Y
currencyISO 3 characters e.g. USDString (16)Y
amountAmount after adjustment (decimal format and max. 2 decimal places)DecimalY
errorError codeIntY

6.6.Error Code List #

Partner system should report to our platform with the following error codes:

IDDescription
0Success
1000User account doesn’t exist
1001Invalid currency
1002Invalid amount
1003Locked account
1004Insufficient balance
1005General error
1006Decryption error
1007Session expired error
9999System error

7.Error Message Code Reference #

7.1.Common Error Message Code #

IDDescription
100Username error
101Account locked
102Secret key incorrect
104Service not available
105Client side error
106Server busy. Try again later.
107Username empty
108Username length/format incorrect
110User not online
111Query time range out of limitation
112API recently called
113Username duplicated
114Currency not exist
116Username does not exist
120Amount must greater than zero
121Not enough points to credit/debit/bet
122Order ID already exists
125Kick user fail
127Invalid order ID format
128Decryption error
129System under maintenance
130User account is locked (disabled)
132Sign unmatch
133Create user failed
135Game access denied
136Not enough point to bet
137Bet string error
138Bet time ended or not started
142Parameter(s) error
144Query type invalid
145Parameter decimal point greater than 2
146API access denied
148MaxBalance not zero or smaller than user balance
149Input amount under minimum value
150Function has been deprecated
151Duplicate login
153The API does not exist
154Trial Player Not Support
155Incorrect/missing game type
157ListSet error, exceeds the max. acceptable for the game type
158Duplicate/Invalid bet limit rules occur
160This API is for seamless wallet
190Function not for trial account

7.2.Unsuccessful Reason Code #

IDDescription
5Bet timeout
6Insufficient balance
11Betting failed
12Exceeded maximum bet limit
14Below minimum bet limit
114Seamless wallet request timeout
138Player not found
139Invalid currency
140Invalid amount
141Account locked
142Insufficient balance
143General error
145System error
166Player reached maximum winning amount
219Opposite 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:

https://gamelaunch.domain.com/app.aspx?username=satest@xxx&token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lobby=A1234

On the other hand, operators can use the “GameLaunchURL” (after HTML decoding) to launch the game:

https://gamelaunch.domain.com/app.aspx?username=satest@xxx&token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lobby=A1234

Additional parameters and options can be appended to the URL. Refer to the integration website for more information.

ParameterDescriptionRequired?
usernameThe username displayed in the clientY
tokenThe token returned from LoginRequestY
lobbyThe lobby code we provided, it is to show the correct logo while loadingY
langDefault language to be used in the client. Check in the table below for detailsN
returnurlOptional parameter
The URL will be invoked when the client logs out
N
mobileOptional parameter
true - Start the client in HTML5 mobile version
N
optionsOptional parameters to enable feature while entering game lobby (URL Encoding will be needed)
  1. defaulttable=<hostid>
  1. hidelogo=1
    • hide the SA Logo/Operator logo
  1. webview=1
    • Used when launching SA in operator's native application Webview.
  1. cat
    • To go into game category directly
  1. page
    • To go into game page directly

*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://gamelaunch.domain.com/app.aspx?username=demo888&token=e93a9aeb9981da12b3&lobby=A999&lang=en-us&returnurl=http://yourdomain.com/yourlocation&mobile=true&options=defaulttable=901,hidelogo=1

Priorities example:
https://gamelaunch.domain.com/app.aspx?username=demo888&token=e93a9aeb9981da12b3&lobby=A999&lang=en-us&returnurl=http://yourdomain.com/yourlocation&mobile=true&options=defaulttable=901,cat=Blackjack

This example will reach table Baccarat D01.

lang Parameter
CodeDescription
ar-001Arabic Fosha
bnBengali
en-usEnglish
esSpanish (Spain)
fa-irPersian
fil-phFilipino
fr-frFrench
hiHindi
idBahasa Indonesia
jaJapanese
koKorean
msMalaysian
myBurmese
ptPortuguese (Portugal)
pt-brPortuguese (Brazil)
ru-ruRussian
teTelugu
thThai
tr-trTurkish
viVietnamese
zh-hansSimplified Chinese
zh-hantTraditional Chinese
cat Parameter
catGame Category
allAll
baccaratBaccarat
rouletteRoulette
diceDice
dragontigerDragon Tiger
gameshowGame Show
blackjackBlackjack
pokdengPok Deng
xocdiaXoc Dia
pokerPoker
page Parameter
pagePage
featuredFeatured
favoriteFavorite
gamesGames
multibetMulti-Bet

9.UserBetItem #

UserBetItem is a complex structure for the details of a bet per different game type.

NameDescriptionType and LimitRequired?
BetIDBet record IDInt64Y
BetTimeBet Confirmation TimeDateTimeY
PayoutTimePayout timeDateTimeY
GameIDGame IDStringY
HostIDHost table IDInt16Y
HostNameTable nameStringY
GameTypeGame type name. Click here for detailsStringY
DetailReservedStringN
SetGame setIntY
RoundGame roundIntY
BetTypeBet item
Baccarat
Boundless Blackjack
Carnival Treasure
Deluxe Blackjack
Dragon Tiger
Fish Prawn Crab
Pok Deng
Roulette
Sicbo
Thai HiLo
Ultra Roulette
Xoc Dia
ByteY
BetAmountBet amount (correct to cent)DecimalY
RollingRolling (correct to cent)DecimalY
GameResultThe 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
XMLY
ResultAmountWin or Lost amount (correct to cent)DecimalY
BalanceRemain balances (correct to cent) (Not applicable for seamless wallet)DecimalY
BetConfirmation0 – Manual
1 – Auto
IntY

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 nameDescription
bacBaccarat
dtxDragon Tiger
sicboSic Bo
rotRoulette
pokdengPok Deng
deluxeblackjackDeluxe Blackjack
xocdiaXoc Dia
thaihiloThai HiLo
fishprawncrabFish Prawn Crab
ultrarouletteUltra Roulette
carnivaltreasureCarnival Treasure
boundlessblackjackBoundless 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 #

NameDescriptionType
PlayerCard1CardDetailStructure
PlayerCard2CardDetailStructure
PlayerCard3CardDetail (may not exist)Structure
BankerCard1CardDetailStructure
BankerCard2CardDetailStructure
BankerCard3CardDetail (may not exist)Structure
ResultDetailDetails of the resultStructure

9.2.2.CardDetail of Baccarat #

NameDescriptionType
Suit♠ = 1 = 2 ♣ = 3 = 4Byte
RankA = 1
2 = 2

10 = 10
J = 11
Q = 12
K = 13
Byte

9.2.3.BetType for Baccarat #

IDDescription
0Tie
1Player
2Banker
3Player Pair
4Banker Pair
52 Cards Lucky Six
63 Cards Lucky Six
8NC. 2 Cards Lucky Six
9NC. 3 Cards Lucky Six
23Player Bonus
24Banker Bonus
25NC. Tie
26NC. Player
27NC. Banker
28NC. Player Pair
29NC. Banker Pair
36Player Natural
37Banker Natural
40NC. Player Natural
41NC. Banker Natural
42Any Pair
43NC. Any Pair
44Perfect Pair
45NC. Perfect Pair
51NC. Player Bonus
52NC. Banker Bonus
53NC. Lucky Six
54Lucky Six
55Lucky Seven
56NC. Lucky Seven
572 Cards Lucky Seven
58NC. 2 Cards Lucky Seven
593 Cards Lucky Seven
60NC. 3 Cards Lucky Seven
61Super Lucky Seven
62NC. Super Lucky Seven

9.2.4.ResultDetail for Baccarat #

NameDescriptionType and
Limit
BRTieTieBool
BRPlayerWinPlayerBool
BRBankerWinBankerBool
BRPlayerPairPlayer PairBool
BRBankerPairBanker PairBool
BRSPerfectPairPerfect PairBool
BRSAnyPairAny PairBool
BRSPlayerBonusPlayer Bonus
*If Tie= True and Player Natural = True, then it implies a Natural Tie
Bool
BRSBankerBonusBanker Bonus
*If Tie= True and Banker Natural = True, then it implies a Natural Tie
Bool
BRSLuckySixLucky SixBool
BRS2CardsLuckySix2 Cards Lucky SixBool
BRS3CardsLuckySix3 Cards Lucky SixBool
BRSSTieNC. TieBool
BRSSPlayerWinNC. PlayerBool
BRSSBankerWinNC. BankerBool
BRSSPlayerPairNC. Player PairBool
BRSSBankerPairNC. Banker PairBool
BRSSSPerfectPairNC. Perfect PairBool
BRSSSAnyPairNC. Any PairBool
BRSSSPlayerBonusNC. Player BonusBool
BRSSSBankerBonusNC. Banker BonusBool
BRSSSLuckySixNC. Lucky SixBool
BRSSS2CardsLuckySixNC. 2 Cards Lucky SixBool
BRSSS3CardsLuckySixNC. 3 Cards Lucky SixBool
BRPlayerNaturalPlayer NaturalBool
BRBankerNaturalBanker NaturalBool
BRSSPlayerNaturalNC. Player NaturalBool
BRSSBankerNaturalNC. Banker NaturalBool
BRSLuckySevenLucky SevenBool
BRSSSLuckySevenNC. Lucky SevenBool
BRS2CardsLuckySeven2 Cards Lucky SevenBool
BRSSS2CardsLuckySevenNC. 2 Cards Lucky SevenBool
BRS3CardsLuckySeven3 Cards Lucky SevenBool
BRSSS3CardsLuckySevenNC. 3 Cards Lucky SevenBool
BRSSuperLuckySevenSuper Lucky SevenBool
BRSSSSuperLuckySevenNC. Super Lucky SevenBool

9.3.Dragon & Tiger #

9.3.1.GameResult of Dragon Tiger #

NameDescriptionType and Limit
DragonCardCardDetailStructure
TigerCardCardDetailStructure
ResultDetailDetails of the resultStructure

9.3.2.BetType for Dragon Tiger #

IDDescription
0Tie
1Dragon
2Tiger
3Dragon Big
4Dragon Small
5Dragon Odd
6Dragon Even
7Dragon Red
8Dragon Black
9Tiger Big
10Tiger Small
11Tiger Odd
12Tiger Even
13Tiger Red
14Tiger Black

9.3.3.ResultDetail for Dragon Tiger #

NameDescriptionType and Limit
DTRTieTieBool
DTRDragonWinDragonBool
DTRTigerWinTigerBool
DTRDragonBigDragon BigBool
DTRDragonSmallDragon SmallBool
DTRDragonOddDragon OddBool
DTRDragonEvenDragon EvenBool
DTRDragonRedDragon RedBool
DTRDragonBlackDragon BlackBool
DTRTigerBigTiger BigBool
DTRTigerSmallTiger SmallBool
DTRTigerOddTiger OddBool
DTRTigerEvenTiger EvenBool
DTRTigerRedTiger RedBool
DTRTigerBlackTiger BlackBool

9.4.Sic Bo #

9.4.1.GameResult of Sic Bo #

NameDescriptionType and Limit
Dice1Dice 1Int
Dice2Dice 2Int
Dice3Dice 3Int
ResultDetailDetails of the resultStructure

9.4.2.BetType for Sic Bo #

IDDescriptionIDDescription
0Small55All Even
1Big561234
2Odd572345
3Even582356
4Number 1593456
5Number 260112
6Number 361113
7Number 462114
8Number 563115
9Number 664116
10Triple 165221
11Triple 266223
12Triple 367224
13Triple 468225
14Triple 569226
15Triple 670331
16All same71332
17Point 472334
18Point 573335
19Point 674336
20Point 775441
21Point 876442
22Point 977443
23Point 1078445
24Point 1179446
25Point 1280551
26Point 1381552
27Point 1482553
28Point 1583554
29Point 1684556
30Point 1785661
31Specific Double 1,286662
32Specific Double 1,387663
33Specific Double 1,488664
34Specific Double 1,589665
35Specific Double 1,690126
36Specific Double 2,391135
37Specific Double 2,492234
38Specific Double 2,593256
39Specific Double 2,694346
40Specific Double 3,495123
41Specific Double 3,596136
42Specific Double 3,697145
43Specific Double 4,598235
44Specific Double 4,699356
45Specific Double 5,6100124
46Pair 1101146
47Pair 2102236
48Pair 3103245
49Pair 4104456
50Pair 5105125
51Pair 6106134
52All Odd107156
532 Odd 1 Even108246
542 Even 1 Odd109345

9.4.3.ResultDetail for Sic Bo #

NameDescriptionType and Limit
SRBigSmall0 - Triple
1 - Big
2 - Small
Byte
SROddEven0 - Triple
1 - Odd
2 - Even
Byte
SRTripleArmyOneTriple 1Bool
SRTripleArmyTwoTriple 2Bool
SRTripleArmyThreeTriple 3Bool
SRTripleArmyFourTriple 4Bool
SRTripleArmyFiveTriple 5Bool
SRTripleArmySixTriple 6Bool
SRTriple0 - NA
1 - Triple 1
2 - Triple 2
3 - Triple 3
4 - Triple 4
5 - Triple 5
6 - Triple 6
Byte
SRAllTripleAll TripleBool
SRPoint0 - 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
SRLongOneTwoLong 1 2Bool
SRLongOneThreeLong 1 3Bool
SRLongOneFourLong 1 4Bool
SRLongOneFiveLong 1 5Bool
SRLongOneSixLong 1 6Bool
SRLongTwoThreeLong 2 3Bool
SRLongTwoFourLong 2 4Bool
SRLongTwoFiveLong 2 5Bool
SRLongTwoSixLong 2 6Bool
SRLongThreeFourLong 3 4Bool
SRLongThreeFiveLong 3 5Bool
SRLongThreeSixLong 3 6Bool
SRLongFourFiveLong 4 5Bool
SRLongFourSixLong 4 6Bool
SRLongFiveSixLong 5 6Bool
SRShort0 - NA
1 - Short 1
2 - Short 2
3 - Short 3
4 - Short 4
5 - Short 5
6 - Short 6
Byte
SROddEvenCombination0 - All Odd
1 - 2 Odd 1 Even
2 - 2 Even 1 Odd
3 - All Even
Byte
SR_1_2_3_41234Bool
SR_2_3_4_52345Bool
SR_2_3_5_62356Bool
SR_3_4_5_63456Bool
SRCombination0 - 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 #

NameDescriptionType and Limit
Point0 to 36Int
ResultDetailDetails of the resultStructure

9.5.2.BetType for Roulette #

IDDescriptionIDDescription
0~360~36970,1,2
370,1980,2,3
380,2991,2,3
390,31004,5,6
401,21017,8,9
411,410210,11,12
422,310313,14,15
432,510416,17,18
443,610519,20,21
454,510622,23,24
464,710725,26,27
475,610828,29,30
485,810931,32,33
496,911034,35,36
507,81111,2,4,5
517,101122,3,5,6
528,91134,5,7,8
538,111145,6,8,9
549,121157,8,10,11
5510,111168,9,11,12
5610,1311710,11,13,14
5711,1211811,12,14,15
5811,1411913,14,16,17
5912,1512014,15,17,18
6013,1412116,17,19,20
6113,1612217,18,20,21
6214,1512319,20,22,23
6314,1712420,21,23,24
6415,1812522,23,25,26
6516,1712623,24,26,27
6616,1912725,26,28,29
6717,1812826,27,29,30
6817,2012928,29,31,32
6918,2113029,30,32,33
7019,2013131,32,34,35
7119,2213232,33,35,36
7220,211331,2,3,4,5,6
7320,231344,5,6,7,8,9
7421,241357,8,9,10,11,12
7522,2313610,11,12,13,14,15
7622,2513713,14,15,16,17,18
7723,2413816,17,18,19,20,21
7823,2613919,20,21,22,23,24
7924,2714022,23,24,25,26,27
8025,2614125,26,27,28,29,30
8125,2814228,29,30,31,32,33
8226,2714331,32,33,34,35,36
8326,291441st 12
8427,301452nd 12
8528,291463rd 12
8628,311471st Row
8729,301482nd Row
8829,321493rd Row
8930,331501~18
9031,3215119~36
9131,34152Odd
9232,33153Even
9332,35154Red
9433,36155Black
9534,351560,1,2,3
9635,36

9.5.3.ResultDetail for Roulette #

NameDescriptionType and Limit
RRZero0Bool
RROne1Bool
RRTwo2Bool
RRThree3Bool
RRFour4Bool
RRFive5Bool
RRSix6Bool
RRSeven7Bool
RREight8Bool
RRNine9Bool
RRTen10Bool
RREleven11Bool
RRTwelve12Bool
RRThirteen13Bool
RRForteen14Bool
RRFifthteen15Bool
RRSixteen16Bool
RRSeventeen17Bool
RREighteen18Bool
RRNineteen19Bool
RRTwenty20Bool
RRTwentyOne21Bool
RRTwentyTwo22Bool
RRTwentyThree23Bool
RRTwentyFour24Bool
RRTwentyFive25Bool
RRTwentySix26Bool
RRTwentySeven27Bool
RRTwentyEight28Bool
RRTwentyNine29Bool
RRThirty30Bool
RRThirtyOne31Bool
RRThirtyTwo32Bool
RRThirtyThree33Bool
RRThirtyFour34Bool
RRThirtyFive35Bool
RRThirtySix36Bool
RRSet11st 12Bool
RRSet22nd 12Bool
RRSet33rd 12Bool
RRRow11st RowBool
RRRow22nd RowBool
RRRow33rd RowBool
RR1To181-18Bool
RR19To3619-36Bool
RROddOddBool
RREvenEvenBool
RRRedRedBool
RRBlackBlackBool

9.6.Pok Deng #

9.6.1.GameResult of Pok Deng #

NameDescriptionType and Limit
Player1Card1CardDetailStructure
Player1Card2CardDetailStructure
Player2Card1CardDetailStructure
Player2Card2CardDetailStructure
Player3Card1CardDetailStructure
Player3Card2CardDetailStructure
Player4Card1CardDetailStructure
Player4Card2CardDetailStructure
Player5Card1CardDetailStructure
Player5Card2CardDetailStructure
BankerCard1CardDetailStructure
BankerCard2CardDetailStructure

9.6.2.BetType for Pok Deng #

IDDescription
0Player 1
1Player 2
2Player 3
3Player 4
4Player 5
5Player 1 Pair
6Player 2 Pair
7Player 3 Pair
8Player 4 Pair
9Player 5 Pair

9.6.3.ResultDetail for Pok Deng #

NameDescriptionType and Limit
PDR_BankerPointBanker total pointByte
PDR_BankerPairBanker PairBool
PDR_Player1PointPlayer 1 total pointByte
PDR_Player1ResultPlayer 1 result stateByte
PDR_Player1PairPlayer 1 PairBool
PDR_Player2PointPlayer 2 total pointByte
PDR_Player2ResultPlayer 2 result stateByte
PDR_Player2PairPlayer 2 PairBool
PDR_Player3PointPlayer 3 total pointByte
PDR_Player3ResultPlayer 3 result stateByte
PDR_Player3PairPlayer 3 PairBool
PDR_Player4PointPlayer 4 total pointByte
PDR_Player4ResultPlayer 4 result stateByte
PDR_Player4PairPlayer 4 PairBool
PDR_Player5PointPlayer 5 total pointByte
PDR_Player5ResultPlayer 5 result stateByte
PDR_Player5PairPlayer 5 PairBool

9.6.4.Result state for Pok Deng #

IDDescription
0No Result
1Player Win
2Banker Win
3Tie

9.6.5.Total point for Pok Deng #

IDDescription
0No Result
1Total point 0
2Total point 1
3Total point 2
4Total point 3
5Total point 4
6Total point 5
7Total point 6
8Total point 7
9Total point 7.1
10Total point 7.2
11Total point 7.3
12Total point 7.4
13Total point 7.5
14Total point 8
15Total point 9

9.7.Deluxe Blackjack #

9.7.1.GameResult of Deluxe Blackjack #

NameDescriptionType
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
DealerCardDetail
(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 #

IDDescription
101Seat 1 - Main
102Seat 2 - Main
103Seat 3 - Main
104Seat 4 - Main
105Seat 5 - Main
106Seat 6 - Main
107Seat 7 - Main
111Seat 1 - Bet Behind
112Seat 2 - Bet Behind
113Seat 3 - Bet Behind
114Seat 4 - Bet Behind
115Seat 5 - Bet Behind
116Seat 6 - Bet Behind
117Seat 7 - Bet Behind
121Seat 1 - Pair
122Seat 2 - Pair
123Seat 3 - Pair
124Seat 4 - Pair
125Seat 5 - Pair
126Seat 6 - Pair
127Seat 7 - Pair
131Seat 1 - Split (Main)
132Seat 2 - Split (Main)
133Seat 3 - Split (Main)
134Seat 4 - Split (Main)
135Seat 5 - Split (Main)
136Seat 6 - Split (Main)
137Seat 7- Split (Main)
141Seat 1 - Double Down (Main)
142Seat 2 - Double Down (Main)
143Seat 3 - Double Down (Main)
144Seat 4 - Double Down (Main)
145Seat 5 - Double Down (Main)
146Seat 6 - Double Down (Main)
147Seat 7 -Double Down (Main)
151Seat 1 - Double Down (Main | Split Hand 2)
152Seat 2 - Double Down (Main | Split Hand 2)
153Seat 3 - Double Down (Main | Split Hand 2)
154Seat 4 - Double Down (Main | Split Hand 2)
155Seat 5 - Double Down (Main | Split Hand 2)
156Seat 6 - Double Down (Main | Split Hand 2)
157Seat 7 - Double Down (Main | Split Hand 2)
161Seat 1 - Split (Bet Behind)
162Seat 2 - Split (Bet Behind)
163Seat 3 - Split (Bet Behind)
164Seat 4 - Split (Bet Behind)
165Seat 5 - Split (Bet Behind)
166Seat 6 - Split (Bet Behind)
167Seat 7 - Split (Bet Behind)
171Seat 1 - Double Down (Bet Behind)
172Seat 2 - Double Down (Bet Behind)
173Seat 3 - Double Down (Bet Behind)
174Seat 4 - Double Down (Bet Behind)
175Seat 5 - Double Down (Bet Behind)
176Seat 6 - Double Down (Bet Behind)
177Seat 7 - Double Down (Bet Behind)
181Seat 1 - Double Down (Bet Behind | Split Hand 2)
182Seat 2 - Double Down (Bet Behind | Split Hand 2)
183Seat 3 - Double Down (Bet Behind | Split Hand 2)
184Seat 4 - Double Down (Bet Behind | Split Hand 2)
185Seat 5 - Double Down (Bet Behind | Split Hand 2)
186Seat 6 - Double Down (Bet Behind | Split Hand 2)
187Seat 7 - Double Down (Bet Behind | Split Hand 2)
191Seat 1 - Insurance (Main)
192Seat 2 - Insurance (Main)
193Seat 3 - Insurance (Main)
194Seat 4 - Insurance (Main)
195Seat 5 - Insurance (Main)
196Seat 6 - Insurance (Main)
197Seat 7 - Insurance (Main)
201Seat 1 - Insurance (Bet Behind)
202Seat 2 - Insurance (Bet Behind)
203Seat 3 - Insurance (Bet Behind)
204Seat 4 - Insurance (Bet Behind)
205Seat 5 - Insurance (Bet Behind)
206Seat 6 - Insurance (Bet Behind)
207Seat 7 - Insurance (Bet Behind)

9.7.3.ResultDetail for Deluxe Blackjack #

NameDescriptionType and Limit
BJRDealerScoreResult of the dealer’s hand score/resultInt
BJRDealerHandStatusIndication 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
BJRInsuranceIndication of Insurance:

0 = Dealer's initial card is not an Ace
1 = Dealer has BJ (win)
2 = Dealer has no BJ (lose)
Int
BJRSeat1Hand1ScoreResult of the Seat 1's hand 1 score/resultInt
BJRSeat1Hand1StatusIndication of Hand 1's status at Seat 1:

0 = No hand
1 = Win
2 = Lose
3 = Push
4 = Surrender
Int
BJRSeat1Hand2ScoreResult of the Seat 1's hand 2 score/resultInt
BJRSeat1Hand2StatusIndication of Hand 2's status at Seat 1:

0 = No hand
1 = Win
2 = Lose
3 = Push
Int
BJRSeat1BJResult of initial hand (the first two cards) at Seat 1:

True = Have BJ
False = No BJ
Bool
BJRSeat1PairSeat 1 Pair:

0 = Not a Pair
1 = Mixed Pair
2 = Colored Pair
3 = Perfect Pair
4 = Suited Trips
Int
BJRSeat2Hand1ScoreResult of the Seat 2's hand 1 score/resultInt
BJRSeat2Hand1StatusIndication of Hand 1's status at Seat 2:

0 = No hand
1 = Win
2 = Lose
3 = Push
4 = Surrender
Int
BJRSeat2Hand2ScoreResult of the Seat 2's hand 2 score/resultInt
BJRSeat2Hand2StatusIndication of Hand 2's status at Seat 2:

0 = No hand
1 = Win
2 = Lose
3 = Push
Int
BJRSeat2BJResult of initial hand (the first two cards) at Seat 2:

True = Have BJ
False = No BJ
Bool
BJRSeat2PairSeat 2 Pair:

0 = Not a Pair
1 = Mixed Pair
2 = Colored Pair
3 = Perfect Pair
4 = Suited Trips
Int
BJRSeat3Hand1ScoreResult of the Seat 3's hand 1 score/resultInt
BJRSeat3Hand1StatusIndication of Hand 1's status at Seat 3:

0 = No hand
1 = Win
2 = Lose
3 = Push
4 = Surrender
Int
BJRSeat3Hand2ScoreResult of the Seat 3's hand 2 score/resultInt
BJRSeat3Hand2StatusIndication of Hand 2's status at Seat 3:

0 = No hand
1 = Win
2 = Lose
3 = Push
Int
BJRSeat3BJResult of initial hand (the first two cards) at Seat 3:

True = Have BJ
False = No BJ
Bool
BJRSeat3PairSeat 3 Pair:

0 = Not a Pair
1 = Mixed Pair
2 = Colored Pair
3 = Perfect Pair
4 = Suited Trips
Int
BJRSeat4Hand1ScoreResult of the Seat 4's hand 1 score/resultInt
BJRSeat4Hand1StatusIndication of Hand 1's status at Seat 4:

0 = No hand
1 = Win
2 = Lose
3 = Push
4 = Surrender
Int
BJRSeat4Hand2ScoreResult of the Seat 4's hand 2 score/resultInt
BJRSeat4Hand2StatusIndication of Hand 2's status at Seat 4:

0 = No hand
1 = Win
2 = Lose
3 = Push
Int
BJRSeat4BJResult of initial hand (the first two cards) at Seat 4:

True = Have BJ
False = No BJ
Bool
BJRSeat4PairSeat 4 Pair:

0 = Not a Pair
1 = Mixed Pair
2 = Colored Pair
3 = Perfect Pair
4 = Suited Trips
Int
BJRSeat5Hand1ScoreResult of the Seat 5's hand 1 score/resultInt
BJRSeat5Hand1StatusIndication of Hand 1's status at Seat 5:

0 = No hand
1 = Win
2 = Lose
3 = Push
4 = Surrender
Int
BJRSeat5Hand2ScoreResult of the Seat 5's hand 2 score/resultInt
BJRSeat5Hand2StatusIndication of Hand 2's status at Seat 5:

0 = No hand
1 = Win
2 = Lose
3 = Push
Int
BJRSeat5BJResult of initial hand (the first two cards) at Seat 5:

True = Have BJ
False = No BJ
Bool
BJRSeat5PairSeat 5 Pair:

0 = Not a Pair
1 = Mixed Pair
2 = Colored Pair
3 = Perfect Pair
4 = Suited Trips
Int
BJRSeat6Hand1ScoreResult of the Seat 6's hand 1 score/resultInt
BJRSeat6Hand1StatusIndication of Hand 1's status at Seat 6:

0 = No hand
1 = Win
2 = Lose
3 = Push
4 = Surrender
Int
BJRSeat6Hand2ScoreResult of the Seat 6's hand 2 score/resultInt
BJRSeat6Hand2StatusIndication of Hand 2's status at Seat 6:

0 = No hand
1 = Win
2 = Lose
3 = Push
Int
BJRSeat6BJResult of initial hand (the first two cards) at Seat 6:

True = Have BJ
False = No BJ
Bool
BJRSeat6PairSeat 6 Pair:

0 = Not a Pair
1 = Mixed Pair
2 = Colored Pair
3 = Perfect Pair
4 = Suited Trips
Int
BJRSeat7Hand1ScoreResult of the Seat 7's hand 1 score/resultInt
BJRSeat7Hand1StatusIndication of Hand 1's status at Seat 7:

0 = No hand
1 = Win
2 = Lose
3 = Push
4 = Surrender
Int
BJRSeat7Hand2ScoreResult of the Seat 7's hand 2 score/resultInt
BJRSeat7Hand2StatusIndication of Hand 2's status at Seat 7:

0 = No hand
1 = Win
2 = Lose
3 = Push
Int
BJRSeat7BJResult of initial hand (the first two cards) at Seat 7:

True = Have BJ
False = No BJ
Bool
BJRSeat7PairSeat 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 #

NameDescriptionType
NoOfRedNumber of red token in game outcome (0-4)Int
ResultDetailDetails of the resultStructure

9.8.2.BetType for Xoc Dia #

IDDescription
04 Red
11 White 3 Red
22 White 2 Red
33 White 1 Red
44 White
54 White or 4 Red
6Big
7Small
8Odd
9Even

9.8.3.ResultDetail for Xoc Dia #

NameDescriptionType and Limit
XDR4r4 RedBool
XDR3r1w1 White 3 RedBool
XDR2r2w2 White 2 RedBool
XDR1r3w3 White 1 RedBool
XDR4w4 WhiteBool
XDR4ror4w4 White or 4 RedBool
XDRBigBigBool
XDRSmallSmallBool
XDROddOddBool
XDREvenEvenBool

9.9.Thai HiLo #

9.9.1.GameResult of Thai HiLo #

NameDescriptionType and Limit
Dice1Dice 1Int
Dice2Dice 2Int
Dice3Dice 3Int
ResultDetailDetails of the resultStructure

9.9.2.BetType for Thai HiLo #

IDDescription
0Hi
1Lo
211 HiLo
3Number 1
4Number 2
5Number 3
6Number 4
7Number 5
8Number 6
9Double 1⋅2
10Double 1⋅3
11Double 2⋅3
12Double 3⋅4
13Double 4⋅1
14Double 4⋅2
15Double 4⋅5
16Double 4⋅6
17Double 5⋅1
18Double 5⋅2
19Double 5⋅3
20Double 5⋅6
21Double 6⋅1
22Double 6⋅2
23Double 6⋅3
241⋅2⋅3
254⋅5⋅6
261 Lo
272 Lo
283 Lo
294 Lo
305 Lo
316 Lo
323 Hi
334 Hi
345 Hi
356 Hi

9.9.3.ResultDetail for Thai HiLo #

NameDescriptionType and Limit
THLR11HiLo0 - Hi
1 - Lo
2 - 11 HiLo
Int
THLR_10 - No Win
1 - Number 1 appearing 1 time
2 - Number 1 appearing 2 times
3 - Number 1 appearing 3 times
Int
THLR_20 - No Win
1 - Number 2 appearing 1 time
2 - Number 2 appearing 2 times
3 - Number 2 appearing 3 times
Int
THLR_30 - No Win
1 - Number 3 appearing 1 time
2 - Number 3 appearing 2 times
3 - Number 3 appearing 3 times
Int
THLR_40 - No Win
1 - Number 4 appearing 1 time
2 - Number 4 appearing 2 times
3 - Number 4 appearing 3 times
Int
THLR_50 - No Win
1 - Number 5 appearing 1 time
2 - Number 5 appearing 2 times
3 - Number 5 appearing 3 times
Int
THLR_60 - No Win
1 - Number 6 appearing 1 time
2 - Number 6 appearing 2 times
3 - Number 6 appearing 3 times
Int
THLRDouble1_2Double 1⋅2Bool
THLRDouble1_3Double 1⋅3Bool
THLRDouble2_3Double 2⋅3Bool
THLRDouble3_4Double 3⋅4Bool
THLRDouble4_1Double 4⋅1Bool
THLRDouble4_2Double 4⋅2Bool
THLRDouble4_5Double 4⋅5Bool
THLRDouble4_6Double 4⋅6Bool
THLRDouble5_1Double 5⋅1Bool
THLRDouble5_2Double 5⋅2Bool
THLRDouble5_3Double 5⋅3Bool
THLRDouble5_6Double 5⋅6Bool
THLRDouble6_1Double 6⋅1Bool
THLRDouble6_2Double 6⋅2Bool
THLRDouble6_3Double 6⋅3Bool
THLR_1_2_30 - No Win
1 - 123
2 - 12
3 - 23
4 - 13
Int
THLR_4_5_60 - No Win
1 - 456
2 - 45
3 - 56
4 - 46
Int
THLR_1_Lo1 LoBool
THLR_2_Lo2 LoBool
THLR_3_Lo3 LoBool
THLR_4_Lo4 LoBool
THLR_5_Lo5 LoBool
THLR_6_Lo6 LoBool
THLR_3_Hi3 HiBool
THLR_4_Hi4 HiBool
THLR_5_Hi5 HiBool
THLR_6_Hi6 HiBool

9.10.Fish Prawn Crab #

9.10.1.GameResult of Fish Prawn Crab #

NameDescriptionType and Limit
Dice1Dice 1Int
Dice2Dice 2Int
Dice3Dice 3Int
ResultDetailDetails of the resultStructure

Note:

  • 1 = Fish
  • 2 = Calabash
  • 3 = Prawn
  • 4 = Crab
  • 5 = Tiger
  • 6 = Rooster

9.10.2.BetType for Fish Prawn Crab #

IDDescription
0Symbol - Fish
1Symbol - Calabash
2Symbol - Prawn
3Symbol - Crab
4Symbol - Tiger
5Symbol - Rooster
6Double - Fish, Calabash
7Double - Fish, Prawn
8Double - Fish, Crab
9Double - Fish, Tiger
10Double - Fish, Rooster
11Double - Calabash, Prawn
12Double - Calabash, Crab
13Double - Calabash, Tiger
14Double - Calabash, Rooster
15Double - Prawn, Crab
16Double - Prawn, Tiger
17Double - Prawn, Rooster
18Double - Crab, Tiger
19Double - Crab, Rooster
20Double - Tiger, Rooster
21Any Triple (Color)
22Any Triple (Symbol)

9.10.3.ResultDetail for Fish Prawn Crab #

NameDescriptionType and Limit
FPCR10 - No Win
1 - Fish appearing 1 time
2 - Fish appearing 2 times
3 - Fish appearing 3 times
Int
FPCR20 - No Win
1 - Calabash appearing 1 time
2 - Calabash appearing 2 times
3 - Calabash appearing 3 times
Int
FPCR30 - No Win
1 - Prawn appearing 1 time
2 - Prawn appearing 2 times
3 - Prawn appearing 3 times
Int
FPCR40 - No Win
1 - Crab appearing 1 time
2 - Crab appearing 2 times
3 - Crab appearing 3 times
Int
FPCR50 - No Win
1 - Tiger appearing 1 time
2 - Tiger appearing 2 times
3 - Tiger appearing 3 times
Int
FPCR60 - No Win
1 - Rooster appearing 1 time
2 - Rooster appearing 2 times
3 - Rooster appearing 3 times
Int
FPCRDouble1_2Double - Fish, CalabashBool
FPCRDouble1_3Double - Fish, PrawnBool
FPCRDouble1_4Double - Fish, CrabBool
FPCRDouble1_5Double - Fish, TigerBool
FPCRDouble1_6Double - Fish, RoosterBool
FPCRDouble2_3Double - Calabash, PrawnBool
FPCRDouble2_4Double - Calabash, CrabBool
FPCRDouble2_5Double - Calabash, TigerBool
FPCRDouble2_6Double - Calabash, RoosterBool
FPCRDouble3_4Double - Prawn, CrabBool
FPCRDouble3_5Double - Prawn, TigerBool
FPCRDouble3_6Double - Prawn, RoosterBool
FPCRDouble4_5Double - Crab, TigerBool
FPCRDouble4_6Double - Crab, RoosterBool
FPCRDouble5_6Double - Tiger, RoosterBool
FPCRAnyTripleColorAny Triple (Color)Bool
FPCRAnyTripleSymbolAny Triple (Symbol)Bool

9.11.Ultra Roulette #

9.11.1.GameResult of Ultra Roulette #

NameDescriptionType and Limit
Point0 to 36Int
MultiplierList 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
ResultDetailDetails of the resultStructure
MultiplierDetailList of bet types that are assigned multipliers, along with their respective multiplier values (2 decimal places)Structure

9.11.2.BetType for Ultra Roulette #

IDDescriptionIDDescription
0~360~36970,1,2
370,1980,2,3
380,2991,2,3
390,31004,5,6
401,21017,8,9
411,410210,11,12
422,310313,14,15
432,510416,17,18
443,610519,20,21
454,510622,23,24
464,710725,26,27
475,610828,29,30
485,810931,32,33
496,911034,35,36
507,81111,2,4,5
517,101122,3,5,6
528,91134,5,7,8
538,111145,6,8,9
549,121157,8,10,11
5510,111168,9,11,12
5610,1311710,11,13,14
5711,1211811,12,14,15
5811,1411913,14,16,17
5912,1512014,15,17,18
6013,1412116,17,19,20
6113,1612217,18,20,21
6214,1512319,20,22,23
6314,1712420,21,23,24
6415,1812522,23,25,26
6516,1712623,24,26,27
6616,1912725,26,28,29
6717,1812826,27,29,30
6817,2012928,29,31,32
6918,2113029,30,32,33
7019,2013131,32,34,35
7119,2213232,33,35,36
7220,211331,2,3,4,5,6
7320,231344,5,6,7,8,9
7421,241357,8,9,10,11,12
7522,2313610,11,12,13,14,15
7622,2513713,14,15,16,17,18
7723,2413816,17,18,19,20,21
7823,2613919,20,21,22,23,24
7924,2714022,23,24,25,26,27
8025,2614125,26,27,28,29,30
8125,2814228,29,30,31,32,33
8226,2714331,32,33,34,35,36
8326,291441st 12
8427,301452nd 12
8528,291463rd 12
8628,311471st Row
8729,301482nd Row
8829,321493rd Row
8930,331501~18
9031,3215119~36
9131,34152Odd
9232,33153Even
9332,35154Red
9433,36155Black
9534,351560,1,2,3
9635,36

9.11.3.ResultDetail for Ultra Roulette #

IDDescriptionType and Limit
URR00Bool
URR11Bool
URR22Bool
URR33Bool
URR44Bool
URR55Bool
URR66Bool
URR77Bool
URR88Bool
URR99Bool
URR1010Bool
URR1111Bool
URR1212Bool
URR1313Bool
URR1414Bool
URR1515Bool
URR1616Bool
URR1717Bool
URR1818Bool
URR1919Bool
URR2020Bool
URR2121Bool
URR2222Bool
URR2323Bool
URR2424Bool
URR2525Bool
URR2626Bool
URR2727Bool
URR2828Bool
URR2929Bool
URR3030Bool
URR3131Bool
URR3232Bool
URR3333Bool
URR3434Bool
URR3535Bool
URR3636Bool
URRDozen11st 12Bool
URRDozen22nd 12Bool
URRDozen33rd 12Bool
URRColumn11st RowBool
URRColumn22nd RowBool
URRColumn33rd RowBool
URR1to181-18Bool
URR19to3619-36Bool
URROddOddBool
URREvenEvenBool
URRRedRedBool
URRBlackBlackBool

9.11.4.MultiplierDetail for Ultra Roulette #

NameDescriptionType and LimitRequired?
BetType“Straight” bet types (0~36)IntY
MultiplierAwarded multiplier valuesDecimalY

9.12.Carnival Treasure #

9.12.1.GameResult of Carnival Treasure #

NameDescriptionType
NoOfSpinNo. of SpinInt
SpinResultListList of Spin ResultStructure
ResultDetailDetails of the resultStructure

9.12.2.SpinResult of Carnival Treasure #

NameDescriptionType and Limit
SpinNoSpin numberInt
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 #

NameDescription
01
12
24
37
418
540

9.12.4.ResultDetail for Carnival Treasure #

NameDescriptionType and Limit
CTR1Result = 1Bool
CTR2Result = 2Bool
CTR4Result = 4Bool
CTR7Result = 7Bool
CTR18Result = 18Bool
CTR40Result = 40Bool

9.13.Boundless Blackjack #

9.13.1.GameResult of Boundless Blackjack #

NameDescriptionType
PlayerPlayer’s Hand
(may be more than 1 Hand)
Structure
DealerDealer’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
PlayerSequencePlayer 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 #

IDDescription
1Bet
2Insurance
3Split
4Double Down Hand 1
5Double Down Hand 2
6Double Down
11Pair
12Bust Bonus
13Lucky Trio
14Poker Trio

9.13.3.ResultDetail for Boundless Blackjack #

NameDescriptionType and Limit
BBJRDealerScoreResult of the dealer’s hand score/resultInt
BBJRDealerHandStatusIndication 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
BBJRInsuracneIndication of Insurance:

0 = Dealer's initial card is not an Ace
1 = Dealer has BJ (win)
2 = Dealer has no BJ (lose)
Int
BBJRPlayerHand1ScoreResult of the Player’s hand 1 score/resultInt
BBJRPlayerHand1StatusIndication of Player Hand 1's status:

1 = Win
2 = Lose
3 = Push
4 = Surrender
Int
BBJRPlayerHand2ScoreResult of the Player’s hand 2 score/resultInt
BBJRPlayerHand2StatusIndication of Player Hand 2's status:

0 = No hand
1 = Win
2 = Lose
3 = Push
Int
BBJRPlayerBJResult of Player’s initial hand (the first two cards):

True = Have BJ
False = No BJ
Bool
BBJRPlayerPairPlayer Pair:

0 = Not a Pair
1 = Mixed Pair
2 = Colored Pair
3 = Perfect Pair
Int
BBJRBustBonusDealer 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
BBJRLuckyTrioPlayer 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
BBJRPokerTrioPlayer 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 #

IDGame
201Thai Bacc R01
202Thai Bacc R02
222Carnival Treasure
521Baccarat M01
522Baccarat M02
532Sic Bo M
533Roulette M
534Dragon Tiger M
535Pok Deng M
539Thai HiLo M
540Fish Prawn Crab M
541Ultra Roulette M
542Deluxe Blackjack M
861Roulette C
862Ultra Roulette C
871Baccarat C01
872Baccarat C02
873Baccarat C03
874Baccarat C04
875Baccarat C05
876Baccarat C06
877Baccarat C07
878Speed Baccarat C08
901Baccarat D01
902Baccarat D02
903Baccarat D03
904Baccarat D04
905Baccarat D05
906Baccarat D06
907Baccarat D07
908Speed Baccarat D08
922Dragon Tiger D
923Pok Deng D
924Roulette D
925Sic Bo D
926Thai HiLo D
927Xoc Dia D
928Ultra Roulette D
929Deluxe Blackjack D
930Boundless 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
AEDUnited Arab Emirates Dirham
AMDArmenian Dram
AOAAngolan Kwanza
ARSArgentina Peso
AUDAustralian Dollar
AZNAzerbaijan New Manat
BDTBangladeshi Taka
BNDBrunei Dollar
BOBBolivian Bolivianos
BRLBrazilian Real
BWPBotswana pula
BYNBelarusian Ruble
CADCanadian Dollar
CHFSwiss Franc
CLPChilean Peso
CZKCzech Koruna
DKKDanish Krone
DOPDominican Peso
EGPEgyptian Pound
ETBEthiopian Birr
EUREuro
GBPGreat British Pound
GELGeorgian Lari
GHSGhanaian New Cedi
GMDGambian Dalasi
HTGHaitian Gourde
HUFHungarian Forint
ILSIsraeli New Shekel
INRIndian Rupee
IQDIraqi Dinar
JPYJapanese Yen
KESKenyan Shilling
KGSKyrgyzstani Som
KRWKorean Won
KWDKuwaiti Dinar
KZTKazakhstani Tenge
LKRSri Lankan Rupee
LRDLiberian Dollar
LSLLesotho Loti
MADMoroccan Dirham
MDLMoldovan Leu
MVRMaldivian Rufiyaa
MWKMalawi Kwacha
MXNMexican Peso
MYRMalaysian Ringgit
MZNMozambique New Metical
NADNamibian Dollar
NGNNigerian Naira
NOKNorwegian Krone
NPRNepalese Rupee
NZDNew Zealand Dollar
PABPanamanian Balboa
PENPeruvian Nuevo Sol
PGKPapua New Guinean Kina
PHPPhilippine Peso
PKRPakistani Rupee
PLNPolish Zloty
QARQatari Rial
RONRomanian Leu
RSDSerbian Dinar
RUBRussian Ruble
SARSaudi Riyal
SEKSwedish Krona
SGDSingapore Dollar
SRDSurinamese Dollar
SZLSwazi Lilangeni
THBThai Baht
TJSTajikistani Somoni
TMTTurkmenistan New Manat
TNDTunisian Dinar
TRYTurkish Lira
TWDTaiwan Dollar
UAHUkrainian Hryvnia
USDUS Dollar
UYUUruguayan Pesos
VESVenezuelan Bolivar Soberano
XAFCentral African CFA Franc
XOFWest African CFA Franc
ZARSouth Africa Rand
ZMWZambian Kwacha

Special Currency Code (1:1)Currency
BIF2Burundian Franc
CDF2Congolese Franc
COP2Colombian Peso
IDR2Indonesian Rupiah
IRR2Iranian Rial
KHR2Cambodian Riel
LAK2Lao Kip
LBP2Lebanese Pound
MMK2Myanmar Kyat
MNT2Mongolian Tugrik
PYG2Paraguayan Guarani
RWF2Rwandan Franc
TZS2Tanzanian Shilling
UGX2Ugandan Shilling
UZS2Uzbekistan Som
VND2Vietnamese Dong

ISO Currency Code (1:1000)Currency
BIFBurundian Franc
CDFCongolese Franc
COPColombian Peso
IDRIndonesian Rupiah
IRRIranian Rial
KHRCambodian Riel
LAKLao Kip
LBPLebanese Pound
MMKMyanmar Kyat
MNTMongolian Tugrik
PYGParaguayan Guarani
RWFRwandan Franc
TZSTanzanian Shilling
UGXUgandan Shilling
UZSUzbekistan Som
VNDVietnamese Dong

Special Currency CodeCurrencyRemarks
IN5Indian Rupee0.2 INR
PK5Pakistani Rupee0.2 PKR

Cryptocurrency CodeCryptocurrency
DOGEDogecoin
HIVEHIVE
LTCLitecoin
mXBTMilli Bitcoin
NOTNotcoin
TONToncoin
USDCUSD coin
USDTTether
uXBTMicro-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.

Suggest Edit