Web Service API v1.0.22
Technical Guide
1.Introduction
The Web Service API interface is for accessing the SimplePlay Platform. Including user registration, user balance query, user betting records and charging to or withdraw from a user account. This document includes both Transfer Wallet and Seamless Wallet.
2.Version
Version | Description | Date |
---|---|---|
1.0.18 |
| 2023/05/11 |
1.0.19 |
| 2023/09/12 |
1.0.20 |
| 2023/09/28 |
1.0.21 |
| 2023/10/26 |
1.0.22 |
| 2023/11/09 |
3.API Calling Restriction Information
The following APIs have calling restriction.
Name of API | Frequency of calls |
---|---|
GetAllBetDetails | Every 5 minutes no more than 10 calls |
GetAllBetDetailsForTimeInterval | Every 5 minutes no more than 10 calls |
GetUnfinishedGame | Every 1 second no more than 10 calls |
JackpotQuery | Every 1 minute no more than 1 call |
LoginRequest | Every 1 hour no more than 5000 calls |
LoginRequestForFun | Every 1 hour no more than 200 calls |
RegUserInfo | Every 24 hours no more than 2000 calls |
Accuracy of point value
The accuracy of all point value is limited two decimal place. For example:
1000.23, 89.32, 1002304.89
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
- Lobby name (supplied during startup the client)
Example DES Encrypt function in ASP.Net C#:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
protected byte[] EncryptKey = ASCIIEncoding.ASCII.GetBytes("ask_us_for_key"); public string DESEncrypt( string inString) { MemoryStream ms = new MemoryStream(); CryptoStream cs = new CryptoStream (ms, new DESCryptoServiceProvider ().CreateEncryptor(EncryptKey, EncryptKey), CryptoStreamMode .Write); StreamWriter sw = new StreamWriter (cs); sw.Write(inString); sw.Flush(); cs.FlushFinalBlock(); sw.Flush(); return Convert.ToBase64String(ms.GetBuffer(), 0, ( int )ms.Length); } |
Example DES Encrypt function in PHP:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<!--?php class DES { var $key; var $iv; function DES( $key, $iv=0 ) { $this--->key = $key; if( $iv == 0 ) { $this->iv = $key; } else { $this->iv = $iv; } } function encrypt($str) { return base64_encode( openssl_encrypt($str, 'DES-CBC', $this->key, OPENSSL_RAW_DATA, $this->iv ) ); } } ?> |
Example in PHP:
1 2 3 4 5 6 7 8 |
<!--?php $str = "method=GetUserStatus&Key=01234567789ABCDEF0123456789ABCDE&Time=20150101012345&Username=abcd12345"; // for example $key = 'ZyXw4321'; // for example $crypt = new DES($key); $mstr = $crypt--->encrypt($str); $urlemstr = urlencode($mstr); echo "[ $str ] Encrypted: [ $mstr ] UrlEncoded encrypted string: [ $urlemstr ]"; ?> |
Example MD5 function in ASP.Net C#:
1 2 3 4 5 6 7 8 9 10 |
public string BuildMD5(string inString) { byte[] hashed = MD5.Create().ComputeHash(Encoding.UTF8.GetBytes(inString)); StringBuilder sb = new StringBuilder(hashed.Length * 2); for (int i = 0; i < hashed.Length; i++) { sb.Append(hashed[i].ToString("x2")); } return sb.ToString(); } |
Example MD5 function in PHP:
1 2 3 4 5 6 7 8 9 |
<!--?php $str = "method=GetUserStatus&Key=01234567789ABCDEF0123456789ABCDE&Time=20150101012345&Username=abcd12345"; // for example $md5key = "abcdefg"; // for example $Time = "20150101012345"; // for example $SecretKey = "01234567789ABCDEF0123456789ABCDE"; // for example $PreMD5Str = $str . $md5key . $Time . $SecretKey; $OutMD5 = md5($PreMD5Str); echo "md5:[ $OutMD5 ]"; ?--> |
4.2.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 POST request to call the web service.
- 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):
1 2 3 |
QS = “method=RegUserInfo&Key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&Time=20140101123456&Username=DemoUser001&CurrencyType=USD”; q = HttpUtility.UrlEncode( DESencrypt(QS) ); |
For example, q = ‘j4tjorjwarfj3trwise0safrwg2wt4awari0fwjfeoh’
Example MD5 String for building the signature (QS + md5key + Time + Key):
1 |
s = BuildMD5(QS + “YYYYYYYY” + “20140101123456” + “XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX”); |
For example, s = ‘1234567890abcdef’
Resulting POST method query (using “Content-Type: application/x-www-form-urlencoded”):
q=j4tjorjwarfj3trwise0safrwg2wt4awari0fwjfeoh&s=1234567890abcdef
POST to: http://
Output
1 2 3 4 5 6 |
<?xml version="1.0" encoding="utf-8"?> <RegUserInfoResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Username>DemoUser001</Username> <ErrorMsgId>0</ErrorMsgId> <ErrorMsg>Success</ErrorMsg> </RegUserInfoResponse> |
4.4.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.
1 2 3 4 5 |
<?xml version="1.0" encoding="utf-8"?> <APIResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ErrorMsgId>128</ErrorMsgId> <ErrorMsg>Decryption error</ErrorMsg> </APIResponse> |
5.Web Service 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.
ParametersName | Description | Type and Limit | Required? |
---|---|---|---|
method | Must be "RegUserInfo" | String (32) | Y |
Key | Secret key | String (32) | Y |
Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
Username | Username. Alphanumeric | String (28) | Y |
CurrencyType | Currency: USD Refer to Supported currencies | String (16) | Y |
Name | Description | Type and Limit | Required? |
---|---|---|---|
Username | Username | String (28) | Y |
ErrorMsgId | Error message: 0: Success 108: Username length/format incorrect 113: Username duplicated 114: Currency not exist 133: Create user failed | Byte | Y |
ErrorMsg | Error message details | String | Y |
5.1.2.VerifyUsername
Check if a username is already existing in database of a lobby.
ParametersName | Description | Type and Limit | Required? |
---|---|---|---|
method | Must be “VerifyUsername" | String (32) | Y |
Key | Secret key | String (32) | Y |
Time | Current time in “yyyyMMddHHmmss” format | DateTime | Y |
Username | Username | String (28) | Y |
Name | Description | Type and Limit | Required? |
---|---|---|---|
IsExist | User existing? True: user existing False: user not existing | Bool | Y |
Username | Username | String (28) | Y |
ErrorMsgId | Error message: 0: Success 108: Username length/format incorrect | Byte | Y |
ErrorMsg | Error message details | String | Y |
Output
1 2 3 4 5 6 7 8 9 |
<?xml version="1.0" encoding="utf-8"?> <VerifyUsernameResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <IsExist>True</IsExist> <Username>DemoUser001</Username> <ErrorMsgId>0</ErrorMsgId> <ErrorMsg>Success</ErrorMsg> </VerifyUsernameResponse> |
5.1.3.GetUserStatus
The status of a user including:
- Online/offline
- Bet exist
- Bet amount and remain balance
- Maximum balance
- Maximum daily winning
Name | Description | Type and Limit | Required? |
---|---|---|---|
method | Must be "GetUserStatus" | String (32) | Y |
Key | Secret key | String (32) | Y |
Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
Username | Username | String (28) | Y |
Name | Description | Type and Limit | Required? |
---|---|---|---|
IsSuccess | Success? True: Success False: Failed | Bool | Y |
Username | Username | String (28) | Y |
Balance | Active Balance, excluding BetAmount & WithholdAmount | Decimal | Y |
Online | Online? | Bool | Y |
Betted | Betted? | Bool | Y |
BetAmount | Total amount withhold by unfinished slot games | Decimal | Y |
MaxBalance | The upper limit in user's balance to place bet | Decimal | Y |
MaxWinning | Daily winning limitation to allow place bet | Decimal | Y |
WithholdAmount | Total amount withhold by unfinished fishing games | Decimal | Y |
ErrorMsgId | Error message 0: Success 100: Username error 108: Username length/format incorrect 116: Username does not exist | Byte | Y |
ErrorMsg | Error message detail | String | Y |
Output
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?xml version="1.0" encoding="utf-8"?> <GetUserStatusResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <IsSuccess>true</IsSuccess> <Username>DemoUser001</Username> <Balance>1234567.89</Balance> <Online>false</Online> <Betted>false</Betted> <BetAmount>0</BetAmount> <MaxBalance>0</MaxBalance> <MaxWinning>0</MaxWinning> <WithholdAmount>0</WithholdAmount> <ErrorMsgId>0</ErrorMsgId> <ErrorMsg>Success</ErrorMsg> </GetUserStatusResponse> |
5.1.4.SetUserMaxBalance
Set the maximum balance limit to a user. This only apply to transfer wallet.
ParametersName | Description | Type and Limit | Required? |
---|---|---|---|
method | Must be "SetUserMaxBalance" | String (32) | Y |
Key | Secret key | String (32) | Y |
Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
Username | Username | String (28) | Y |
MaxBalance | Maximum balance | Decimal | Y |
Name | Description | Type and Limit | Required? |
---|---|---|---|
ErrorMsgId | Error message: 0: Success 116: Username does not exist 142: Parameter(s) error 148: MaxBalance not zero or smaller than user balance | Byte | Y |
ErrorMsg | Error message detail | String | Y |
5.1.5.SetUserMaxWinning
Set the user’s maximum daily winning. User cannot place bet if his winning exceed this setting.
ParametersName | Description | Type and Limit | Required? |
---|---|---|---|
method | Must be "SetUserMaxWinning" | String (32) | Y |
Key | Secret key | String (32) | Y |
Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
Username | Username | String (28) | Y |
MaxWinning | Maximum daily winning | Decimal | Y |
Name | Description | Type and Limit | Required? |
---|---|---|---|
ErrorMsgId | Error message: 0: Success 116: Username does not exist 142: Parameter(s) error | Byte | Y |
ErrorMsg | Error message detail | String | Y |
5.1.6.GetUnfinishedGame
This Web service will fetch the unfinished slot game and table game of a user. The API only gets the unfinished game within 10 days. The frequency of the call should be made to this API 10 times per 1 second otherwise it will throw an error.
ParametersName | Description | Type and Limit | Required? |
---|---|---|---|
method | Must be "GetUnfinishedGame" | String (32) | Y |
Key | Secret key | String (32) | Y |
Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
Username | Username | String (28) | Y |
Name | Description | Type and Limit | Required? |
---|---|---|---|
Username | Username | String (28) | Y |
UnfinishedGameDetailList | Unfinished Game Detail List | XML | Y |
ErrorMsgId | Error message 0: Success 100: Username error 108: Username length/format incorrect 116: Username does not exist | Byte | Y |
ErrorMsg | Error message detail | String | Y |
output:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<!--?xml version="1.0" encoding="utf-8"?--> <getunfinishedgameresponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <username>DemoUser001</username> <unfinishedgamedetaillist> <unfinishedgamedetail> <gamecode>EG-SLOT-A036</gamecode> <betamount>10</betamount> </unfinishedgamedetail> <unfinishedgamedetail> <gamecode>EG-SLOT-A038</gamecode> <betamount>20</betamount> </unfinishedgamedetail> <unfinishedgamedetail> <gamecode>EG-SLOT-C003</gamecode> <betamount>40</betamount> </unfinishedgamedetail> <unfinishedgamedetail> <gamecode>EG-BACC-LOBBY</gamecode> <hostid>1001</hostid> <betamount>10</betamount> </unfinishedgamedetail> </unfinishedgamedetaillist> <errormsgid>0</errormsgid> <errormsg>Success</errormsg> </getunfinishedgameresponse> |
5.2.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.
ParametersName | Description | Type and Limit | Required? |
---|---|---|---|
method | Must be “LoginRequest” | String (32) | Y |
Key | Secret key | String (32) | Y |
Time | Current time in “yyyyMMddHHmmss” format | DateTime | Y |
Username | Username | String (28) | Y |
CurrencyType | Currency: USD Refer to Supported currencies | String (16) | Y |
GameCode | (Optional) Without GameCode will return a GameURL to enter "Game Lobby" With GameCode will reuturn a GameURL to directly enter "Slot Game", "Table Game" or "Fishing Game" Game code string, refer to Game code section | String (16) | N |
Lang | Language code | String | N |
Mobile | Mobile version 1 - Enable mobile 0 - Disable mobile | Bool | N |
Code | Description |
---|---|
zh_TW | Traditional Chinese |
zh_CN | Simplified Chinese |
en_US | English |
th | Thai |
vn | Vietnamese |
jp | Japanese |
id | Bahasa Indonesia |
it | Italiano* |
ms | Malay* |
es | Spanish* |
* Only support Fishermen Gold.
ResultName | Description | Type and Limit | Required? |
---|---|---|---|
Token# | Token for login | String | Y |
DisplayName* | Internal assigned username | String (32) | Y |
GameURL | Complete URL to launch "Game Lobby", "Slot Game", "Table Game" or "Fishing Game". Follow the different instruction to launch the games: Game Lobby Slot Game Table Game Fishing Game | String | N |
ErrorMsgId | Error message: 0: Success 129: System under maintenance 130: User account is locked (disabled) 133: Create user failed 134: Game code not found 135: Game access denied | Byte | Y |
ErrorMsg | Error message detail | String | Y |
# If login request failed, there is no Token node in the response.
* All username will be added a suffix @xxx. The DisplayName will be the actual username in our database.
5.2.2.LoginRequestForFun
Login to the system in Fun mode. The username will be generated automatically.
ParametersName | Description | Type and Limit | Required? |
---|---|---|---|
method | Must be “LoginRequestForFun” | String (32) | Y |
Key | Secret key | String (32) | Y |
Time | Current time in “yyyyMMddHHmmss” format | DateTime | Y |
Amount | Initial amount | Decimal | Y |
CurrencyType | Currency: USD Refer to Supported currencies | String (16) | Y |
GameCode | (Optional) Without GameCode will return a GameURL to enter "Game Lobby" With GameCode will return a GameURL to directly enter "Slot Game", "Table Game" or "Fishing Game" Game code string, refer to Game code section | String (16) | N |
Lang | Language code | String | N |
Mobile | Mobile version 1 - Enable mobile 0 - Disable mobile | Bool | N |
Name | Description | Type and Limit | Required? |
---|---|---|---|
Token# | Token for login | String | Y |
DisplayName* | Internal assigned username | String (32) | Y |
GameURL | Complete URL to launch "Game Lobby", "Slot Game", "Table Game" or "Fishing Game". Follow the different instruction to launch the games: Game Lobby Slot Game Table Game Fishing Game | String | N |
ErrorMsgId | Error message: 0: Success 129: System under maintenance 134: Game code not found 135: Game access denied | Byte | Y |
ErrorMsg | Error message detail | String | Y |
# If login request failed, there is no Token node in the response.
* All username will be added a suffix @xxx. The DisplayName will be the actual username in our database.
5.2.3.KickUser
Kick user to offline.
ParametersName | Description | Type and Limit | Required? |
---|---|---|---|
method | Must be "KickUser" | String (32) | Y |
Key | Secret key | String (32) | Y |
Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
Username | Username | String (28) | Y |
Name | Description | Type and Limit | Required? |
---|---|---|---|
ErrorMsgId | Error message: 0: Success 104: Service not available 108: Username length/format incorrect 116: Username does not exist 125: Kick user fail | Byte | Y |
ErrorMsg | Error message detail | String | Y |
Output
1 2 3 4 5 |
<?xml version="1.0" encoding="utf-8"?> <KickUserResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ErrorMsgId>0</ErrorMsgId> <ErrorMsg>Success</ErrorMsg> </KickUserResponse> |
5.3.Bet Records Query
5.3.1.GetAllBetDetails
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.
ParametersName | Description | Type and Limit | Required? |
---|---|---|---|
method | Must be "GetAllBetDetails" | String (32) | Y |
Key | Secret key | String (32) | Y |
Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
Username | Username | String (28) | N |
Date | Date for details “yyyy-MM-dd” | Date | N |
Name | Description | Type and Limit | Required? |
---|---|---|---|
BetDetailList | Bet details structure | XML | Y |
ErrorMsgId | Error message: 0: Success 108: Username length/format incorrect 112: API recently called 116: Username does not exist 142: Parameter(s) error | Byte | Y |
ErrorMsg | Error message detail | String | Y |
Name | Description | Type and Limit | Required? | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
BetTime | Bet start time | Date Time | Y | ||||||||
PayoutTime | Payout time | Date Time | Y | ||||||||
Username | Username | String (28) | Y | ||||||||
Detail | Game code | String | Y | ||||||||
GameID | Game ID | String | Y | ||||||||
BetID | Bet ID | Int64 | Y | ||||||||
BetAmount | Bet amount | Decimal | Y | ||||||||
Rolling | Rolling | Decimal | Y | ||||||||
ResultAmount | Payout | Decimal | Y | ||||||||
Balance | Balance after this bet | Decimal | Y | ||||||||
HostID* | Host table ID | Int(16) | N | ||||||||
Round* | Game Round | Int(32) | N | ||||||||
Set* | Game Set | Int(32) | N | ||||||||
GameType | Game type. slot - Slot Game table - Table Game multiplayer - Fishing Game | String | Y | ||||||||
BetType* | Bet Type | Int(*) | N | ||||||||
BetSource |
| Int | Y | ||||||||
TransactionID | Seamless wallet PlaceBet transaction ID. -1 if not using seamless wallet | Int64 | Y | ||||||||
JackpotContribution | Jackpot Contribution (decimal format and max. 9 decimal places) | Decimal | Y | ||||||||
PrizeID | Prize ID of FSO | Integer | N | ||||||||
GameResult* | The result of the game Baccarat Color SicBo Shake Shake Pula-Puti | XML | N |
* The fields “HostID”, “Round”, “Set”, “BetType” and “GameResult” are designated for Table Game only. It will not be returned in Slot and Fish games.
Output without PrizeID
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<?xml version="1.0" encoding="utf-8"?> <GetAllBetDetailsResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <BetDetailList> <BetDetail> <BetTime>2021-04-07T10:34:321</BetTime> <PayoutTime>2021-04-07T10:34:34.057</PayoutTime> <Username>DemoUser001</Username> <GameID>14487631238544</GameID> <BetID>11822141</BetID> <BetAmount>0.01</BetAmount> <Rolling>0.01</Rolling> <ResultAmount>-0.01</ResultAmount> <Balance>7606.93</Balance> <GameType>slot</GameType> <BetSource>2640</BetSource> <Detail>EG-SLOT-A049</Detail> <TransactionID>-1</TransactionID> <JackpotContribution>0.000020000</JackpotContribution> </BetDetail> </BetDetailList> <ErrorMsgId>0</ErrorMsgId> <ErrorMsg>Success</ErrorMsg> </GetAllBetDetailsResponse> |
Output with PrizeID
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<?xml version="1.0" encoding="utf-8"?> <GetAllBetDetailsResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <BetDetailList> <BetDetail> <BetTime>2021-04-07T10:34:321</BetTime> <PayoutTime>2021-04-07T10:34:34.057</PayoutTime> <Username>DemoUser001</Username> <GameID>14487631238544</GameID> <BetID>11822141</BetID> <BetAmount>0.01</BetAmount> <Rolling>0.01</Rolling> <ResultAmount>-0.01</ResultAmount> <Balance>7606.93</Balance> <GameType>slot</GameType> <BetSource>2640</BetSource> <Detail>EG-SLOT-A049</Detail> <TransactionID>-1</TransactionID> <JackpotContribution>0.000020000</JackpotContribution> <PrizeID>26</PrizeID> </BetDetail> </BetDetailList> <ErrorMsgId>0</ErrorMsgId> <ErrorMsg>Success</ErrorMsg> </GetAllBetDetailsResponse> |
Jackpot sample:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<?xml version="1.0" encoding="utf-8"?> <GetAllBetDetailsResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <BetDetailList> <BetDetail> <BetTime>2021-04-07T10:34:321</BetTime> <PayoutTime>2021-04-07T10:34:34.057</PayoutTime> <Username>DemoUser001</Username> <GameID>14487631238544</GameID> <BetID>11822141</BetID> <BetAmount>0</BetAmount> <Rolling>0</Rolling> <ResultAmount>500.00</ResultAmount> <Balance>7606.93</Balance> <GameType>slot</GameType> <BetSource>2640</BetSource> <Detail>EG-SLOT-A049</Detail> <TransactionID>-1</TransactionID> <JackpotContribution>0.000000000</JackpotContribution> </BetDetail> </BetDetailList> <ErrorMsgId>0</ErrorMsgId> <ErrorMsg>Success</ErrorMsg> </GetAllBetDetailsResponse> |
Sample for Baccarat Game Result:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
<?xml version="1.0" encoding="UTF-8"?> <GetAllBetDetailsResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <BetDetailList> <BetDetail> <BetTime>2021-03-19T16:11:47.191</BetTime> <PayoutTime>2021-03-19T16:12:28.877</PayoutTime> <Username>DemoUser001</Username> <Detail>EG-BACC-LOBBY</Detail> <GameID>1234567890123456</GameID> <BetID>1234567890</BetID> <BetAmount>123.45</BetAmount> <Rolling>123.45</Rolling> <Balance>434456.35</Balance> <ResultAmount>246.90</ResultAmount> <HostID>123</HostID> <Round>10</Round> <Set>34</Set> <GameType>table</GameType> <BetType>123</BetType> <BetSource>2</BetSource> <TranactionID>2</TranactionID> <GameResult> <BaccaratResult> <PlayerCard1> <Suit>2</Suit> <Rank>11</Rank> </PlayerCard1> <PlayerCard2> <Suit>3</Suit> <Rank>1</Rank> </PlayerCard2> <PlayerCard3> <Suit>2</Suit> <Rank>12</Rank> </PlayerCard3> <BankerCard1> <Suit>4</Suit> <Rank>7</Rank> </BankerCard1> <BankerCard2> <Suit>2</Suit> <Rank>6</Rank> </BankerCard2> <BankerCard3> <Suit>3</Suit> <Rank>9</Rank> </BankerCard3> <ResultDetail> <BRTie>false</BRTie> <BRPlayerWin>false</BRPlayerWin> <BRBankerWin>true</BRBankerWin> <BRPlayerPair>false</BRPlayerPair> <BRBankerPair>false</BRBankerPair> <BRSLuckySix>false</BRSLuckySix> </ResultDetail> </BaccaratResult> </GameResult> </BetDetail> </BetDetailList> <ErrorMsgId>0</ErrorMsgId> <ErrorMsg>Success</ErrorMsg> </GetAllBetDetailsResponse> |
Sample for Color SicBo Game Result:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
<?xml version="1.0" encoding="UTF-8"?> <GetAllBetDetailsResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <BetDetailList> <BetDetail> <BetTime>2023-03-20T17:22:36</BetTime> <PayoutTime>2023-03-20T17:22:48.41</PayoutTime> <Username>DemoUser001</Username> <Detail>EG-COSB-LOBBY</Detail> <GameID>1234567890123456</GameID> <BetID>1234567890</BetID> <BetAmount>200</BetAmount> <Rolling>200</Rolling> <Balance>434456.35</Balance> <ResultAmount>246.90</ResultAmount> <HostID>2101</HostID> <Round>10</Round> <Set>34</Set> <GameType>table</GameType> <BetType>123</BetType> <BetSource>2</BetSource> <TranactionID>2</TranactionID> <GameResult> <ColorSicboResult> <Dice1>1</Dice1> <Dice2>4</Dice2> <Dice3>6</Dice3> </ColorSicboResult> </GameResult> </BetDetail> </BetDetailList> <ErrorMsgId>0</ErrorMsgId> <ErrorMsg>Success</ErrorMsg> </GetAllBetDetailsResponse> |
Sample for Shake Shake Game Result:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
<?xml version="1.0" encoding="UTF-8"?> <GetAllBetDetailsResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <BetDetailList> <BetDetail> <BetTime>2023-03-20T18:50:50.23</BetTime> <PayoutTime>2023-03-20T18:51:04.787</PayoutTime> <Username>DemoUser001</Username> <Detail>EG-SKSK-LOBBY</Detail> <GameID>1234567890123456</GameID> <BetID>1234567890</BetID> <BetAmount>123.45</BetAmount> <Rolling>123.45</Rolling> <Balance>434456.35</Balance> <ResultAmount>246.90</ResultAmount> <HostID>3001</HostID> <Round>10</Round> <Set>34</Set> <GameType>table</GameType> <BetType>123</BetType> <BetSource>2</BetSource> <TranactionID>2</TranactionID> <GameResult> <ShakeShakeResult> <Dice1>5</Dice1> <Dice2>6</Dice2> <TotalPoint>11</TotalPoint> <ResultDetail> <SSR_4_5_9_10>false</SSR_4_5_9_10> <SSR_6_7_8>false</SSR_6_7_8> <SSR_2_3_11_12>true</SSR_2_3_11_12> </ResultDetail> </ShakeShakeResult> </GameResult> </BetDetail> </BetDetailList> <ErrorMsgId>0</ErrorMsgId> <ErrorMsg>Success</ErrorMsg> </GetAllBetDetailsResponse> |
Sample for Pula-Puti Game Result:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
<?xml version="1.0" encoding="UTF-8"?> <GetAllBetDetailsResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <BetDetailList> <BetDetail> <BetTime>2023-04-18T11:13:41.297</BetTime> <PayoutTime>2023-04-18T11:14:04.323</PayoutTime> <Username>DemoUser001</Username> <HostID>4001</HostID> <GameID>2612027592704</GameID> <Round>1587</Round> <BetID>691439278</BetID> <BetAmount>5</BetAmount> <Rolling>5</Rolling> <ResultAmount>5</ResultAmount> <Balance>87743.8</Balance> <GameType>table</GameType> <BetType>2</BetType> <BetSource>600</BetSource> <Detail>EG-PUPU-LOBBY</Detail> <TransactionID>-1</TransactionID> <GameResult> <PulaPutiResult> <Ball1>1</Ball1> <Ball2>2</Ball2> <Ball3>2</Ball3> <ResultDetail> <PPRRedRed>false</PPRRedRed> <PPRRedRedRed>false</PPRRedRedRed> <PPRWhiteWhite>true</PPRWhiteWhite> <PPRWhiteWhiteWhite>false</PPRWhiteWhiteWhite> <PPRSpecial>false</PPRSpecial> <PPRSpecialRedWhite>false</PPRSpecialRedWhite> </ResultDetail> </PulaPutiResult> </GameResult> </BetDetail> </BetDetailList> <ErrorMsgId>0</ErrorMsgId> <ErrorMsg>Success</ErrorMsg> </GetAllBetDetailsResponse> |
5.3.2.GetAllBetDetailsForTimeInterval
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.
ParametersName | Description | Type and Limit | Required? |
---|---|---|---|
method | Must be "GetAllBetDetailsForTimeInterval" | String (32) | Y |
Key | Secret key | String (32) | Y |
Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
Username | Username | String (28) | N |
FromTime | Date for details “yyyy-MM-dd HH:mm:ss” | Date Time | Y |
ToTime | Date for details “yyyy-MM-dd HH:mm:ss” | Date Time | Y |
Name | Description | Type and Limit | Required? |
---|---|---|---|
BetDetailList | Bet details structure | XML | Y |
ErrorMsgId | Error message: 0: Success 108: Username length/format incorrect 111: Query time range out of limitation 112: API recently called 116: Username does not exist 142: Parameter(s) error | Byte | Y |
ErrorMsg | Error message detail | String | Y |
BetDetails is the same as GetAllBetDetails.
5.3.3.GetUserBetAmount
This Web service will fetch the stake amount for a lobby.
ParametersName | Description | Type and Limit | Required? |
---|---|---|---|
method | Must be "GetUserBetAmount" | String (32) | Y |
Key | Secret key | String (32) | Y |
Time | Current time in "yyyyMMdddHHmmss" format | DateTime | Y |
Username | Username | String (28) | N |
StartDate | Start time (default current date): "yyyy-MM-dd HH:mm:ss" | DateTime | N |
TimeRange | Range in hour from 0 to 23 (default 0 = 24 hours) | Int | N |
Name | Description | Type and Limit | Required? |
---|---|---|---|
Username | Username | String (28) | Y |
StakeAmount | Sum of bet amount for all games | Decimal | Y |
ErrorMsgId | Error message: 0: Success 108: Username length/format incorrect 116: Username does not exist | Byte | Y |
ErrorMsg | Error message detail | String | Y |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?xml version="1.0" encoding="utf-8"?> <GetUserBetAmountResponse> xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <BetAmountDetailList> <BetAmountDetails> <Username>user001</Username> <StakeAmount>1105.45</StakeAmount> </BetAmountDetails> </BetAmountDetailList> <ErrorMsgId>0</ErrorMsgId> <ErrorMsg>Success</ErrorMsg> </GetUserBetAmountResponse> |
5.3.4.GetUserWinLost
This API function is to get a user’s win/loss summary for a period of time with maximum of 31 days.
ParametersName | Description | Type and Limit | Required? |
---|---|---|---|
method | Must be "GetUserWinLost" | String (32) | Y |
Key | Secret key | String (32) | Y |
Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
Username | Username | String (28) | Y |
FromTime | Start date and time: "yyyy-MM-dd HH:mm:ss" | DateTime | Y |
ToTime | End of date and time: "yyyy-MM-dd HH:mm:ss" | DateTime | Y |
Type | 0 - includes win and loss 1 - only includes win 2 - only includes loss | Int | N |
Name | Description | Type and Limit | Required? |
---|---|---|---|
Username | Username | String (28) | Y |
Winlost | Win or loss summary value | Decimal | Y |
ErrorMsgId | Error message: 0: Success 106: Server not ready 108: Username length/format incorrect 111: Query time range out of limitation 116: Username does not exist 144: Query type invalid | Byte | Y |
ErrorMsg | Error message detail | String | Y |
5.3.5.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.
ParametersName | Description | Type and Limit | Required? |
---|---|---|---|
method | Must be "GetTransactionDetails" | String (32) | Y |
Key | Secret key | String (32) | Y |
Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
Username | Username | String (28) | N |
FromTime | Start date and time: "yyyy-MM-dd HH:mm:ss" | DateTime | Y |
ToTime | End date and time: "yyyy-MM-dd HH:mm:ss" | DateTime | Y |
Name | Description | Type and Limit | Required? |
---|---|---|---|
Count | Number of transactions | Integer 32bit | Y |
Winlose | Win/lose | Decimal | Y |
TotalBet | Total bet amount | Decimal | Y |
ErrorMsgId | Error message: 0: Success 106: Server not ready 111: Query time range out of limitation 116: Username does not exist | Byte | Y |
ErrorMsg | Error message detail | String | Y |
5.3.6.GetSlotDetailsURL
This web service will generate the URL for display the game details by BetID or GameID. (Only one parameter either BetID or GameID will be accepted)
Parameters:Name | Description | Type and Limit | Required? |
---|---|---|---|
method | must be “GetSlotDetailsURL ” | String (32) | Y |
Key | secret key | String (32) | Y |
Time | current time in “yyyyMMddHHmmss” format | DateTime | Y |
BetID | Bet ID of the slot game | String (20) | N |
GameID | Game ID of the slot game | String (20) | N |
Lang | Language code | String | N |
Code | Description |
---|---|
zh_TW | Traditional Chinese |
zh_CN | Simplified Chinese |
en_US | English |
th | Thai |
vn | Vietnamese |
jp | Japanese |
id | Bahasa Indonesia |
it | Italiano |
ms | Malay |
es | Spanish |
Name | Description | Type and Limit | Required? |
---|---|---|---|
URL | Full URL to display the details report | String | Y |
ErrorMsgId | Error message 0: Success 153: Bet ID not existing | Byte | Y |
ErrorMsg | Error message detail | String | Y |
5.3.7.GetFishermenGoldBetDetails
This Web service will fetch bet details for one fishing game session.
ParametersName | Description | Type and Limit | Required? |
---|---|---|---|
method | Must be "GetFishermenGoldBetDetails" | String (32) | Y |
Key | Secret key | String (32) | Y |
Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
GameId | Fishermen Gold game id. | String (32) | Y |
Page | Page of records, starting from 0 | Int | Y |
Name | Description | Type and Limit | Required? |
---|---|---|---|
BetAmount | Total bet amount (Coin) | Int64 | Y |
WinAmount | Total winning amount (Coin) | Int64 | Y |
Currency | Currency | String (16) | Y |
ExchangeRate | Coin to currency exchange rate | Int | Y |
Count | Total bullet record count | Int | Y |
ItemCount | Number of item queried | Int | Y |
Limit | Number of item per page | Int | Y |
BulletDetailsList | List of structure of a bullet details | XML | Y |
ErrorMsgId | Error message: 0: Success 102: Secret key incorrect 106: Server not ready 152: Game Id does not exist | Byte | Y |
ErrorMsg | Error message detail | String | Y |
Name | Description | Type and Limit | Required? |
---|---|---|---|
Denom | Denomination | Int | Y |
ID | Bullet ID | Int64 | Y |
Multiplier | Multiplier | Int | Y |
Cost | Cost of the bullet (Coin) | Int | Y |
Reward | Reward of the bullet (Coin) | Int | Y |
Species | Fish ID | Int | Y |
FreeBulletTotal | Total of free bullet | Int | Y |
FreeBulletRemain | Remains of free bullet | Int | Y |
FreeBulletReward | Rewarded bullet of this shoot | Int | Y |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
<?xml version="1.0" encoding="utf-8"?> <GetFishermenGoldBetDetailsResponse> xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <BetAmount>2700</BetAmount> <WinAmount>500</WinAmount> <Currency>EUR</Currency> <ExchangeRate>1000</ExchangeRate> <Count>35</Count> <ItemCount>20</ItemCount> <Limit>20</Limit> <BulletDetailsList> <BulletDetails> <Denom>50</Denom> <ID>00000000010537</ID> <Multiplier>2</Multiplier> <Cost>100</Cost> <Reward>0</Reward> <Species>10</Species> <FreeBulletTotal>0</FreeBulletTotal> <FreeBulletRemain>0</FreeBulletRemain> <FreeBulletReward>0</FreeBulletReward> </BulletDetails> ............ ............ ............ </BulletDetailsList> <ErrorMsgId>0</ErrorMsgId> <ErrorMsg>Success</ErrorMsg> </GetFishermenGoldBetDetailsResponse> |
5.3.8.GetFishingGameDetails
This Web service will fetch bet details for one fishing game session.
ParametersName | Description | Type and Limit | Required? |
---|---|---|---|
method | Must be "GetFishingGameDetails" | String (32) | Y |
Key | Secret key | String (32) | Y |
Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
GameId | Fishing game id | String (32) | Y |
Page | Page of records, starting from 0 | Int | Y |
Name | Description | Type and Limit | Required? |
---|---|---|---|
GameName | Game Name | String (32) | Y |
BetAmount | Total bet amount | Decimal | Y |
WinAmount | Total winning amount | Decimal | Y |
Currency | Currency | String (16) | Y |
ExchangeRate | Coin to currency exchange rate | Int | Y |
Count | Total bullet record count | Int | Y |
ItemCount | Number of item queried | Int | Y |
Limit | Number of item per page | Int | Y |
BulletDetailsList | List of structure of a bullet details | XML | Y |
ErrorMsgId | Error message: 0: Success 102: Secret key incorrect 106: Server not ready 152: Game Id does not exist | Byte | Y |
ErrorMsg | Error message detail | String | Y |
Name | Description | Type and Limit | Required? |
---|---|---|---|
Denom | Denomination | Decimal | Y |
ID | Bullet ID | Int64 | Y |
Multiplier | Multiplier | Int | Y |
Cost | Cost of the bullet | Decimal | Y |
Reward | Reward of the bullet | Decimal | Y |
Species | Fish ID | Int | Y |
FreeBulletTotal | Total of free bullet | Int | Y |
FreeBulletRemain | Remains of free bullet | Int | Y |
CreatedAt | Time in “yyyyMMddHHmmss” format | DateTime | Y |
FreeBulletMultiplier | FreeBulletMultiplier | Int | Y |
FreeBulletReward | Rewarded bullet of this shoot | Int | Y |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
<?xml version="1.0" encoding="utf-8"?> <GetFishingGameDetailsResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ErrorMsgId>0</ErrorMsgId> <ErrorMsg>Success</ErrorMsg> <BetAmount>4697</BetAmount> <WinAmount>6985.5</WinAmount> <Currency>THB</Currency> <ExchangeRate>1</ExchangeRate> <Count>240</Count> <ItemCount>20</ItemCount> <GameName>Lustrous Ocean</GameName> <Limit>20</Limit> <BulletDetailsList> <BulletDetails> <Denom>0.5</Denom> <ID>87031139</ID> <Multiplier>2</Multiplier> <Cost>1</Cost> <Reward>2.5</Reward> <Species>29</Species> <FreeBulletTotal>0</FreeBulletTotal> <FreeBulletRemain>0</FreeBulletRemain> <CreatedAt>2021-08-11 17:09:29</CreatedAt> <FreeBulletReward>0</FreeBulletReward> <FreeBulletMultiplier>0</FreeBulletMultiplier> </BulletDetails> ............ ............ ............ </BulletDetailsList> </GetFishingGameDetailsResponse> |
5.3.9.GetFishingDetailsURL
This web service will generate the URL for displaying the fishing game details by BetID
Parameters:Name | Description | Type and Limit | Required? |
---|---|---|---|
method | must be “GetFishingDetailsURL” | String (32) | Y |
Key | secret key | String (32) | Y |
Time | current time in “yyyyMMddHHmmss” format | DateTime | Y |
BetID | Bet ID of the fishing game | String (20) | Y |
Lang | Language code | String | N |
Code | Description |
---|---|
zh_TW | Traditional Chinese |
zh_CN | Simplified Chinese |
en_US | English |
th | Thai |
vn | Vietnamese |
jp | Japanese |
id | Bahasa Indonesia |
it | Italiano |
ms | Malay |
es | Spanish |
Name | Description | Type and Limit | Required? |
---|---|---|---|
URL | Full URL to display the details report | String | Y |
ErrorMsgId | Error message 0: Success 153: Bet ID not existing | Byte | Y |
ErrorMsg | Error message detail | String | Y |
5.3.10.GetActiveGameList
Check the list of active games.
Parameters:Name | Description | Type and Limit | Required? |
---|---|---|---|
method | Must be "GetActiveGameList" | String (32) | Y |
Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
Key | Secret key | String (32) | Y |
Lang | Language code (Default: en_US = English) * The value of GameName and GameLogo will be based on this language code | String | N |
Code | Description |
---|---|
zh_TW | Traditional Chinese |
zh_CN | Simplified Chinese |
en_US | English |
Name | Description | Type and Limit | Required? |
---|---|---|---|
GameList | Game list | XML | Y |
ErrorMsgId | Error message: 0: Success | Byte | Y |
ErrorMsg | Error message details | String | Y |
Name | Description | Type and Limit | Required? |
---|---|---|---|
GameCode | Game Code | String | Y |
GameName | Game Name | String | Y |
GameType | Game type slot - Slot Game table - Table Game multiplayer - Fishing Game | String | Y |
GameLogo | The path of game logo | String | Y |
Enabled | true – Enabled in Backoffice by operator false – Disabled in Backoffice by operator | Bool | Y |
Name | Description | Type and Limit | Required? |
---|---|---|---|
original | Original Game Logo URL | String | Y |
GameList example:
1 2 3 4 5 6 7 8 9 10 11 |
<GameList> <Game> <GameCode>EG-FISHING-001</GameCode> <GameName>Fishermen Gold</GameName> <GameType>multiplayer</GameType> <GameLogo> </GameLogo> <Enabled>true</Enabled> </Game> </GameList> |
5.4.Miscellaneous Functions
5.4.1.JackpotQuery
This API function is to request to the Slot Jackpot meter in different currencies. The frequency of the call should be made to this API after every 1 minute otherwise it will throw an error.
ParametersName | Description | Type and Limit | Required? |
---|---|---|---|
method | Must be "JackpotQuery" | String (32) | Y |
Key | Secret key | String (32) | Y |
Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
Currency | Currency: USD Refer to Supported currencies | String (16) | Y |
Name | Description | Type and Limit | Required? |
---|---|---|---|
Major | Major meter (in cents) | Int64 | Y |
Minor | Minor meter (in cents) | Int64 | Y |
Mini | Mini meter (in cents) | Int64 | Y |
ErrorMsgId | Error message: 0: Success 104: Service is not available | Byte | Y |
ErrorMsg | Error message detail | String | Y |
5.5.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.5.1.DebitBalance
Transfer from the user’s balance.
ParametersName | Description | Type and Limit | Required? |
---|---|---|---|
method | Must be "DebitBalance" | String (32) | Y |
Key | Secret key | String (32) | Y |
Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
Username | Username Alphanumeric | String (28) | Y |
OrderId | Order ID: OUT+YYYYMMDDHHMMSS+Username e.g. “OUT20131129130345peter1235” | String (64) | Y |
DebitAmount | Debit amount. Maximum two decimal only. | Decimal | Y |
Name | Description | Type and Limit | Required? |
---|---|---|---|
Username | Username | String (28) | Y |
Balance | Active Balance, excluding BetAmount & WithholdAmount | Decimal | Y |
BetAmount | Total amount withhold by unfinished slot games and table games | Decimal | Y |
WithholdAmount | Total amount withhold by unfinished fishing games | Decimal | Y |
DebitAmount | Debited amount | Decimal | Y |
OrderId | Order ID | String (64) | Y |
ErrorMsgId | Error message: 0: Success 106: Server not ready. Try again later. 108: Username length/format incorrect 116: Username does not exist 120: Amount must be larger than zero 121: Not enough points to credit/debit 122: Order ID already exists 124: Database error 127: Invalid order ID format 142: Error Parameter 145: Parameter decimal point greater than 2 | Byte | Y |
ErrorMsg | Error message detail | String | Y |
5.5.2.DebitAllBalance
Transfer all amount from the user’s balance.
ParametersName | Description | Type and Limit | Required? |
---|---|---|---|
method | Must be "DebitAllBalance" | String (32) | Y |
Key | Secret key | String (32) | Y |
Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
Username | Username | String (28) | Y |
OrderId | Order ID: OUT+YYYYMMDDHHMMSS+Username e.g. “OUT20131129130345peter1235” | String (64) | Y |
Name | Description | Type and Limit | Required? |
---|---|---|---|
Username | Username | String (28) | Y |
Balance | Active Balance, excluding BetAmount & WithholdAmount | Decimal | Y |
BetAmount | Total amount withhold by unfinished slot games and table games | Decimal | Y |
WithholdAmount | Total amount withhold by unfinished fishing games | Decimal | Y |
DebitAmount | Debited amount | Decimal | Y |
OrderId | Order ID | String (64) | Y |
ErrorMsgId | Error message: 0: Success 106: Server not ready. Try again later. 116: Username does not exist 122: Order ID already exists 124: Database error 127: Invalid order ID format | Byte | Y |
ErrorMsg | Error message detail | String | Y |
5.5.3.CreditBalance
Transfer fund to user’s balance.
ParametersName | Description | Type and Limit | Required? |
---|---|---|---|
method | Must be "CreditBalance" | String (32) | Y |
Key | Secret key | String (32) | Y |
Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
Username | Username | String (28) | Y |
OrderId | Order ID: IN+YYYYMMDDHHMMSS+Username e.g. “IN20131129130345peter1235” | String (64) | Y |
CreditAmount | Credit amount | Decimal | Y |
Name | Description | Type and Limit | Required? |
---|---|---|---|
Username | Username | String (28) | Y |
Balance | Active Balance, excluding BetAmount & WithholdAmount | Decimal | Y |
BetAmount | Total amount withhold by unfinished slot games and table games | Decimal | Y |
WithholdAmount | Total amount withhold by unfinished fishing games | Decimal | Y |
CreditAmount | Credited amount. | Decimal | Y |
OrderId | Order ID | String (64) | Y |
ErrorMsgId | Error message: 0: Success 106: Server not ready. Try again later. 108: Username length/format incorrect 116: Username does not exist 120: Amount must be larger than zero 121: Not enough points to credit/debit 122: Order ID already exists 124: Database error 127: Invalid order ID format 142: Error Parameter 145: Parameter decimal point greater than 2 | Byte | Y |
ErrorMsg | Error message detail | String | Y |
5.5.4.CheckOrderId
Check the OrderId that generated in DebitBalance/DebitAllBalance/CreditBalance is existing or not in our system.
ParametersName | Description | Type and Limit | Required? |
---|---|---|---|
method | Must be "CheckOrderId" | String (32) | Y |
Key | Secret key | String (32) | Y |
Time | Current time in "yyyyMMddHHmmss" format | DateTime | Y |
OrderId | The OrderId used in
| String (64) | Y |
Name | Description | Type and Limit | Required? |
---|---|---|---|
isExist | The OrderId exist or not
If true, the Date, Type, Currency, Amount, Previous_Balance and Balance parameter will be returned | bool | Y |
ErrorMsgId | Error message: 0: Success 106: Server not ready. Try again later. 124: Database error 127: Invalid order ID format | Byte | Y |
ErrorMsg | Error message detail | String | Y |
Date | Transaction time | DateTime | N |
Type | 0 - Deposit 1 - Withdrawal | Byte | N |
Currency | Currency: USD Refer to Supported currencies | String (16) | N |
Amount | Transfer amount (withdraw or deposit) (decimal format and max. 2 decimal places) | Decimal | N |
Previous_Balance | Amount before adjustment (decimal format and max. 2 decimal places) | Decimal | N |
Balance | Amount after adjustment (decimal format and max. 2 decimal places) | Decimal | N |
6.Seamless Wallet Integration
6.1.Introduction
This section is to illustrate the detail of implementing seamless wallet in external partner system.
Important: While probably obvious, it’s worth stating that when Seamless Wallet is in use, the CreditBalance/DebitBalance/DebitAllBalance API should not be used to modify a player’s balance.
6.2.Workflow
Basically the partner system have to provide a set of API functions for our system to call:
- GetUserBalance
- Fund Transfer
GetUserBalance will be called when the user login to our platform or user click refresh balance in the web client.
Fund Transfer function includes four types of transfer:
- PlaceBet
- It is sent to the partner system when the user going to place a bet. The function will be timed out after 3 seconds and PlaceBetCancel will be sent.
- PlayerWin
- When a bet placed before is winning (bet amount + result amount > 0), the total amount (including stakes) will send to partner system.
- PlayerLost
- When a bet placed before is losing, this request will be sent to the partner system. Although it is no amount adjustment, it is still worth to let partner system to update the state of an open transaction.
- PlaceBetCancel
- PlaceBetCancel will only be sent when previous PlaceBet is failed due to timeout or partner system error. Partner system should refund the user if the transaction has been done in the partner system side.
For PlayerWin, PlayerLost & PlaceBetCancel request, SimplePlay will keep re-sending it until receiving proper response. If SimplePlay couldn’t receive proper response after 2 hours, SimplePlay will consider it as failed and move it to unsuccessful transaction list.
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.
Special Case:
- Received PlaceBetCancel without corresponding PlaceBet request. No balance adjustment is required, return us error=0with user’s current balance.
> We suggested to record “txn_reverse_id” in PlaceBetCancel request.
> If partner system receive the corresponding PlaceBet request later than PlaceBetCancel request , some incorrect operation requests might happen at partner system. To deal with this weird situation, we suggest partner system should setup a job to run periodically (e.g. every 15 minutes)
- Check all pending PlaceBetCancel request, compare its txn_reverse_id with all PlaceBet request’s txnid for past 15 minutes
- If corresponding PlaceBet request is found, partner system should refund the bet amount to player and finish both PlaceBet & PlaceBetCancel request at partner end
- If corresponding PlaceBet request is NOT found, partner system should finish this PlaceBetCancel request
Note: We suggest the regular check period in every 15 minutes, but it is configurable based on partner system needs.
- Received duplicate PlayerWin, PlayerLost or PlaceBetCancel request. No balance adjustment is required, 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. SimplePlay platform assumes that the partner system will handle duplicate transaction request properly and send back a success response ( error=0 ) for a request that had already been processed.
Operator should provide these five individual aspx, php, etc. to allow SimplePlay 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
SimplePlay platform will use HTTP 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 SimplePlay platform sends to external wallet before encryption:
1 |
username=sptest¤cy=EUR |
6.3.1.Encryption procedures
We will use DES CBC encryption. The following are the example of DES Encrypt/Decrypt function:
ASP.Net version
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
protected byte[] EncryptKey = ASCIIEncoding.ASCII.GetBytes("ask_us_for_key"); public string DESEncrypt(string inString) { MemoryStream ms = new MemoryStream(); CryptoStream cs = new CryptoStream(ms, new DESCryptoServiceProvider().CreateEncryptor(EncryptKey, EncryptKey), CryptoStreamMode.Write); StreamWriter sw = new StreamWriter(cs); sw.Write(inString); sw.Flush(); cs.FlushFinalBlock(); sw.Flush(); return Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length); } public string DESDecrypt(string inString) { try { return new StreamReader(new CryptoStream(new MemoryStream( Convert.FromBase64String(inString)), new DESCryptoServiceProvider().CreateDecryptor(EncryptKey, EncryptKey), CryptoStreamMode.Read)).ReadToEnd(); } catch { } return ""; } |
PHP version
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<?php class DES { var $key; var $iv; function __construct( $key, $iv=0 ) { $this->key = $key; if( $iv == 0 ) { $this->iv = $key; } else { $this->iv = $iv; } } function encrypt($str) { return base64_encode( openssl_encrypt($str, 'DES-CBC', $this->key, OPENSSL_RAW_DATA, $this->iv ) ); } function decrypt($str) { $str = openssl_decrypt(base64_decode($str), 'DES-CBC', $this->key, OPENSSL_RAW_DATA | OPENSSL_NO_PADDING, $this->iv); return rtrim($str, "x01..x1F"); } function pkcs5Pad($text, $blocksize) { $pad = $blocksize - (strlen ( $text ) % $blocksize); return $text . str_repeat ( chr ( $pad ), $pad ); } } ?> |
6.3.2.POST
After encrypted the request string, we will POST the encrypted string with urlencoded as plain text:
1 2 3 4 |
POST / HTTP/1.0 Content-Type: text/plain MDQGx7yYdmYWDLAZYqQjJUDExdFvMIb%2fonakZJuIlWg%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:
1 2 3 4 5 6 7 |
<?xml version="1.0" encoding="utf-8"?> <RequestResponse> <username>sptest</username> <currency>EUR</currency> <amount >1532.36</amount > <error>0</error> </RequestResponse> |
6.4.GetUserBalance
This request is send to the partner system to retrieve the balance of a user.

Name | Description | Type and Limit | Required? |
---|---|---|---|
username | Username of the user | String (28) | Y |
currency | ISO 3 characters e.g. USD. Except mXBT | String (16) | Y |
E.g.
1 |
username=sptest¤cy=EUR |
Name | Description | Type and Limit | Required? |
---|---|---|---|
username | Username of the user | String (28) | Y |
currency | ISO 3 characters e.g. USD. Except mXBT | String (16) | Y |
amount | Decimal format and max. 2 decimal places | Decimal | Y |
error | Error code | Int | Y |
6.5.Fund Transfer
SimplePlay 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, SimplePlay 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.
Parameters:Name | Description | Type and Limit | Required? |
---|---|---|---|
username | Username of the user | String (28) | Y |
currency | ISO 3 characters e.g. USD | String (16) | Y |
amount | Amount to bet (decimal format and max. 2 decimal places) | Decimal | Y |
txnid | A unique id for all fund transfer | String (16) | Y |
timestamp | Timestamp in yyyy-MM-dd HH:mm:ss.fff (GMT +8) E.g. 2020-03-22 12:34:56.123 | DateTime | Y |
ip | IP of the user | String | Y |
gametype | Game type slot - Slot Game table - Table Game multiplayer - Fishing Game | String | Y |
hostid | Host ID, please refer to Section 11 | Int | Y |
platform | 0 - desktop 1 - mobile | Byte | Y |
gamecode | Game code of the game | String | Y |
gameid | Game ID | String | Y |
JackpotContribution | Jackpot Contribution (decimal format and max. 9 decimal places) | Decimal | N |
betdetails | Bet details array type - Bet type amount - Bet amount | JSON | N |
Name | Description | Type and Limit | Required? |
---|---|---|---|
username | Username of the user | String (28) | Y |
currency | ISO 3 characters e.g. USD. Except mXBT | String (16) | Y |
amount | Amount after adjustment (decimal format and max. 2 decimal places) | Decimal | Y |
error | Error code | Int | Y |

6.5.2.PlayerWin
When a game completed and the player win, PlayerWin will send to partner system to adjust the balance of the player. This request will keep trying if partner system no response or respond error.

Name | Description | Type and Limit | Required? |
---|---|---|---|
username | Username of the user | String (28) | Y |
currency | ISO 3 characters e.g. USD | String (16) | Y |
amount | Amount to add back (decimal format and max. 2 decimal places) | Decimal | Y |
txnid | A unique id for all fund transfer | String (16) | Y |
timestamp | Timestamp in yyyy-MM-dd HH:mm:ss.fff (GMT +8) E.g. 2020-03-22 12:34:56.123 | DateTime | Y |
gametype | Game type slot - Slot Game table - Table Game multiplayer - Fishing Game | String | Y |
hostid | Host ID, please refer to Section 11 | Int | Y |
gamecode | Game code of the game | String | Y |
Payouttime | Time of the payout | DateTime | Y |
gameid | Game ID | String | Y |
JackpotWin | Jackpot win status (true/false) true - when the win amount is generated from Jackpot false - when the win amount is NOT generated from Jackpot | Boolean | N |
JackpotType | If JackpotWin = true, the possible values in JackpotType will be: “Major”, “Minor”, “Mini” If JackpotWin = false, there wil be no value in JackpotType | String | N |
Name | Description | Type and Limit | Required? |
---|---|---|---|
username | Username of the user | String (28) | Y |
currency | ISO 3 characters e.g. USD. Except mXBT | String (16) | Y |
amount | Amount after adjustment (decimal format and max. 2 decimal places) | Decimal | Y |
error | Error code | Int | Y |
6.5.3.PlayerLost
When a game completed and the player lost. (no winning amount,) PlayerLost will be sent to the partner system. Since it is a loss so there is no amount parameter in the request. This request will keep trying if the partner system no response or responding error.
Parameters:Name | Description | Type and Limit | Required? |
---|---|---|---|
username | Username of the user | String (28) | Y |
currency | ISO 3 characters e.g. USD | String (3) | Y |
txnid | A unique id for all fund transfer | String (16) | Y |
timestamp | Timestamp in yyyy-MM-dd HH:mm:ss.fff (GMT +8) E.g. 2020-03-22 12:34:56.123 | DateTime | Y |
gametype | Game type slot - Slot Game table - Table Game multiplayer - Fishing Game | String | Y |
hostid | Host ID, please refer to Section 11 | Int | Y |
gamecode | Game code of the game | String | Y |
Payouttime | Time of the payout | DateTime | Y |
gameid | Game ID | String | Y |
Name | Description | Type and Limit | Required? |
---|---|---|---|
username | Username of the user | String (28) | Y |
currency | ISO 3 characters e.g. USD. Except mXBT | String (16) | Y |
amount | Amount after adjustment (decimal format and max. 2 decimal places) | Decimal | Y |
error | Error code | Int | Y |
6.5.4.PlaceBetCancel
If a PlaceBet request timeout or partner system responded an error, a PlaceBetCancel request will send to partner system. The SimplePlay platform will treat it as bet failed and report to the player that his bet has been failed. Partner system must handle this request once and only once and must respond to our platform. In case you cannot find the previous transaction by the txn_reverse_id, you have to send us error = 0, else we will keep sending this request.
Parameters:Name | Description | Type and Limit | Required? |
---|---|---|---|
username | Username of the user | String (28) | Y |
currency | ISO 3 characters e.g. USD | String (16) | Y |
amount | Amount to add back (decimal format and max. 2 decimal places) | Decimal | Y |
txnid | A unique id for all fund transfer | String (16) | Y |
timestamp | Timestamp in yyyy-MM-dd HH:mm:ss.fff (GMT +8) E.g. 2020-03-22 12:34:56.123 | DateTime | Y |
gametype | Game type slot - Slot Game table - Table Game multiplayer - Fishing Game | String | Y |
hostid | Host ID, please refer to Section 11 | Int | Y |
gamecode | Game code of the game | String | Y |
gameid | Game ID | String | Y |
txn_reverse_id | Previous txnid in PlaceBet request which the response was not received within 3 seconds or responded with an error. | String (16) | Y |
Name | Description | Type and Limit | Required? |
---|---|---|---|
username | Username of the user | String (28) | Y |
currency | ISO 3 characters e.g. USD. Except mXBT | String (16) | Y |
amount | Amount after adjustment (decimal format and max. 2 decimal places) | Decimal | Y |
error | Error code | Int | Y |

6.6.Important notice
It is important that you must take care of the following situations and make sure you can process the PlayerWin / PlayerLost correctly.
Slot Game
PlaceBet and PlayerWin / PlayerLost are paired.
Table Game
There is only 1 PlayerWin / PlayerLost for each player in the same game, no matter how many bets the player has placed.
Fishing Game
In case a player played a round of the fishing game with free bullets remain and logged out. When the player logs into the fishing game later and shoots some bullet, no matter he won or not, if he logged out without transferring fund, a
6.7.Error code list
Partner system should report to our platform with the following error codes:
ID | Description |
---|---|
0 | Success |
1000 | User account doesn’t exist |
1001 | Invalid currency |
1002 | Invalid amount |
1003 | Locked account |
1004 | Insufficient balance |
1005 | General error |
1006 | Decryption error |
1007 | Session expired error |
9999 | System error |
7.Error message code reference
Common error message code
ID | Description |
---|---|
100 | Username error |
101 | Account locked |
102 | Secret key incorrect |
104 | Service not available |
105 | Client side error |
106 | Server busy. Try again later. |
107 | Username empty |
108 | Username length/format incorrect |
110 | User not online |
111 | Query time range out of limitation |
112 | API recently called |
113 | Username duplicated |
114 | Currency not exist |
116 | Username does not exist |
120 | Amount must greater than zero |
121 | Not enough points to credit/debit/bet |
122 | Order ID already exists |
125 | Kick user fail |
127 | Invalid order ID format |
128 | Decryption error |
129 | System under maintenance |
130 | User account is locked (disabled) |
132 | Sign unmatch |
133 | Create user failed |
134 | Game code not found |
135 | Game access denied |
136 | Not enough point to bet |
142 | Parameter(s) error |
144 | Query type invalid |
145 | Parameter decimal point greater than 2 |
146 | API access denied |
148 | MaxBalance not zero or smaller than user balance |
149 | Input amount under minimum value |
150 | Function has been deprecated |
151 | Duplicate login |
152 | Game id not existing |
153 | Bet ID not existing |
8.Game Launching Procedures
8.1.Game Lobby
You may use the GameURL returned from LoginRequest or LoginRequestForFun to enter the game lobby. The following are all parameters used. You are free to append extra parameters to have your needs.
Parameter | Description | Type | Preset? |
---|---|---|---|
token | Token | String | Y |
name | DisplayName or you can specify | String | Y |
mobile | HTML mobile mode | Bool (true/false) | Y |
lobbycode | Lobby code | String | Y |
returnurl | The URL will be invoked when the slot game logged out (optional) | String | N |
webview | Used when launching SimplePlay in operator's native application Webview. | Bool (1/0) | N |
8.2.Slot Game
You may use the GameURL returned from LoginRequest or LoginRequestForFun directly to launch the slot game. The following are all parameters used. You are free to append extra parameters to have your needs.
Parameter | Description | Type | Preset? |
---|---|---|---|
token | Token | String | Y |
name | DisplayName or you can specify | String | Y |
mobile | HTML mobile mode | Bool (true/false) | Y |
lobbycode | Lobby code | String | Y |
returnurl | The URL will be invoked when the slot game logged out (optional & for mobile only) | String | N |
webview | Used when launching SimplePlay in operator's native application Webview. | Bool (1/0) | N |
skipintro | To skip the introduction video of some slot games (optional) 1 - skip | Bool (1/0) | N |
8.3.Table Game
You may use the GameURL returned from LoginRequest or LoginRequestForFun directly to launch the table game. The following are all parameters used.
Parameter | Description | Type | Preset? |
---|---|---|---|
token | Token | String | Y |
lobbycode | Lobby code | String | Y |
returnurl | The URL will be invoked when the game logged out (optional) | String | N |
8.4.Fishing Game
The returned GameURL has been constructed to use directly, however, you may append returnurl=https://www.yourdomain.com/somewhere parameter the same as Slot Game. Moreover, you can control the displayed username in the fishing game client by adding un=your_username, it will override the actual username in our system.
Parameter | Description | Type |
---|---|---|
returnurl | The URL will be invoked when the Fishermen Gold logout (optional & for mobile only) | String |
un | To override the displayed username come from system (optional) | String |
9.Slot Game ID/Game Code to Game mapping
Game | Game code | Game name |
---|---|---|
Slot Game | Please refer to this page for details. | - |
Table Game | EG-BACC-LOBBY | Baccarat |
Table Game | EG-COSB-LOBBY | Color SicBo |
Table Game | EG-SKSK-LOBBY | Shake Shake |
Table Game | EG-PUPU-LOBBY | Pula-Puti |
Fishing Game | EG-FISHING-001 | Fishermen Gold |
Fishing Game | EG-FISHING-002 | Lustrous Ocean |
10.Table Game Data
10.1.Baccarat
10.1.1.GameResult of Baccarat
Name | Description | Type |
---|---|---|
PlayerCard1 | CardDetail | Structure |
PlayerCard2 | CardDetail | Structure |
PlayerCard3 | CardDetail (may not exist) | Structure |
BankerCard1 | CardDetail | Structure |
BankerCard2 | CardDetail | Structure |
BankerCard3 | CardDetail (may not exist) | Structure |
ResultDetail | Details of the result | Structure |
10.1.2.CardDetail of Baccarat
Name | Description | Type |
---|---|---|
Suit | ♠ = 1 ♥ = 2 ♣ = 3 ♦ = 4 | Byte |
Rank | A = 1 2 = 2 … 10 = 10 J = 11 Q = 12 K = 13 | Byte |
10.1.3.BetType for Baccarat
ID | Description |
---|---|
0 | Tie |
1 | Player |
2 | Banker |
3 | Player Pair |
4 | Banker Pair |
25 | NC. Tie |
26 | NC. Player |
27 | NC. Banker |
28 | NC. Player Pair |
29 | NC. Banker Pair |
53 | NC. Lucky Six |
54 | Lucky Six |
10.1.4.ResultDetail for Baccarat
Name | Description | Type and Limit |
---|---|---|
BRTie | Tie | Bool |
BRPlayerWin | Player | Bool |
BRBankerWin | Banker | Bool |
BRPlayerPair | Player Pair | Bool |
BRBankerPair | Banker Pair | Bool |
BRSLuckySix | Lucky Six | Bool |
10.2.Color SicBo
10.2.1.GameResult of Color SicBo
Name | Description | Type |
---|---|---|
Dice1 | 1 = Red 2 = Yellow 3 = Blue 4 = Green 5 = Pink 6 = White | Int |
Dice2 | 1 = Red 2 = Yellow 3 = Blue 4 = Green 5 = Pink 6 = White | Int |
Dice3 | 1 = Red 2 = Yellow 3 = Blue 4 = Green 5 = Pink 6 = White | Int |
10.2.2.BetType for Color SicBo
ID | Description |
---|---|
1 | Red |
2 | Yellow |
3 | Blue |
4 | Green |
5 | Pink |
6 | White |
10.3.Shake Shake
10.3.1.GameResult of Shake Shake
Name | Description | Type |
---|---|---|
Dice1 | Dice 1 | Int |
Dice2 | Dice 2 | Int |
TotalPoint | Total points of two dice | Int |
ResultDetail | Details of the result | Structure |
10.3.2.BetType for Shake Shake
ID | Description |
---|---|
0 | 4/5/9/10 |
1 | 6/7/8 |
2 | 2/3/11/12 |
10.3.3.ResultDetail for Shake Shake
Name | Description | Type |
---|---|---|
SSR_4_5_9_10 | 4/5/9/10 | Bool |
SSR_6_7_8 | 6/7/8 | Bool |
SSR_2_3_11_12 | 2/3/11/12 | Bool |
10.4.Pula-Puti
10.4.1.GameResult of Pula-Puti
Name | Description | Type |
---|---|---|
Ball1 | 0 = Special 1 = Red 2 = White | Int |
Ball2 | 0 = Special 1 = Red 2 = White | Int |
Ball3 | 0 = Special 1 = Red 2 = White | Int |
10.4.2.BetType for Pula-Puti
ID | Description |
---|---|
0 | Red x 2 |
1 | Red x 3 |
2 | White x 2 |
3 | White x 3 |
4 | Special x 1 |
5 | Special x 1, Red x 1, White x 1 |
10.4.3.ResultDetail for Pula-Puti
Name | Description | Type |
---|---|---|
PPRRedRed | Red x 2 | Bool |
PPRRedRedRed | Red x 3 | Bool |
PPRWhiteWhite | White x 2 | Bool |
PPRWhiteWhiteWhite | White x 3 | Bool |
PPRSpecial | Special x 1 | Bool |
PPRSpecialRedWhite | Special x 1, Red x 1, White x 1 | Bool |
11.Host ID to Game mapping
ID | Game |
---|---|
1001 | Baccarat Casual - C01 |
1002 | Baccarat Casual - C02 |
1003 | Baccarat Casual - C03 |
1004 | Baccarat Casual - C04 |
1005 | Baccarat Casual - C05 |
1011 | Baccarat Casual - S01 |
1021 | Baccarat Casual - N01 |
1022 | Baccarat Casual - N02 |
1023 | Baccarat Casual - N03 |
1024 | Baccarat Casual - N04 |
1025 | Baccarat Casual - N05 |
1031 | Baccarat Casual - NS01 |
1101 | Baccarat Novice - C01 |
1102 | Baccarat Novice - C02 |
1103 | Baccarat Novice - C03 |
1111 | Baccarat Novice - S01 |
1121 | Baccarat Novice - N01 |
1122 | Baccarat Novice - N02 |
1123 | Baccarat Novice - N03 |
1131 | Baccarat Novice - NS01 |
1201 | Baccarat Advance - C01 |
1202 | Baccarat Advance - C02 |
1211 | Baccarat Advance - S01 |
1221 | Baccarat Advance - N01 |
1222 | Baccarat Advance - N02 |
1231 | Baccarat Advance - NS01 |
2001 | Color SicBo Casual |
2101 | Color SicBo Novice |
2201 | Color SicBo Advance |
3001 | Shake Shake Casual |
3101 | Shake Shake Novice |
3201 | Shake Shake Advance |
4001 | Pula-Puti Casual |
4101 | Pula-Puti Novice |
4201 | Pula-Puti Advance |
12.Supported currencies
The following is the list of currencies we supported. Please notice that currency has to be enabled in your api account before you can use it, you may contact our CS for queries.
Currency ISO Name (1:1) | Currency |
---|---|
AED | Emirati Dirham |
AMD | Armenian Dram |
ARS | Argentina Peso |
AUD | Australian Dollar |
BDT | Bangladeshi Taka |
BND | Bruneian Dollar |
BRL | Brazilian Real |
CAD | Canadian Dollar |
CHF | Swiss Franc |
CLP | Chilean Peso |
DKK | Danish Krone |
EUR | Euro |
GBP | British Pound |
GHS | Ghanaian Cedi |
HUF | Hungarian Forint |
ILS | Israeli Shekel |
INR | Indian Rupee |
JPY | Japanese yen |
KZT | Kazakhstan Tenge |
LKR | Sri Lankan Rupee |
mXBT | milli Bitcoin |
MYR | Malaysian Ringgit |
NOK | Norwegian Krone |
NZD | New Zealand Dollar |
PEN | Peruvian Nuevo Sol |
PHP | Philippine peso |
PLN | Polish Zloty |
RUB | Russian Ruble |
SEK | Swedish Krone |
SGD | Singapore Dollar |
THB | Thai Baht |
TND | Tunisian Dinar |
TRY | Turkish Lira |
TWD | Taiwan New Dollar |
UAH | Ukrainian Hryvnia |
USD | US Dollar |
USDT | Tether |
uXBT | Micro-Bitcoin |
VES | Venezuelan Bolivar Soberano |
ZAR | South Africa Rand |
Special Currency Code (1:1) | Currency |
---|---|
IDR2 | Indonesian Rupiah |
LAK2 | Laotian Kip |
MMK2 | Burmese Kyat |
VND2 | Vietnamese Dong |
Currency ISO Name (1:1000) | Currency |
---|---|
IDR | Indonesian Rupiah |
KHR | Cambodian Riel |
LAK | Laotian Kip |
MMK | Burmese Kyat |
VND | Vietnamese Dong |