PGS/BWG/ION-Slot
API Document
Transfer mode
Index
Revision History 3
Notice for Operator 4
Operator must provide the below information first 4
Limit of develop(Staging) environment 4
API Integration 5
API General Rules 5
Currency and Merchant 7
Only one currency in develop(Staging) environment 9
Common Parameters and Terms 10
API List 11
API Spec Document link (Detail) 11
2.1.1 Get game launch url 11
2.2.1 Check player exist 11
2.2.2 Create player account 11
2.4.1 Get player wallet 11
2.4.2 Wallet transfer from platform to gameWallet 11
2.4.3 Wallet transfer from gameWallet to platform 11
2.4.4 Query transfer record 11
3.1.1 Get bet records 11
3.1.3 Get merchant statistic report 12
3.3.1 Get replay/screenShot history 12
4.6.1 Get game list 12
4.8.1 Get promotion event prize records 12
4.9.9 Force logout player 12
Parameter rules 13
amount (transfer amount): 13
Special case description (game) 14
Prepaid mode games (e.g. Fishing game) 14
Valid Amount/Flow Amount / Turnover (Live casino) 14
Appendix.Codes 15
Enum code reference document link: 15
Game ID: 15
Common Error Code: 15
Revision History
Version Date Author Description
1.0.0 2018-11-12 RD Initial
1.0.1 2018-11-25 RD Adjust parameters in 2.2.1
1.0.2 2019-01-22 RD Add a new API in 2.4.3 for query transfer record
1.0.3 2020-06-30 RD Adjust 2.1.1 API url
1.0.4 2020-07-03 RD Fix 2.1.1 create game url、2.6.2 API for game list
1.0.5 2020-07-16 RD Add 3 columns to 2.5.1 Bet Record API
1.0.6 2020-07-16 RD Add support currency
1.0.7 2021-03-26 RD fix 2.5.1 API miss column’s information.
1.0.8 2021-04-11 RD add cash and point convert description.
1.0.9 2021-04-23 RD get api spec description from external link.
1.0.10 2021-08-25 RD adjust prepaid-mode description
1.0.11 2021-09-09 RD add API 4.8.1 get prize records
1.1.1 2022-08-16 RD add description about valid-amount of live casino games.
1.1.3 2023-09-14 RD add remark information
1.1.4 2024-03-06 RD add new API (3.3.1,4.9.9)
1.1.5 2024-05-02 RD add description and note for currency
1.1.6 2024-05-21 RD add Currency extra description、adjust link url
1.1.7 2025-02-13 RD remove useless information (discard in old version)
开发人员备注: 文件版本若调整。请一并更新档案名称
Notice for Operator
Operator must provide the below information first
○ Environment (Staging / Production)
○ Platform name (branding name)
○ Currency
○ Wallet mode
○ Operator server IP (we need to add whitelist)
Limit of develop(Staging) environment
Only one currency in develop(Staging) environment, please refer to the link in the
document.
API Integration
API General Rules
● Spec & Standard
○ Basically follow the standard rules of REST API
○ ContentType: application/json
○ Encoding: UTF-8
○ json format
● Data Format
○ Amount Column (etc. betAmount)
■ two decimal places. (float)
○ Time
■ Time zone is UTC (+0)
■ Text format in ISO8601 (yyyy-MM-ddTHH:mm:ssZ)
● API response language
○ API’s default response language is English (en-us) , including the following content.
■ api response text / error messages.
■ the game name in API 4.6.1
■ others
○ If the operator needs another language . please add the parameters in http request
header.
■ locale : en-us
● only support zh-cn、en-us
● Security Settings (Firewall)
○ Operator’s IP have to be add into our whitelist for accessing APIs.
○ The maximum of each Operator’s IP whitelist is 10.
● Response Code(api)
○ StatusCode
■ 200 (Success)
■ 400 (Logic or validation error)
○ HttpMethod
■ GET、POST、PUT
■ If using GET, the parameters should be put in queryString
■ If using POST, the parameters should be put in requestBody (json)
{
"merchantID" : "{{MerchantID}}" ,
"merchantSecretKey" : "{{MerchantSecretKey}}" ,
"playerName" : "test_user_001"
}
○ Return Format
■ statusCode are in 200、400、500
■ there are two formats as described below
■ Return Format (200)
{
code : 0 ,
message : null,
data : {
"amount" : 500.00
}
}
■ Return Format (400)
■ Code: System Error Code,Please reference #Common Error Code
{
code : 400001 ,
message : “亲,您所填写的参数有缺少或参数格式不正确”,
data : null
}
Currency and Merchant
Currency support or not
Some currencies are not supported at all due to policy reasons (e.g. CNY). We recommended that
operator confirm with us first. Some currencies(and game-server) may not be ready yet due to no-
customers apply . If operator needs some currency, you can ask our company to apply.
1:1000 Currency
For example KVND (VND 1:1000), KIDR (IDR 1:1000).
Operator needs to convert the currency by itself. Our system will not automatic conversion on the
game side. For example, if the platform currency is VND 1:1. And the merchant we provide is
configured as KVND (1000:1) currency. Operator need handles the 1000:1 conversion when
transferring money. If the platform cannot handle this mechanism. We recommend that you apply
for a merchant with 1:1 currency instead.
Backoffice/API data display
The data (betAmount, payoutAmount , etc…) in the backoffice and API will be displayed in the
numerical value of the set currency. For example,
If merchant currency is IDR, all the value will display as IDR 1:1 amount value.
If merchant currency is KIDR (IDR 1000:1), all the value will display as IDR 1000:1 amount value.
If merchant currency is MYR100 (MYR 1:100), all the value will display as MYR 1:100 amount value.
Please make sure to confirm which currency your merchant is configured to.
Only one currency in develop(Staging) environment
When operator start api-integration and test, we usually provide the develop-environment api-key
first. There are some limit in develop environment.
● the currency is fixed. (only one currency in develop environment)
● the min bet / max bet is fixed.
● if the operator needs to validate min bet / max bet is suit. Please validate it in production
environment.
Merchant’s Currency
In our system(Game Provider) , currency is defined in our merchant config , and one merchant
account supports one currency only. If your platform requires multiple currencies. Please contact us
to apply for multiple merchant accounts.
For example, If your system needs USD/IDR/THB currencies. We will provide you 3 set merchant
accounts like this.
MerchantName MerchantID MerchantSecret
test_USD 175001 ABCDEFGHIJK001
test_IDR 175002 ABCDEFGHIJK002
test_THB 175003 ABCDEFGHIJK003
The player's currency in the game will be determined based on the merchant used when launch the game.
Common Parameters and Terms
API Common Parameter:
Name Description
merchantID Each Operator have an ID (provides in advance)
merchantSecretKey Each Operator have a secret key (provides in advance)
All APIs share the same secret key
Other Terms:
Name Description
Operator Operator
Whitelist A list of IPs that allow accessing APIs
API List
API Spec Document link (Detail)
For more detail about the api spec (parameter & description), please reference the below link.
Some APIs have access restrictions. make sure to read the API description.
Description Document link
English http://document.dev.dd99.site/api-document/transfer/EN
简体中文 http://document.dev.dd99.site/api-document/transfer/CN
List of APIs
for api parameters and detail, refer the above link↑
API name method api url
GET /game/link
2.1.1 Get game launch url
GET /player/exist
2.2.1 Check player exist
POST /player
2.2.2 Create player account account format rules
GET /wallet/amount
2.4.1 Get player wallet
POST /wallet/transfer-in
2.4.2 Wallet transfer from platform to gameWallet amount rules
POST /wallet/transfer-out
2.4.3 Wallet transfer from gameWallet to platform amount rules
GET /transfer
2.4.4 Query transfer record
GET /game-records
3.1.1 Get bet records
GET /game-records/report
3.1.3 Get merchant statistic report
GET /game-records/screenshot-hi
3.3.1 Get replay/screenShot history story/link
GET /games
4.6.1 Get game list
GET /event/prize-records
4.8.1 Get promotion event prize records
POST /player/logout
4.9.9 Force logout player
Parameter rules
valid-rule
PlayerName/PlayerUniqueID:
only alphabets, number, dash(-) and underline(_) are allowed
min length: 4 , max length: 36
amount (transfer amount):
Minimum 0.1.,Support second decimal places .
Special case description (game)
Prepaid mode games (e.g. Fishing game)
We choose prepaid mode for parts of games (transfer all credits from player's wallet to game
when he enter the game,until he quit it then we return it to his wallet.) ,because fishing game
has high immediate requirement of credit transfering. And the saving ways of below fields
will not be the same as slots game and poker games at betting records (settlement API,
betRecord API), If Operator have rebate bonus for betting, please noted it.
To check which games is prepaid-mode. please use API 4.6.1 Get game list , isPrePaidMode
column.
Column Description
betAmount debit amount (all of balance) when enter the game room.
payoutAmount deposit amount when exit the game room.
validAmount consume amount in the game room.
Valid Amount/Flow Amount / Turnover (Live casino)
For live casino game, we use win/lose amount as the validAmount(flowAmount). If there are
any suspicious bet by players (e.g. hedge betting). the validAmount will be zero. in addition,
if player betting multiple times in a single round. The validAmount may divide equally to each
records. (Live casino game calculate valid amount by round-base)
#Sample: Player betting three times in a single round. totalFlowAmount = 600。Our system
will distribute average-amount (200) to each records.
#Note: If specific parameters. The 3-1 game-records API will provide the roundID and
totalFlowAmount of round (for liveCasino games).
Appendix.Codes
code number
Enum code reference document link:
Please refer the document link below to see enum defined in the system .
說明 網址
English http://document.dev.dd99.site/document/enums/en
中文 http://document.dev.dd99.site/document/enums/cn
Game ID:
Operator can get available game list by accessing API 4.6.1, System will add new games from time to
time. This document may not be updated in time. If operator need the logo or icon for the games,
please contact us.
ID Description
290030 LittleWitch (星月魔女)
290088 Apollo (阿波羅)
... For more gameID, please use API 4.6.1
Common Error Code:
Error Code Possible Causes
403001~403099 Invalid Parameter
404001~404099 No data
403601 Invalid Status,
500001 System Error
500029 Duplicated key value or data
http status = 415 Unsupported Media Type
Please check if you have Content-Type application/json in
the request