PGSoft Integration Document External v1.12
PGSoft Integration Document External v1.12
Integration
Document
External API v1.12
Pocket Games Software
www.pgsoft.com
Contents
Contents .................................................................................................................................................. 1
Revision History ...................................................................................................................................... 4
1. Overview ................................................................................................................................... 13
2. API Methods.............................................................................................................................. 14
2.1 API Formats ........................................................................................................................... 14
2.1.1 Request ..................................................................................................................... 14
2.1.2 Response ................................................................................................................... 14
2.1.3 Hash Authentication (Optional) ................................................................................ 15
2.2 Free Game [Latest version: v1] ............................................................................................. 18
2.2.1 Get Free Games List .................................................................................................. 18
2.2.2 Get List of Free Game Converted to Bonus Game/Cash ........................................... 23
2.2.3 Get List of Free Games that have Converted to Bonus Game then Cash ................. 25
2.2.4 Get Free Game Players List ....................................................................................... 28
2.2.5 Get List of Unregistered Players in Free Game ......................................................... 32
2.2.6 Get All Player Details for Free Game......................................................................... 35
2.2.7 Get Single Player Details in Free Game ..................................................................... 39
2.2.8 Create Free Game ..................................................................................................... 42
2.2.9 Create Free Game by Bet Amount ............................................................................ 45
2.2.10 Transfer Player to Standard Free Game.................................................................... 48
2.2.11 Transfer Player to Flexible Free Game ...................................................................... 50
2.2.12 Cancel Free Game ..................................................................................................... 53
2.2.13 Cancel Free Game of a Player ................................................................................... 54
2.2.14 Cancel Free Game of an Unregistered Player ........................................................... 56
2.2.15 Cancel All Free Games of a Player ............................................................................. 57
2.2.16 Get Free Game Player Summary ............................................................................... 58
2.3 Bonus [Latest version: v1] ..................................................................................................... 61
2.3.1 Get Bonus Game List ................................................................................................. 61
2.3.2 Get List of Bonus Games Converted to Cash ............................................................ 65
2.3.3 Get Bonus Game Players List .................................................................................... 68
2.3.4 Get List of Unregistered Players of Bonus Game ...................................................... 71
2.3.5 Get All Player Details in Bonus Game ....................................................................... 74
2.3.6 Get Single Player Details in Bonus Game .................................................................. 77
2.3.7 Create Bonus Game .................................................................................................. 80
PG SOFT™ 1
Pocket Games Software
www.pgsoft.com
PG SOFT™ 2
Pocket Games Software
www.pgsoft.com
PG SOFT™ 3
Pocket Games Software
www.pgsoft.com
Revision History
Version Date Description
1.0 2019-04-03 First draft
Added new content
• 2.1.5 Get Free Game Unregistered Players
• 2.1.12 Cancel All Free Games of Player
• 2.2.4 Get Bonus Unregistered Players
• 2.2.11 Cancel All Bonus of Player
• 2.4.6 Get Hands Summary
Amended Overview
Amended API request parameter
• 2.1.6 Create Free Game
• 2.1.11 Cancel Unregistered Player Free Game
1.1 2019-04-12 • 2.2.5 Create Bonus
• 2.2.10 Cancel Unregistered Player Bonus
Amended API description
• 2 API Methods
• 2.1.2 Get List of Free Game Converted to Bonus
• 2.1.3 Get List of Free Game’s Bonus Converted to Cash
• 2.1.10 Cancel Registered Player Free Game
• 2.1.11 Cancel Unregistered Player Free Game
• 2.2.2 Get List of Bonus Converted to Cash
• 2.2.9 Cancel Registered Player Bonus
• 2.2.10 Cancel Unregistered Player Bonus
1.2 2019-04-15 Added notes for all bet history APIs (2.4)
Added new contents
• 2.1.6 Get Free Game All Players
• 2.1.7 Get Player Free Games
• 2.2.5 Get Bonus All Players
• 2.2.6 Get Player Bonus
Amended API descriptions & request descriptions
• 2.1.4 Get Free Game Players
1.3 2019-04-17
• 2.1.5 Get Free Game Unregistered Players
• 2.2.3 Get Bonus Players
• 2.1.5 Get Bonus Unregistered Players
• 2.4.6 Get Hands Summary
• 2.5.1 Get Game List
Amended API request
• 2.1.5 Get Free Game Unregistered Players
PG SOFT™ 4
Pocket Games Software
www.pgsoft.com
PG SOFT™ 5
Pocket Games Software
www.pgsoft.com
PG SOFT™ 6
Pocket Games Software
www.pgsoft.com
PG SOFT™ 7
Pocket Games Software
www.pgsoft.com
PG SOFT™ 8
Pocket Games Software
www.pgsoft.com
PG SOFT™ 9
Pocket Games Software
www.pgsoft.com
PG SOFT™ 10
Pocket Games Software
www.pgsoft.com
PG SOFT™ 11
Pocket Games Software
www.pgsoft.com
PG SOFT™ 12
Pocket Games Software
www.pgsoft.com
1. Overview
The External API allows you to programmatically access PGSoft’s tools and services. You can use these
APIs to retrieve information, create, modify, or cancel various PG services such as free games, bonus
games, tournament and more.
PGSoft APIs are divided by services. Each of these services has its own section in this documentation.
All APIs in this documentation are optional, operator may choose to integrate API based on
requirements.
PG SOFT™ 13
Pocket Games Software
www.pgsoft.com
2. API Methods
2.1 API Formats
2.1.1 Request
The external API uses HTTP form methods and a RESTful endpoint structure. You format requests in
the following content type:
Content-Type: application/x-www-form-urlencoded
2.1.2 Response
API returns JSON-formatted responses. For successful and failed API request, operator is required to
return an API response with HTTP status code 200.
API uses global JSON response format for all API methods, with the following content type:
Content-Type: application/json
Parameters:
Parameter name Data type Description
data1 JSON Object Response information for API methods
error2 JSON Object Error information when an error or exception occur
Example:
Successful Response
{
"data": {
[API method response. JSON object format may vary depending on API methods]
},
"error": null,
}
Failed/Error Response
{
"data": null,
"error": {
"code": "[Error code]",
"message": "[Error message]"
}
}
1
This field will show null value in error response
2
This field will show null value in success API response. Please refer to error response section for
error response format
PG SOFT™ 14
Pocket Games Software
www.pgsoft.com
The following table describes the various request headers in the preceding example:
Component Description
API domain
Host
Example:
apiexample.pgsoft.com
Example:
Authorization PWS-HMAC-SHA256
Credential=20190902/OPERATORTOKENEXAMPLE/pws/v1,Sig
nedHeaders=host;x-content-sha256;x-date,Signature=
d78220cf06ae85f9d1db11dad9c3fd926799619eab3d28574aa
db8cf328cd7aa
Example
Host:
apiexample.pgsoft.com
x-date: 20190902
x-content-sha256:
1700116101f424b9f6fc695b4dbaf2b7b0ee763ba1b3b53298e3069143ed46f
1
Authorization: PWS-HMAC-SHA256
Credential=20190902/OPERATORTOKENEXAMPLE/pws/v1,SignedHeaders=
host;x-content-sha256;x-date,Signature=
d78220cf06ae85f9d1db11dad9c3fd926799619eab3d28574aadb8cf328cd7aa
PG SOFT™ 15
Pocket Games Software
www.pgsoft.com
Header: x-content-sha256
Calculate a SHA256 hash of the request string body:
Example
POST body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&count=5000&bet_
type=1&row_version=1346592723000
x-content-sha256:
1700116101f424b9f6fc695b4dbaf2b7b0ee763ba1b3b53298e3069143ed46f1
PG SOFT™ 16
Pocket Games Software
www.pgsoft.com
Header: Authentication
The following table describes the various components of the Authorization header value in
the preceding example:
Component Description
Your access key ID and the scope information which includes the date,
operator token and service that were used to calculate the signature.
This string has the following form:
Credential
{x-date}/{operator_token}/pws/v1
Example:
20190902/OPERATORTOKENEXAMPLE/pws/v1
Signature Example:
d78220cf06ae85f9d1db11dad9c3fd926799619eab3d28574a
adb8cf328cd7aa
hmac-sha256({salt}, {host}{x-content-sha256}{x-date})
Example
Salt : SALTEXAMPLE
Host : apiexample.pgsoft.com
x-date : 20190902
x-content-sha256 :
1700116101f424b9f6fc695b4dbaf2b7b0ee763ba1b3b53298e3069143ed46f1
Signature:
d78220cf06ae85f9d1db11dad9c3fd926799619eab3d28574aadb8cf328cd7aa
PG SOFT™ 17
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/FreeGame/v1/GetFreeGames
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value
as GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft
secret_key String Yes
and operator
page_number Integer Yes Batch number of data return
Number of records for each batch
row_count Integer Yes
Note: Value range 1-5000
Time range of free games’ start times
from_time Long Yes
(Unix time stamp in milliseconds)
Time range of free games’ end times
to_time Long Yes
(Unix time stamp in milliseconds)
Unique identity of free game
free_game_id Integer No
Default: All free games
Currency of free game
currency String No
Default: All currencies of free games
Given name of free game
free_game_name String No
Default: All given name of free games
Transfer type for free game
0: Standard
free_game_transfer_type Integer No
3: Flexible
Default: All transfer types
Type of conversion after free game is
conversion_type Char No completed:
C: Cash
PG SOFT™ 18
Pocket Games Software
www.pgsoft.com
B: Bonus
Default: All conversion types
Status of free game:
0: Inactive
status Integer No 1: Active
2: Expired
Default: All status
Example:
URL:
https://api.pg-bo.me/external/FreeGame/v1/GetFreeGames?trace_id=b3f37e57-2873-
40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&page_number=1&row_count=500&f
rom_time=1346592723000&to_time=1546592723000&free_game_id=12345¤cy=CNY&free_
game_name=freegame2019&free_game_transfer_type=1&conversion_type=C&status=1
Response
Body Parameters:
JSON Object
Parameter name Data type Description
totalCount Integer Total number of records
totalPage Integer Total number of available batches
result JSON Array List of free games
JSON Array
Parameter name Data type Description
operatorToken String Unique identity of operator
freeGameId Integer Unique identity of free game
freeGameName String Given name of free game
transaction_id String Unique identity of transaction
Type of free game:
isEvent Boolean True: Flexible
False: Standard
Integer
gameIds Unique identity of games
Array
Total number of free games that will be given to a
totalGame Integer
single player
currencyCode String Currency of free game
coinSize Decimal Coin size of free game
multiplier Integer Bet multiplier of free game
minimumConversionAmount Decimal The minimum cash conversion amount of free game
maximumConversionAmount Decimal The maximum cash conversion amount of free game
PG SOFT™ 19
Pocket Games Software
www.pgsoft.com
PG SOFT™ 20
Pocket Games Software
www.pgsoft.com
Example:
{
"data": {
"totalCount": 2583,
"totalPage": 259,
"result": [
{
"operatorToken": "abcd",
"freeGameId": 1,
"freeGameName": "free game1",
"transactionId": "12345Test",
"isEvent": false,
"gameIds": [1],
"totalGame": 20,
"currencyCode": "USD",
"coinSize": 0.05,
"multiplier": 2,
"minimumConversionAmount": 1000.00,
"maximumConversionAmount": 1000.00;
"conversionType": "B",
"bonusRatio": 2,
"bonusRatioAmount": 0,
"bonusMinimumConversionAmount": 1000.00,
"bonusMaximumConversionAmount": 1500.00;
"bonusType": 0,
"status": 2,
"freeGameCountGiven": 0,
"numberOfPlayers": 0,
"expiredDate": 1499764521000,
"createdDate": 1498036782000,
"createdBy": "player1",
"updatedBy": "player1",
"isSupressDiscard": true
},
{
"operatorToken": "abcd",
"freeGameId": 2,
"freeGameName": "free game2",
"transactionId": "12345Test2",
"isEvent": false,
"gameIds": [1],
"totalGame": 20,
"currencyCode": "USD",
"coinSize": 0.05,
"multiplier": 2,
"conversionType": "C",
"bonusRatio": 0,
"bonusRatioAmount": 0,
"status": 1,
"freeGameCountGiven": 0,
"numberOfPlayers": 0,
"expiredDate": 1499732101000,
"createdDate": 1498114200000,
"createdBy": "player1",
"updatedBy": "player1",
PG SOFT™ 21
Pocket Games Software
www.pgsoft.com
"isSupressDiscard": true
}
]
},
"error": null
}
PG SOFT™ 22
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/FreeGame/v1/GetFreeGameConvertedWallet
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
page_number Integer Yes Batch number of data return
Number of records for each batch
row_count Integer Yes
Note: Value range 1-5000
free_game_id Integer Yes Unique identity of free game
from_transaction_time Long Yes Time range of free game player’s
transactions
to_transaction_time Long Yes
(Unix time stamp in milliseconds)
No Unique identity of player
player_name String Note: Fuzzy matching is implemented
Default: All players
Example:
URL:
https://api.pg-
bo.me/external/FreeGame/v1/GetFreeGameConvertedWallet?trace_id=b3f37e57-2873-40b1-
aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&page_number=1&row_count=500&f
ree_game_id=12345&player_name=player1&from_transaction_time=1346592723000&to_trans
action_time=1346592723000
PG SOFT™ 23
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Object
Parameter name Data type Description
Total amount that has been converted to cash in
totalConvertedAmount Decimal
free game
totalCount Integer Total number of records
totalPage Integer Total number of available batches
result JSON Array List of free games
JSON Array
Parameter name Data type Description
balanceId Integer Unique identity of player’s free game wallet
playerName String Unique identity of player
currencyCode String Currency of player
gameId Integer Unique identity of game
transactionAmount Decimal Converted amount of player
transactionDateTime Long Time of conversion
Example:
{
"data": {
"totalConvertedAmount": 10,
"totalCount": 1,
"totalPage": 1,
"result": [
{
"balanceId": 13787,
"playerName": "qa18",
"currencyCode": "CNY",
"gameId": 8,
"transactionAmount": 10,
"transactionDateTime": 1547449915000
}
],
[
{
"balanceId": 13788,
"playerName": "qa18",
"currencyCode": "CNY",
"gameId": 8,
"transactionAmount": 10,
"transactionDateTime": 1547449915100
}
]
},
"error": null
}
PG SOFT™ 24
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/FreeGame/v1/GetFreeGameBonusConvertedWallet
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
page_number Integer Yes Batch number of data return
Number of records for each batch
row_count Integer Yes
Note: Value range 1-5000
free_game_id Integer Yes Unique identity of free game
from_transaction_time Long Yes Time range of free game player’s
transactions
to_transaction_time Long Yes (Unix time stamp in milliseconds)
Unique identity of player
player_name String No Note: Fuzzy matching is implemented
Default: All players
PG SOFT™ 25
Pocket Games Software
www.pgsoft.com
Example:
URL:
https://api.pg-
bo.me/external/FreeGame/v1/GetFreeGameBonusConvertedWallet?trace_id=b3f37e57-2873-
40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&page_number=1&row_count=500&f
ree_game_id=12345&player_name=player1&from_transaction_time=1346592723000&to_trans
action_time=1346592723000
Response
Body Parameters:
JSON Object
Parameter name Data type Description
Total amount that has been converted to cash in
totalConvertedAmount Decimal
free game
totalCount Integer Total number of records
totalPage Integer Total number of available batches
result JSON Array List of free game players’ details
JSON Array
Parameter name Data type Description
balanceId Integer Unique identity of player’s free game wallet
playerName String Unique identity of player
currencyCode String Currency of player
gameId Integer Unique identity of game
transactionAmount Decimal Amount converted of player
Time of convert
transactionDateTime Long
(Unix time stamp in milliseconds)
PG SOFT™ 26
Pocket Games Software
www.pgsoft.com
Example:
{
"data": {
"totalConvertedAmount": 20,
"totalCount": 2,
"totalPage": 1,
"result": [
{
"balanceId": 13787,
"playerName": "qa18",
"currencyCode": "CNY",
"gameId": 8,
"transactionAmount": 10,
"transactionDateTime": 1547449915000
}
],
[
{
"balanceId": 13788,
"playerName": "qa18",
"currencyCode": "CNY",
"gameId": 8,
"transactionAmount": 10,
"transactionDateTime": 1547449915100
}
]
},
"error": null
}
PG SOFT™ 27
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/FreeGame/v1/GetFreeGamePlayers
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
page_number Integer Yes Batch number of data return
Number of records for each batch
row_count Integer Yes
Note: Value range 1-5000
free_game_id Integer Yes Unique identity of free game
from_time Long Yes Time range of free games’ start times
to_time Long Yes (Unix time stamp in milliseconds)
Unique identity of free game player
player_name String No Note: Fuzzy matching is implemented
Default: All players
Status of free game wallet:
0: Inactive (Cancelled)
1: Active
2: Expired
3: Converted
status Integer No
4: Completed
5: New
6: User Cancelled
8: Pending
Default: All status
PG SOFT™ 28
Pocket Games Software
www.pgsoft.com
Example:
URL:
https://api.pg-bo.me/external/FreeGame/v1/GetFreeGamePlayers?trace_id=b3f37e57-
2873-40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&page_number=1&row_count=500&p
layer_name=player1&from_time=1346592723000&to_time=1546592723000&free_game_id=1234
5&status=1
Response
Body Parameters:
JSON Object
Parameter name Data type Description
totalCount Integer Total number of records
totalPage Integer Total number of available batches
result JSON Array List of players in a free game
JSON Array
Parameter name Data type Description
balanceId Integer Unique identity of player’s free game wallet
playerId Integer Unique identity of player in free game
playerName String Unique identity of player in free game
Type of player wallet in free game:
walletType String G: Free Game
B: Bonus
balanceAmount Decimal Player balance of free game
Wagering requirement for bonus game.
Refers to the total amount that need to be
bonusRatioAmount Decimal
completed after the amount won in free game has
been transferred to the bonus wallet
bonusMaximumConversion
Decimal Maximum conversion amount for free game’s bonus
Amount
freeGameMaximumConver
Decimal Maximum conversion amount for free game
sionAmount
freeGameCount Integer The player’s number of free games
Status of free game wallet:
0: Inactive (Cancelled)
1: Active
2: Expired
status Integer
3: Converted
4: Completed
5: New
6: User Cancelled
PG SOFT™ 29
Pocket Games Software
www.pgsoft.com
8: Pending
Expiry date of free game
expiredDate Long
(Unix time stamp in milliseconds)
createdBy String API or BackOffice user who created the free game
updatedBy String API or BackOffice user who updated the free game
Date of when a player is registered or re-registered
updatedDate Long into the free game
(Unix time stamp in milliseconds)
Date of when a player is registered into the free
createdDate Long game
(Unix time stamp in milliseconds)
PG SOFT™ 30
Pocket Games Software
www.pgsoft.com
Example:
{
"data": {
"totalCount": 2583,
"totalPage": 259,
"result": [
{
"balanceId": 111261,
"playerId": 7443,
"playerName": "player1",
"walletType": "B",
"balanceAmount": 874.4,
"bonusRatioAmount": 874.4,
"bonusMaximumConversionAmount": 0,
"freeGameMaximumConversionAmount": 0,
"expiredDate": 1546991999000,
"status": 2,
"createdBy": "operator",
"updatedBy": "operator",
"createdDate": 1546923615000,
"updatedDate": 1546991999000
},
{
"balanceId": 111252,
"playerId": 7443,
"playerName": "player2",
"walletType": "G",
"balanceAmount": 8.8,
"bonusMaximumConversionAmount": 0,
"freeGameMaximumConversionAmount": 0,
"freeGameCount": 6,
"expiredDate": 1546991999000,
"status": 6,
"createdBy": "operator",
"updatedBy": "operator",
"createdDate": 1546918715000,
"updatedDate": 1547028195000
}
]
},
"error": null
}
PG SOFT™ 31
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/FreeGame/v1/GetFreeGamePendingPlayers
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value
as GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft
secret_key String Yes
and operator
page_number Integer Yes Batch number of data return
Number of records for each batch
row_count Integer Yes
Note: Value range 1-5000
free_game_id Integer Yes Unique identity of free game
Unique identity of free game ‘s
unregistered player
player_name String No Note: Fuzzy matching is
implemented
Default: All players
Status of wallet of unregistered
player:
0: Inactive (Cancelled)
status Integer No
1: Pending
2: Transferred
Default: All status
PG SOFT™ 32
Pocket Games Software
www.pgsoft.com
Example:
URL:
https://api.pg-
bo.me/external/FreeGame/v1/GetFreeGamePendingPlayers?trace_id=b3f37e57-2873-40b1-
aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&page_number=1&row_count=500&p
layer_name=player1&free_game_id=12345&status=1
Response
Body Parameters:
JSON Object
Parameter name Data type Description
totalCount Integer Total number of records
totalPage Integer Total number of available batches
result JSON Array List of unregistered players in a free game
JSON Array
Parameter name Data type Description
Unique identity of free game’s player’s pending
pendingWalletId Integer
wallet
playerName String Unique identity of free game’s un-registered player
Status of unregistered player’s wallet:
0: Inactive (Cancelled)
status Integer
1: Pending
2: Transferred
Date of when a player is registered or re-registered
updatedDate Long into the free game
(Unix time stamp in milliseconds)
Date of when a player is registered into the free
createdDate Long game
(Unix time stamp in milliseconds)
createdBy String API or BackOffice user who registered the player
API or BackOffice user who register or re-registered
updatedBy String
player
PG SOFT™ 33
Pocket Games Software
www.pgsoft.com
Example:
{
"data": {
"totalCount": 2,
"totalPage": 1,
"result": [
{
"pendingWalletId": 140392,
"playerName": "eddywang9999",
"status": 1,
"createdDate": 1554351552000,
"updatedDate": 1554351552000,
"createdBy": "External API",
"updatedBy": "External API"
},
{
"pendingWalletId": 140393,
"playerName": "eddywang99999",
"status": 1,
"createdDate": 1554351682000,
"updatedDate": 1554351682000,
"createdBy": "External API",
"updatedBy": "External API"
}
]
},
"error": null
}
PG SOFT™ 34
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/FreeGame/v1/GetFreeGameAllPlayers
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value
as GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft
secret_key String Yes
and operator
page_number Integer Yes Batch number of data return
Number of records for each batch
row_count Integer Yes
Note: Value range 1-5000
free_game_id Integer Yes Unique identity of free game
Time range of free games’ start time
from_time Long Yes
(Unix time stamp in milliseconds)
Time range of free games’ end time
to_time Long Yes
(Unix time stamp in milliseconds)
Unique identity of free game’s
unregistered player
player_name String No Note: Fuzzy matching is
implemented
Default: All players
Status of free game wallet:
0: Inactive (Cancelled)
1: Active
2: Expired
3: Converted
status Integer No
4: Completed
5: New
6: User Cancelled
8: Pending
Default: All status
PG SOFT™ 35
Pocket Games Software
www.pgsoft.com
Example:
URL:
https://api.pg-bo.me/external/FreeGame/v1/GetFreeGameAllPlayers?trace_id=b3f37e57-
2873-40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&page_number=1&row_count=500&p
layer_name=player1&from_time=1346592723000&to_time=1546592723000&free_game_id=1234
5&status=1
Response
Body Parameters:
JSON Object
Parameter name Data type Description
totalCount Integer Total number of records
totalPage Integer Total number of available batches
result JSON Array List of all players in a free game
JSON Array
Parameter name Data type Description
balanceId Integer Unique identity of player’s free game wallet
playerId Integer Unique identity of free game’s player
playerName String Unique identity of free game’s player
Type of player wallet:
walletType String G: Free Game
B: Bonus
Player balance of unconverted free game, or
balanceAmount Decimal
converted amount of converted free game
Wagering requirement for bonus game.
Refers to the total amount that needs to be
bonusRatioAmount Decimal
completed after the amount won in free game has
been transferred to the bonus wallet
bonusMinimumConversion
Decimal Minimum conversion amount for free game’s bonus
Amount
bonusMaximumConversion
Decimal Maximum conversion amount for free game’s bonus
Amount
freeGameMaximumConver
Decimal Maximum conversion amount for free game
sionAmount
Status of free game wallet:
0: Inactive (Cancelled)
1: Active
status Integer
2: Expired
3: Converted
4: Completed
PG SOFT™ 36
Pocket Games Software
www.pgsoft.com
5: New
6: User Cancelled
8: Pending
Expiry date of free game
expiredDate Long
(Unix time stamp in milliseconds)
Date of when a player is registered or re-registered
updatedDate Long into the free game
(Unix time stamp in milliseconds)
Date of when a player is registered into the free
createdDate Long game
(Unix time stamp in milliseconds)
PG SOFT™ 37
Pocket Games Software
www.pgsoft.com
Example:
{
"data": {
"totalCount": 2583,
"totalPage": 259,
"result": [
{
"balanceId": 111261,
"playerId": 7443,
"playerName": "player1",
"walletType": "B",
"balanceAmount": 874.4,
"bonusRatioAmount": 874.4,
"bonusMinimumConversionAmount": 0,
"bonusMaximumConversionAmount": 0,
"freeGameMaximumConversionAmount": 0,
"expiredDate": 1546991999000,
"status": 2,
"createdDate": 1546923615000,
"updatedDate": 1546991999000
},
{
"balanceId": 111252,
"playerId": 7443,
"playerName": "player2",
"walletType": "G",
"balanceAmount": 8.8,
"bonusMinimumConversionAmount": 0,
"bonusMaximumConversionAmount": 0,
"freeGameMaximumConversionAmount": 0,
"freeGameCount": 6,
"expiredDate": 1546991999000,
"status": 6,
"createdDate": 1546918715000,
"updatedDate": 1547028195000,
}
]
},
"error": null
}
PG SOFT™ 38
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/FreeGame/v1/GetPlayerFreeGames
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
page_number Integer Yes Batch number of data return
Number of records for each batch
row_count Integer Yes
Note: Value range 1-5000
Unique identity of free game’s
player_name String Yes
unregistered player
Status of free game wallet:
0: Inactive (Cancelled)
1: Active
2: Expired
Integer 3: Converted
status No
Array 4: Completed
5: New
6: User Cancelled
8: Pending
Default: All status
Example:
URL:
https://api.pg-bo.me/external/FreeGame/v1/GetPlayerFreeGames?trace_id=b3f37e57-
2873-40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&page_number=1&row_count=500&p
layer_name=player1&status=1&status=2
PG SOFT™ 39
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Object
Parameter name Data type Description
totalCount Integer Total number of records
totalPage Integer Total number of available batches
result JSON Array List of free games of a single player
JSON Array
Parameter name Data type Description
freeGameId Integer Unique identity free game
freeGameName String Given name of free game
transactionId String Unique identity of transaction
gameIds Integer Array Unique identity of games
gameCount Integer Total number of given free games
Total number of free games that will be given to a
totalGame Integer
single player
Player balance of unconverted free game, or
balanceAmount Decimal
converted amount of converted free game
minimumConversionAmount Decimal Minimum conversion amount for free game
maximumConversionAmount Decimal Maximum conversion amount for free game
multiplier Integer Bet multiplier of free game
coinSize Decimal Coin size of free game
Expiry date of free game
expiredDate Long
(Unix time stamp in milliseconds)
Created date of free game
createdDate Long
(Unix time stamp in milliseconds)
createdBy String API or BackOffice user who created the free game
updatedBy String API or BackOffice user who updated the free game
Permission to allow players to cancel offer
isSupressDiscard Boolean True: Do not allow player to cancel offer
False: Allows player to cancel offer
Status of free game wallet:
0: Inactive (Cancelled)
1: Active
2: Expired
status Integer 3: Converted
4: Completed
5: New
6: User Cancelled
8: Pending
conversionType Char Type of conversion after free game is completed:
PG SOFT™ 40
Pocket Games Software
www.pgsoft.com
C: Cash
B: Bonus
Example:
{
"data": {
"totalCount": 2583,
"totalPage": 259,
"result": [
{
"freeGameId": 909,
"freeGameName": "Free Game 1",
"gameIds": [25],
"gameCount": 10,
"totalGame": 5,
"balanceAmount": 0,
"transactionId": "12345Test",
"minimumConversionAmount": 1,
"maximumConversionAmount": 500,
"multiplier": 10,
"coinSize": 10,
"expiredDate": 1552089599000,
"status": 2,
"conversionType": "B",
"createdDate": 1498036782000,
"createdBy": "player1",
"updatedBy": "player1",
"isSupressDiscard": true
},
{
"freeGameId": 864,
"freeGameName": "Free Game 2",
"gameIds": [6],
"gameCount": 55,
"totalGame": 50,
"balanceAmount": 0,
"transactionId": "12345Test",
"minimumConversionAmount": 1,
"maximumConversionAmount": 500,
"multiplier": 1,
"coinSize": 1,
"expiredDate": 1556672461000,
"status": 5,
"conversionType": "C"
"createdDate": 1498036782000,
"createdBy": "player1",
"updatedBy": "player1",
"isSupressDiscard": true
}
]
},
"error": null
}
PG SOFT™ 41
Pocket Games Software
www.pgsoft.com
Notes
• We suggest do not exceed 200 players per request.
Request
API URL : {PgSoftAPIDomain}/FreeGame/v1/CreateFreeGame
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
currency String Yes Currency of free game
free_game_name String Yes Given name of free game
Expire date of free game
expired_date long Yes
(Unix time stamp in milliseconds)
bonus_minimum_conver Minimum conversion amount for bonus
Decimal No*
sion_amount NULL: No limit for conversion amount
bonus_maximum_conver Maximum conversion amount for bonus
Decimal No*
sion_amount NULL: No limit for conversion amount
Minimum conversion amount for free
minimum_conversion_a
Decimal No game
mount
NULL: No limit for conversion amount
Maximum conversion amount for free
maximum_conversion_a
Decimal No game
mount
NULL: No limit for conversion amount
Bonus wagering condition
0: Bonus
bonus_type Integer No*
1: Cash
2: Bonus & Cash
PG SOFT™ 42
Pocket Games Software
www.pgsoft.com
PG SOFT™ 43
Pocket Games Software
www.pgsoft.com
Example:
URL:
https://api.pg-bo.me/external/FreeGame/v1/CreateFreeGame?trace_id=b3f37e57-2873-
40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl¤cy=CNY&free_game_name=F
reeGame2019&expired_date=1745289243000&status=1&bonus_maximum_conversion_amount=10
&maximum_conversion_amount=1&bonus_type=1&conversion_type=B&multiplier=5&coin_size
=20&game_count=20&game_ids=1&game_ids=2&is_event=true&player_name=player1&transact
ion_id=12345&non_discardable=False
Response
Body Parameters:
JSON Object
Parameter name Data type Description
freeGameId Integer Unique identity of free game
Example:
{
"data": {
"freeGameId ": 10915
},
"error": null
}
PG SOFT™ 44
Pocket Games Software
www.pgsoft.com
Notes
• We suggest do not exceed 200 players per request.
Request
API URL : {PgSoftAPIDomain}/FreeGame/v1/CreateFreeGameByBetAmount
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
currency String Yes Currency of free game
free_game_name String Yes Given name of free game
Expiry date of free game
expired_date long Yes
(Unix time stamp in milliseconds)
bonus_minimum_conver Minimum conversion amount for bonus
Decimal No*
sion_amount NULL: No limit for conversion amount
bonus_maximum_conver Maximum conversion amount for bonus
Decimal No*
sion_amount NULL: No limit for conversion amount
Minimum conversion amount for free
minimum_conversion_a
Decimal No game
mount
NULL: No limit for conversion amount
Maximum conversion amount for free
maximum_conversion_a
Decimal No game
mount
NULL: No limit for conversion amount
Bonus wagering condition:
0: Bonus
bonus_type Integer No*
1: Cash
2: Bonus & Cash
PG SOFT™ 45
Pocket Games Software
www.pgsoft.com
PG SOFT™ 46
Pocket Games Software
www.pgsoft.com
Example:
URL:
https://api.pg-
bo.me/external/FreeGame/v1/CreateFreeGameByBetAmount?trace_id=b3f37e57-2873-40b1-
aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl¤cy=CNY&free_game_name=F
reeGame2019&expired_date=1745289243000&status=1&bonus_maximum_conversion_amount=10
&maximum_conversion_amount=1&bonus_type=1&conversion_type=B&bet_amount=0.6&game_co
unt=20&game_ids=1&game_ids=2&is_event=true&player_name=player1&transaction_id=1234
5&non_discardable=False
Response
Body Parameters:
JSON Object
Parameter name Data type Description
freeGameId Integer Unique identity of free game
Example:
{
"data": {
"freeGameId ": 10915
},
"error": null
}
PG SOFT™ 47
Pocket Games Software
www.pgsoft.com
Notes
• We suggest do not exceed 200 players per request.
Request
API URL : {PgSoftAPIDomain}/FreeGame/v1/TransferInFreeGame
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
free_game_id Integer Yes Unique identity of free game
player_names String Array Yes Unique identity of players
transfer_reference String Yes Unique identity of transfer
Example:
URL:
https://api.pg-bo.me/external/FreeGame/v1/TransferInFreeGame?trace_id=b3f37e57-
2873-40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&free_game_id=12&player_names=
player1&player_names=player2&transfer_reference=freegame_20181128
PG SOFT™ 48
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Array
Parameter name Data type Description
transactionId String Unique identity of transaction
operatorToken String Unique identity of operator
playerName String Unique identity of player
currencyCode String Currency of player
Status of transfer request:
0: Failed
1: Successful
status Integer
2: Pending (For non-existent player, free game will
be assigned to the player automatically after player
is created.)
Example:
{
"data": [
{
"transactionId": 10,
"operatorToken": "abc123",
"playerName": "player1",
"currencyCode": "CNY",
"status": 1
},
{
"transactionId": 1,
"operatorToken": "1234",
"playerName": "player2",
"currencyCode": "CNY",
"status": 1
}
],
"error": null
}
PG SOFT™ 49
Pocket Games Software
www.pgsoft.com
Notes
• We suggest do not exceed 200 players per request.
Request
API URL : {PgSoftAPIDomain}/FreeGame/v1/TransferInFlexibleFreeGame
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
JSON String The free game details that have been
player_free_games Yes
Array overridden for a single player
free_game_id Integer Yes Unique identity of free game
transfer_reference String Yes Unique identity of transfer
Allows player to re-register
True: No. of times a player can re-
allow_multiple Boolean Yes register in a free game
False: Player is only allowed to register
once in a free game.
PG SOFT™ 50
Pocket Games Software
www.pgsoft.com
Example:
URL:
https://api.pg-
bo.me/external/FreeGame/v1/TransferInFlexibleFreeGame?trace_id=b3f37e57-2873-40b1-
aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&player_free_games={"player_na
me":"player1","free_game_count":10,"is_unlimited_bonus_maximum_conversion_amount":
false,"is_unlimited_free_game_maximum_conversion_amount":false,"bonus_maximum_conv
ersion_amount":100.50,"free_game_maximum_conversion_amount":100.50,"description":"
VIP"}&free_game_id=3&transfer_reference=freegame_20181128&allow_multiple=false
PG SOFT™ 51
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Array
Parameter name Data type Description
transactionId String Unique identity of transaction
operatorToken String Unique identity of operator
playerName String Unique identity of player
currencyCode String Currency of player
freeGameCount Integer Number of player free games
Status of transfer request:
0: Failed
1: Successful
status Integer
2: Pending (For non-existent player, free game will
be assigned to the player automatically after player
is created.)
Example:
{
"data": [
{
"transactionId": 10,
"operatorToken": "abc123",
"playerName": "player1",
"currencyCode": "CNY",
"freeGameCount": 10,
"status": 1
},
{
"transactionId": 1,
"operatorToken": "1234",
"playerName": "player2",
"currencyCode": "CNY",9
"freeGameCount": 10,
"status": 1
}
],
"error": null
}
PG SOFT™ 52
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/FreeGame/v1/CancelFreeGame
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
free_game_id String Yes Unique identity of free game
transaction_id String (Either one) Unique identity of transaction
Example:
URL:
https://api.pg-bo.me/external/FreeGame/v1/CancelFreeGame?trace_id=b3f37e57-2873-
40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&free_game_id=10919
Response
Body Parameters:
JSON Object
Parameter name Data type Description
Request results:
actionResult Boolean False: Failed
True: Successful
Example:
{
"data": {
"actionResult": true
},
"error": null
}
PG SOFT™ 53
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/FreeGame/v1/CancelPlayerFreeGame
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
player_name String Yes Unique identity of player
Unique identity of player’s free game
balance_id Integer Yes
wallet
Example:
URL:
https://api.pg-bo.me/external/FreeGame/v1/CancelPlayerFreeGame?trace_id=b3f37e57-
2873-40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&player_name=player1&balance_i
d=10919
PG SOFT™ 54
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Object
Parameter name Data type Description
Request results:
actionResult Boolean False: Failed
True: Successful
Example:
{
"data": {
"actionResult": true
},
"error": null
}
PG SOFT™ 55
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/FreeGame/v1/CancelPendingPlayerFreeGame
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
Unique identity of player’s free game
pending_wallet_id Integer Yes
wallet
Example:
URL:
https://api.pg-
bo.me/external/FreeGame/v1/CancelPendingPlayerFreeGame?trace_id=b3f37e57-2873-
40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&pending_wallet_id=10919
Response
Body Parameters:
JSON Object
Parameter name Data type Description
Request results:
actionResult Boolean False: Failed
True: Successful
Example:
{
"data": {
"actionResult": true
},
"error": null
}
PG SOFT™ 56
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/FreeGame/v1/CancelPlayerAllFreeGame
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
player_name String Yes Unique identity of player
free_game_id Integer Yes Unique identity of free game
Example:
URL:
https://api.pg-
bo.me/external/FreeGame/v1/CancelPlayerAllFreeGame?trace_id=b3f37e57-2873-40b1-
aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&player_name=player1&free_game
_id=10919
Response
Body Parameters:
JSON Object
Parameter name Data type Description
Request results:
actionResult Boolean
True: Successful
Example:
{
"data": {
"actionResult": true
},
"error": null
}
PG SOFT™ 57
Pocket Games Software
www.pgsoft.com
Request
API URL : {DataGrabAPIDomain}/FreeGame/v1/GetFreeGamePlayerSummary
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
Updated time of data
row_version Long No (Unix time stamp in milliseconds)
Default value: 1
Unique identity of player
player_name String No
Default: All players
Number of records for each batch
Note:
row_count Integer No
• Default value: 1
• Value range: 1-5000
Currency of player
currency String No
Default: All currencies of player
Unique identity of free game
free_game_id Integer No
Default: All free games
Example:
URL:
https://api.pg-bo.me/external-datagrabber/
FreeGame/v1/GetFreeGamePlayerSummary?trace_id=b3f37e57-2873-40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&row_version=1346592723000&pla
yer_name=testplayer1&row_count=10¤cy=CNY&free_game_id=12345
PG SOFT™ 58
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Object
Parameter name Data type Description
Updated time of data
lastRowVersion Long
(Unix time stamp in milliseconds)
result JSON Array List of the result
JSON Array
Parameter name Data type Description
freeGameId Ulong Unique identity of free game Id
freeGameParentId Ulong Unique identity of free game parent Id
playerName String Unique identity of player
currencyCode String Currency of player
totalFreeGame Integer Total number of given free games
coinSize Decimal Bet size of game
multiplier Integer Bet multiplier of free game
payout Decimal Convert to cash amount of free game
remainCount Integer Total number of remain free games
Type of conversion after free game is completed:
conversionType Char C: Cash
B: Bonus
Status of free game:
0: Inactive
1: Active
2: Expired
status Integer 3: Converted
4: Completed
5: New
6: User Cancelled
8: Pending
createdTime Long Free game created time
updatedTime Long Free game updated time
PG SOFT™ 59
Pocket Games Software
www.pgsoft.com
Example:
{
"data": {
"lastRowVersion": 1526371744000,
"result": [
{
"freeGameId": 2,
"freeGameParentId": 2,
"playerName": "qa1",
"currencyCode": "CNY",
"totalFreeGame": 1,
"coinSize": 0.01,
"multiplier": 10,
"payout": 0.0,
"remainCount": 1,
"conversionType": "Bonus",
"status": 0,
"createdTime": 1526371189000,
"updatedTime": 1526371744000
}
]
},
"error": null
}
PG SOFT™ 60
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/Bonus/v1/GetBonus
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
page_number Integer Yes Batch number of data return
Number of records for each batch
row_count Integer Yes
Note: Value range 1-5000
from_time Long Yes Time range of bonus games’ start times
to_time Long Yes (Unix time stamp in milliseconds)
Unique identity of bonus game
bonus_id Integer No
Default: All bonus games
Currency of bonus game
currency String No
Default: All currencies of bonus games
Given name of bonus game
bonus_name String No
Default: All given name of bonus games
Transfer type for bonus game:
0: Standard
bonus_transfer_type Integer No
3: Flexible
Default: All transfer types
Status of bonus game:
0: Inactive
status Integer No 1: Active
2: Expired
Default: All status
PG SOFT™ 61
Pocket Games Software
www.pgsoft.com
Example:
URL:
https://api.pg-bo.me/external/Bonus/v1/GetBonus?trace_id=b3f37e57-2873-40b1-aa95-
f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&page_number=1&row_count=500&f
rom_time=1346592723000&to_time=1546592723000&bonus_id=12345¤cy=CNY&bonus_nam
e=BonusGame2019&bonus_transfer_type=1&status=1
Response
Body Parameters:
JSON Object
Parameter name Data type Description
totalCount Integer Total number of records
totalPage Integer Total number of available batches
result JSON Array List of details of multiple bonus games
JSON Array
Parameter name Data type Description
operatorToken String Unique identity of operator
bonusId Integer Unique identity of bonus game
bonusName String Given name of bonus game
Type of bonus game:
isEvent Boolean True: Flexible
False: Standard
gameIds Integer Array Unique identity of games
currencyCode String Currency of bonus game
Wagering requirement for bonus game.
bonusRatio Decimal Refers to the multiple of the turnover that needs to
be completed
Wagering requirement for bonus game.
bonusRatioAmount Decimal Refers to the total amount that needs to be
completed
bonusMinimumConversion
Decimal The minimum cash conversion amount of free game
Amount
bonusMaximumConversion
Decimal The maximum cash conversion amount of free game
Amount
Bonus game wagering condition:
0: Bonus
bonusType Integer
1: Cash
2: Bonus & Cash
Status of bonus game:
status Integer
0: Inactive (Cancelled)
PG SOFT™ 62
Pocket Games Software
www.pgsoft.com
1: Active
2: Expired
bonusAmountGiven Decimal Total amount of bonus given
numberOfPlayers Integer Total number of players in bonus game
Expiry date of bonus game
expiredDate Long
(Unix time stamp in milliseconds)
Created date of bonus game
createdDate Long
(Unix time stamp in milliseconds)
Permission to allow players to cancel offer
isSuppressDiscard Boolean True: Do not allow player to cancel offer
False: Allows player to cancel offer
PG SOFT™ 63
Pocket Games Software
www.pgsoft.com
Example:
{
"data": {
"totalCount": 2583,
"totalPage": 259,
"result": [
{
"operatorToken": "abcd",
"bonusId": 118,
"bonusName": "bonus118",
"bonusType": 0,
"isEvent": false,
"gameIds": [
1
],
"amount": 57000,
"currencyCode": "MYR",
"bonusRatio": 3,
"bonusRatioAmount": 171000,
"bonusMinimumConversionAmount": 1000.00,
"bonusMaximumConversionAmount": 1500.00,
"status": 1,
"numberOfPlayers": 0,
"bonusAmountGiven": 0,
"createdDate": 1497001371000,
"isSuppressDiscard": false
},
{
"operatorToken": "abcd",
"bonusId": 119,
"bonusName": "bonus119",
"bonusType": 0,
"isEvent": false,
"gameIds": [
1
],
"amount": 500,
"currencyCode": "USD",
"bonusRatio": 2,
"bonusRatioAmount": 1000,
"status": 1,
"numberOfPlayers": 1,
"bonusAmountGiven": 0,
"createdDate": 1497239059000
}
]
},
"error": null
}
PG SOFT™ 64
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/Bonus/v1/GetBonusConvertedWallet
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
page_number Integer Yes Batch number of data return
Number of records for each batch
row_count Integer Yes
Note: Value range 1-5000
bonus_id Integer Yes Unique identity of bonus
from_transaction_time Long Yes Time range of bonus player’s
transactions
to_transaction_time Long Yes
(Unix time stamp in milliseconds)
Unique identity of player
player_name String No Note: Fuzzy matching is implemented
Default: All players
Example:
URL:
https://api.pg-bo.me/external/Bonus/v1/GetBonusConvertedWallet?trace_id=b3f37e57-
2873-40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&page_number=1&row_count=500&b
onus_id=12345&player_name=player1&from_transaction_time=1346592723000&to_transacti
on_time=1346592723000
PG SOFT™ 65
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Object
Parameter name Data type Description
Total amount that has been converted to cash
totalConvertedAmount Decimal
through the bonus game
totalCount Integer Total number of records
totalPage Integer Total number of available batches
List of players details whose bonus game has been
result JSON Array
converted to cash
JSON Array
Parameter name Data type Description
balanceId Integer Unique identity of player’s bonus game wallet
playerName String Unique identity of player
currencyCode String Currency of player
gameId Integer Unique identity of game
transactionAmount Decimal Converted amount of player
Time of conversion
transactionDateTime Long
(Unix time stamp in milliseconds)
PG SOFT™ 66
Pocket Games Software
www.pgsoft.com
Example:
{
"data": {
"totalConvertedAmount": 10,
"totalCount": 1,
"totalPage": 1,
"result": [
{
"balanceId": 13787,
"playerName": "qa18",
"currencyCode": "CNY",
"gameId": 8,
"transactionAmount": 10,
"transactionDateTime": 1547449915000
}
],
[
{
"balanceId": 13788,
"playerName": "qa18",
"currencyCode": "CNY",
"gameId": 8,
"transactionAmount": 10,
"transactionDateTime": 1547449915100
}
]
},
"error": null
}
PG SOFT™ 67
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/Bonus/v1/GetBonusPlayers
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
page_number Integer Yes Batch number of data return
Number of records for each batch
row_count Integer Yes
Note: Value range 1-5000
bonus_id Integer Yes Unique identity of bonus
from_time Long Yes Time range of bonus games’ start times
to_time Long Yes (Unix time stamp in milliseconds)
Unique identity of bonus player
player_name String No Note: Fuzzy matching is implemented
Default: All players
Status of bonus wallet:
0: Inactive (Cancelled)
1: Active
2: Expired
3: Converted
status Integer No
4: Completed
5: New
6: User Cancelled
8: Pending
Default: All status
PG SOFT™ 68
Pocket Games Software
www.pgsoft.com
Example:
URL:
https://api.pg-bo.me/external/Bonus/v1/GetBonusPlayers?trace_id=b3f37e57-2873-
40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&page_number=1&row_count=500&p
layer_name=player1&from_time=1346592723000&to_time=1546592723000&bonus_id=12345&st
atus=1
Response
Body Parameters:
JSON Object
Parameter name Data type Description
totalCount Integer Total number of records
totalPage Integer Total number of available batches
result JSON Array List of players in bonus game
JSON Array
Data
Parameter name Description
type
balanceId Integer Unique identity of player’s bonus wallet
playerId Integer Unique identity of bonus game’s player
playerName String Unique identity of bonus game’s player
Type of player wallet in bonus game:
walletType String G: Free Game
B: Bonus
balanceAmount Decimal Player’s balance in bonus game
Wagering requirement for bonus game.
bonusRatioAmount Decimal Refers to the total amount that needs to be
completed
MinimumConversionAmount Decimal Minimum conversion amount for bonus
MaximumConversionAmount Decimal Maximum conversion amount for bonus
Status of bonus wallet:
0: Inactive (Cancelled)
1: Active
2: Expired
status Integer 3: Converted
4: Completed
5: New
6: User Cancelled
8: Pending
Expiry date of bonus game
expiredDate Long
(Unix time stamp in milliseconds)
PG SOFT™ 69
Pocket Games Software
www.pgsoft.com
Example:
{
"data": {
"totalCount": 2583,
"totalPage": 259,
"result": [
{
"balanceId": 111261,
"playerId": 7443,
"playerName": "player1",
"walletType": "B",
"balanceAmount": 874.4,
"bonusRatioAmount": 874.4,
"MinimumConversionAmount": 0,
"MaximumConversionAmount": 0,
"expiredDate": 1546991999000,
"status": 2,
"createdDate": 1546923615000,
"updatedDate": 1546991999000
},
{
"balanceId": 111252,
"playerId": 7443,
"playerName": "player2",
"walletType": "G",
"balanceAmount": 8.8,
"MinimumConversionAmount": 0,
"MaximumConversionAmount": 0,
"expiredDate": 1546991999000,
"status": 6,
"createdDate": 1546918715000,
"updatedDate": 1547028195000
}
]
},
"error": null
}
PG SOFT™ 70
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/Bonus/v1/GetBonusPendingPlayers
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
page_number Integer Yes Batch number of data return
Number of records for each batch
row_count Integer Yes
Note: Value range 1-5000
bonus_id Integer Yes Unique identity of bonus game
Unique identity of bonus game’s
unregistered player
player_name String No
Note: Fuzzy matching is implemented
Default: All players
Status of unregistered player’s wallet:
0: Inactive (Cancelled)
status Integer No 1: Pending
2: Transferred
Default: All status
Example:
URL:
https://api.pg-bo.me/external/Bonus/v1/GetBonusPendingPlayers?trace_id=b3f37e57-
2873-40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&page_number=1&row_count=500&p
layer_name=player1&bonus_id=12345&status=1
PG SOFT™ 71
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Object
Parameter name Data type Description
totalCount Integer Total number of records
totalPage Integer Total number of available batches
result JSON Array List of unregistered players in a bonus game
JSON Array
Parameter name Data type Description
Unique identity of unregistered player’s bonus
pendingWalletId Integer
wallet
Unique identity of unregistered player in bonus
playerName String
game
Status of unregistered player’s wallet:
0: Inactive (Cancelled)
status Integer
1: Pending
2: Transferred
updatedDate Long Date of when a player is registered or re-registered
into the bonus game
createdDate Long (Unix time stamp in milliseconds)
createdBy String
API or BackOffice user who registered the player
updatedBy String
PG SOFT™ 72
Pocket Games Software
www.pgsoft.com
Example:
{
"data": {
"totalCount": 2,
"totalPage": 1,
"result": [
{
"pendingWalletId": 140392,
"playerName": "eddywang9999",
"status": 1,
"createdDate": 1554351552000,
"updatedDate": 1554351552000,
"createdBy": "External API",
"updatedBy": "External API"
},
{
"pendingWalletId": 140393,
"playerName": "eddywang99999",
"status": 1,
"createdDate": 1554351682000,
"updatedDate": 1554351682000,
"createdBy": "External API",
"updatedBy": "External API"
}
]
},
"error": null
}
PG SOFT™ 73
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/Bonus/v1/GetBonusAllPlayers
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
page_number Integer Yes Batch number of data return
Number of records for each batch
row_count Integer Yes
Note: Value range 1-5000
bonus_id Integer Yes Unique identity of bonus game
from_time Long Yes Time range of bonus games’ start times
to_time Long Yes (Unix time stamp in milliseconds)
Unique identity of bonus game’s player
player_name String No Note: Fuzzy matching is implemented
Default: All players
Status of bonus wallet:
0: Inactive (Cancelled)
1: Active
2: Expired
3: Converted
status Integer No
4: Completed
5: New
6: User Cancelled
8: Pending
Default: All status
PG SOFT™ 74
Pocket Games Software
www.pgsoft.com
Example:
URL:
https://api.pg-bo.me/external/Bonus/v1/GetBonusAllPlayers?trace_id=b3f37e57-2873-
40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&page_number=1&row_count=500&p
layer_name=player1&from_time=1346592723000&to_time=1546592723000&bonus_id=12345&st
atus=1
Response
Body Parameters:
JSON Object
Parameter name Data type Description
totalCount Integer Total number of records
totalPage Integer Total number of available batches
result JSON Array List of all players in a bonus game
JSON Array
Data
Parameter name Description
type
balanceId Integer Unique identity of player’s bonus wallet
playerId Integer Unique identity of bonus game’s player
playerName String Unique identity of bonus game’s player
Type of player wallet:
walletType String G: Free Game
B: Bonus
Player balance of unconverted bonus game, or
balanceAmount Decimal
converted amount of converted bonus game
Wagering requirement for bonus game.
bonusRatioAmount Decimal Refers to the total amount that needs to be
completed
MinimumConversionAmount Decimal Minimum conversion amount for bonus game
MaximumConversionAmount Decimal Maximum conversion amount for bonus game
Status of bonus wallet:
0: Inactive (Cancelled)
1: Active
2: Expired
status Integer 3: Converted
4: Completed
5: New
6: User Cancelled
8: Pending
expiredDate Long Expiry date of bonus game
PG SOFT™ 75
Pocket Games Software
www.pgsoft.com
Example:
{
"data": {
"totalCount": 2583,
"totalPage": 259,
"result": [
{
"balanceId": 111261,
"playerId": 7443,
"playerName": "player1",
"walletType": "B",
"balanceAmount": 874.4,
"bonusRatioAmount": 874.4,
"MinimumConversionAmount": 0,
"MaximumConversionAmount": 0,
"expiredDate": 1546991999000,
"status": 2,
"createdDate": 1546923615000,
"updatedDate": 1546991999000
},
{
"balanceId": 111252,
"playerId": 7443,
"playerName": "player2",
"walletType": "G",
"balanceAmount": 8.8,
"MinimumConversionAmount": 0,
"MaximumConversionAmount": 0,
"expiredDate": 1546991999000,
"status": 6,
"createdDate": 1546918715000,
"updatedDate": 1547028195000
}
]
},
"error": null
}
PG SOFT™ 76
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/Bonus/v1/GetPlayerBonus
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
page_number Integer Yes Batch number of data return
Number of records for each batch
row_count Integer Yes
Note: Value range 1-5000
player_name String Yes Unique identity of bonus player
Status of bonus wallet:
0: Inactive (Cancelled)
1: Active
2: Expired
Integer 3: Converted
status No
Array 4: Completed
5: New
6: User Cancelled
8: Pending
Default: All status
Example:
URL:
https://api.pg-bo.me/external/Bonus/v1/GetPlayerBonus?trace_id=b3f37e57-2873-40b1-
aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&page_number=1&row_count=500&p
layer_name=player1&status=1&status=1&status=2
PG SOFT™ 77
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Object
Parameter name Data type Description
totalCount Integer Total number of records
totalPage Integer Total number of available batches
result JSON Array List of bonus games of a single player
JSON Array
Parameter name Data type Description
Unique identity of bonus game
bonusId Ulong Note: Free game id will be returned for bonus that
have been converted from free game
bonusName String Given name of bonus game
Integer
gameIds Unique identity of games
Array
Player balance of unconverted bonus game, or
balanceAmount Decimal
converted amount of converted bonus game
maximumConversionAmount Decimal Maximum conversion amount for bonus
Wagering requirement for bonus game.
bonusRatioAmount Decimal Refers to the total amount that needs to be
completed
Type of bonus parent:
bonusParentType Integer B: Bonus game that was created normally
G: Bonus game that was converted from free game
Status of bonus wallet:
0: Inactive (Cancelled)
1: Active
2: Expired
status Integer 3: Converted
4: Completed
5: New
6: User Cancelled
8: Pending
Created date of bonus game
createdDate Long
(Unix time stamp in milliseconds)
Expiry date of bonus game
expiredDate Long
(Unix time stamp in milliseconds)
createdBy String API or BackOffice user who created or updated the
updatedBy String bonus game
PG SOFT™ 78
Pocket Games Software
www.pgsoft.com
Example:
{
"data": {
"totalCount": 2583,
"totalPage": 259,
"result": [
{
"bonusId": 11385,
"bonusName": "Bonus 1",
"bonusParentType": "B",
"gameIds": [
9
],
"balanceAmount": 1000000,
"bonusRatioAmount": 1000,
"maximumConversionAmount": 5000,
"status": 2,
"createdDate": 1531981770000,
"expiredDate": 1532015999000,
"createdBy": "Operator1",
"updatedBy": "Operator1"
},
{
"bonusId": 12271,
"bonusName": "Bonus 2",
"bonusParentType": "G",
"gameIds": [
27
],
"balanceAmount": 1000000,
"bonusRatioAmount": 10000,
"maximumConversionAmount": 500,
"status": 2,
"createdDate": 1537413312000,
"expiredDate": 1537487999000,
"createdBy": "Operator1",
"updatedBy": "Operator1"
}
]
},
"error": null
}
PG SOFT™ 79
Pocket Games Software
www.pgsoft.com
Notes
• We suggest do not exceed 200 players per request.
Request
API URL : {PgSoftAPIDomain}/Bonus/v1/CreateBonus
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
currency String Yes Currency of bonus game
bonus_name String Yes Given name of bonus game
Bonus amount to be given for each
bonus_amount decimal Yes
player
Expiry date of bonus game
expired_date long Yes
(Unix time stamp in milliseconds)
Minimum conversion amount for bonus
minimum_conversion_a
Decimal No game
mount
NULL: No limit for conversion amount
Maximum conversion amount for bonus
maximum_conversion_a
Decimal No game
mount
NULL: No limit for conversion amount
Bonus game wagering condition:
0: Bonus
bonus_type Integer Yes
1: Cash
2: Bonus & Cash
Wagering requirement for bonus game.
bonus_ratio Decimal Yes Refers to the multiple of the turnover
that needs to be completed
PG SOFT™ 80
Pocket Games Software
www.pgsoft.com
Example:
URL:
https://api.pg-bo.me/external/Bonus/v1/CreateBonus?trace_id=b3f37e57-2873-40b1-
aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl¤cy=CNY&bonus_name=Bonus
2019&bonus_amount=100.00&expired_date=1745289243000&maximum_conversion_amount=1&bo
nus_type=1&game_ids=1&game_ids=2&is_event=true&player_name=player1&transaction_id=
12345&non_discardable=False
Response
Body Parameters:
JSON Object
Parameter name Data type Description
bonusId Integer Unique identity of bonus game
Example:
{
"data": {
"bonusId ": 10915
},
"error": null
}
PG SOFT™ 81
Pocket Games Software
www.pgsoft.com
Notes
• We suggest do not exceed 200 players per request.
Request
API URL : {PgSoftAPIDomain}/Bonus/v1/TransferInBonus
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
bonus_id Integer Yes Unique identity of bonus game
player_names String Array Yes Unique identity of players
transfer_reference String Yes Unique identity of transfer
Example:
URL:
https://api.pg-bo.me/external/Bonus/v1/TransferInBonus?trace_id=b3f37e57-2873-
40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&bonus_id=12&player_names=play
er1&player_names=player2&transfer_reference=bonusgame_20181128
PG SOFT™ 82
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Array
Parameter name Data type Description
transactionId String Unique identity of transaction
operatorToken String Unique identity of operator
playerName String Unique identity of player
currencyCode String Currency of player
Status of transfer request:
0: Failed
1: Successful
status Integer
2: Pending (For non-existent player, bonus game will
be assigned to the player automatically after player is
created.)
Example:
{
"data": [
{
"transactionId": 10,
"operatorToken": "abc123",
"playerName": "player1",
"currencyCode": "CNY",
"status": 1
},
{
"transactionId": 1,
"operatorToken": "1234",
"playerName": "player2",
"currencyCode": "CNY",
"status": 1
}
],
"error": null
}
PG SOFT™ 83
Pocket Games Software
www.pgsoft.com
Notes
• We suggest do not exceed 200 players per request.
Request
API URL : {PgSoftAPIDomain}/Bonus/v1/TransferInFlexibleBonus
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
JSON String Overridden default bonus game’s
player_bonuses Yes
Array information for players
bonus _id Integer Yes Unique identity of bonus game
transfer_reference String Yes Unique identity of transfer
True: No. of times a player can re-
register in a bonus game
allow_multiple Boolean Yes
False: Player is only allowed to register
once in a bonus game.
PG SOFT™ 84
Pocket Games Software
www.pgsoft.com
Example:
URL:
https://api.pg-bo.me/external/Bonus/v1/TransferInFlexibleBonus?trace_id=b3f37e57-
2873-40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&player_bonuses={"player_name"
:"player1","bonus_amount":10,"is_unlimited_bonus_maximum_conversion_amount":false,
"bonus_maximum_conversion_amount":100.50,"description":"VIP"}&bonus_id=3&transfer_
refer
PG SOFT™ 85
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Array
Parameter name Data type Description
transactionId String Unique identity of transaction
operatorToken String Unique identity of operator
playerName String Unique identity of player
currencyCode String Currency of player
Status of transfer request:
0: Failed
1: Successful
status Integer
2: Pending (For non-existent player, bonus game will
be assigned to the player automatically after player is
created)
Example:
{
"data": [
{
"transactionId": 10,
"operatorToken": "abc123",
"playerName": "player1",
"currencyCode": "CNY",
"status": 1
},
{
"transactionId": 1,
"operatorToken": "1234",
"playerName": "player2",
"currencyCode": "CNY",
"status": 1
}
],
"error": null
}
PG SOFT™ 86
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/Bonus/v1/CancelBonus
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
bonus _id String Yes Unique identity of bonus game
Example:
URL:
https://api.pg-bo.me/external/Bonus/v1/CancelBonus?trace_id=b3f37e57-2873-40b1-
aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&bonus_id=10919
Response
Body Parameters:
JSON Object
Parameter name Data type Description
Request results:
actionResult Boolean False: Failed
True: Successful
Example:
{
"data": {
"actionResult": true
},
"error": null
}
PG SOFT™ 87
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/Bonus/v1/CancelPlayerBonus
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
player_name String Yes Unique identity of player
balance_id Integer Yes Unique identity of player’s bonus wallet
Example:
URL:
https://api.pg-bo.me/external/Bonus/v1/CancelPlayerBonus?trace_id=b3f37e57-2873-
40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&player_name=player1&balance_i
d=10919
Response
Body Parameters:
JSON Object
Parameter name Data type Description
Request results:
actionResult Boolean False: Failed
True: Successful
Example:
{
"data": {
"actionResult": true
},
"error": null
}
PG SOFT™ 88
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/Bonus/v1/CancelPendingPlayerBonus
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
pending_wallet_id Integer Yes Unique identity of player’s bonus wallet
Example:
URL:
https://api.pg-bo.me/external/Bonus/v1/CancelPendingPlayerBonus?trace_id=b3f37e57-
2873-40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&pending_wallet_id=10919
Response
Body Parameters:
JSON Object
Parameter name Data type Description
Request results:
actionResult Boolean False: Failed
True: Successful
Example:
{
"data": {
"actionResult": true
},
"error": null
}
PG SOFT™ 89
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/Bonus/v1/CancelPlayerAllBonus
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value
as GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft
secret_key String Yes
and operator
player_name String Yes Unique identity of player
bonus_id Integer Yes Unique identity of bonus game
Example:
URL:
https://api.pg-bo.me/external/Bonus/v1/CancelPlayerAllBonus?trace_id=b3f37e57-
2873-40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&player_name=player1&bonus_id=
10919
Response
Body Parameters:
JSON Object
Parameter name Data type Description
Request results:
actionResult Boolean False: Failed
True: Successful
Example:
{
"data": {
"actionResult": true
},
"error": null
}
PG SOFT™ 90
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/Tournament/v2/GetTournaments
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the
request
trace_id String Yes Note:
• Please set the parameter value
as GUID format
Body Parameters:
Data
Parameter name Mandatory Description
type
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft
secret_key String Yes
and operator
from_created_time
Time range of tournament’s start
to_created_time
Long Yes* time and end time
start_time
(Unix time stamp in milliseconds)
end_time
Status of tournament:
0: Cancel
Integer 1: InProgress
status No
Array 2: New
3: End
Default: All status
Integer Unique identity of games
game_ids No
Array Default: All games
Response language for tournament
information:
language String No
en-US: English (Default)
zh-CN: Chinese
currency string No Currency used in the tournament
PG SOFT™ 91
Pocket Games Software
www.pgsoft.com
Example:
URL:
https://api.pg-bo.me/external/Tournament/v2/GetTournaments?trace_id=b3f37e57-2873-
40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&status=1&status=2&game_ids=1&
game_ids=2&language=zh-
cn&start_time=1559145500000&end_time=1559145600000¤cy=CNY&from_created_time=
1559145500000&to_created_time=1559145600000
Response
Body Parameters:
JSON Array
Parameter name Data type Description
tournamentKey String Unique key of tournament
tournamentId Long Unique identity of tournament
subTournamentId Long Unique identity of Sub-Tournament
name String Name of tournament
description String Description of tournament
registrationFees String Registration fee of tournament
Type of Tournament prize
prize_type Integer 0: Item prize
1: Cash prize
prize String Array Prizes of tournament
registrationUrl String Registration URL of tournament
hasSubTournaments Boolean To indicate if Sub-Tournament exists
subTournamentStatus Decimal Status of Sub-Tournament
Start time of Sub-Tournament
subTournamentStartTime Long
(Unix time stamp in milliseconds)
End time of Sub-Tournament
subTournamentEndTime Long
(Unix time stamp in milliseconds)
numberOfPlayers Integer Number of participants in tournament
initialPoint Decimal Initial balance of tournament
Points needed for tournament player to enter the
qualifiedPoint Decimal
leaderboard
Tournament mode:
gameMode Integer 1: Accumulation
2: Depletion
PG SOFT™ 92
Pocket Games Software
www.pgsoft.com
PG SOFT™ 93
Pocket Games Software
www.pgsoft.com
Example:
{
"data": [{
"tournamentKey": "1857-2270-0_P",
"tournamentId": 1857,
"name": "Point Testing",
"operatorToken": "a**d",
"description": "",
"gameIds": [
94
],
"registrationFees": "",
"prizeType": 0,
"prize": {
"winnerPrizeDetails": [
{
"positionTo": 1,
"item": "3"
},
{
"positionTo": 2,
"item": "2"
},
{
"positionTo": 3,
"item": "1"
}
]
},
"registrationUrl": "",
"hasSubTournaments": false,
"numberOfPlayers": 1,
"initialPoint": 1.00000,
"qualifiedPoint": 2.00000,
"turnoverLimit": 1.0,
"gameMode": 1,
"rankStatus": 2,
"isCashMode": false,
"status": 3,
"startTime": 1607558400000,
"endTime": 1607644799000,
"subTournamentId": 2270,
"subTournamentStatus": 3,
"subTournamentStartTime": 1607558400000,
"subTournamentEndTime": 1607644799000,
"createdTime": 1607569038000,
"updatedTime": 1607569038000,
"createdBy": "ExternalAPI",
"isRequiredRegister": false
},
PG SOFT™ 94
Pocket Games Software
www.pgsoft.com
{
"tournamentKey": "1859-2272-0_P",
"tournamentId": 1859,
"name": "TournamentName",
"operatorToken": "a**d",
"description": "TournamentDesc",
"group": [
"JPY"
],
"gameIds": [
1,
2
],
"registrationFees": "RegistrationFees",
"prizeType": 0,
"prize": {
"winnerPrizeDetails": [
{
"positionTo": 1,
"item": "1st prize"
},
{
"positionTo": 3,
"item": "2rd prize"
},
{
"positionTo": 10,
"item": "3rd prize"
}
]
},
"registrationUrl": "RegistrationUrl",
"hasSubTournaments": false,
"numberOfPlayers": 0,
"initialPoint": 200.00000,
"qualifiedPoint": 200.00000,
"turnoverLimit": 0.0,
"gameMode": 1,
"rankStatus": 2,
"isCashMode": false,
"status": 3,
"startTime": 1607644800000,
"endTime": 1607731200000,
"subTournamentId": 2272,
"subTournamentStatus": 3,
"subTournamentStartTime": 1607644800000,
"subTournamentEndTime": 1607731200000,
"createdTime": 1607680643000,
"updatedTime": 1607680643000,
"createdBy": "External API",
"isRequiredRegister": false
}],
"error": null
}
PG SOFT™ 95
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/Tournament/v2/GetTournamentPlayersAsync
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
sub_tournament_id Integer Yes Unique identity of Sub-Tournament
page_number Integer Yes Batch number of data return
Number of records for each batch
row_count Integer Yes
Note: Value range 1-5000
Unique identity of tournament players
player_names String No
Default: All tournament players
from_created_time Long No Time range of when players were added
into a tournament.
to_created_time Long No
(Unix time stamp in milliseconds)
Example:
URL:
https://api.pg-
bo.me/external/Tournament/v2/GetTournamentPlayersAsync?trace_id=b3f37e57-2873-
40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&page_number=1&row_count=1000&
sub_tournament_id=1460&player_names=qafmcny18&from_created_time=1559145500000&to_c
reated_time=1559145600000
PG SOFT™ 96
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Object
Parameter name Data type Description
totalCount Integer Total number of records
totalPage Integer Total number of available batches
result JSON Array List of players in tournament
JSON Array
Parameter name Data type Description
operatorToken String Unique identity of operator
tournamentPlayerId String Unique identity of tournament player
playerName String Unique identity of player
balanceAmount Decimal Remaining balance of a player in tournament
point Decimal Total points won by player in tournament
remainingRevive Integer Remaining times to revive in tournament
remainingRegister Integer Remaining times to re-register in tournament
Time when player was added into tournament
createdTime Long
(Unix time stamp in milliseconds)
Time of when tournament player’s information was
updatedTime Long updated
(Unix time stamp in milliseconds)
API or BackOffice user who registered the player
createdBy String
into the tournament
PG SOFT™ 97
Pocket Games Software
www.pgsoft.com
Example:
{
"data": {
"totalCount": 1,
"result": [
{
"tournamentPlayerId": 0-456,
"operatorToken": "1234",
"playerName": "qafmcny18",
"balanceAmount": 96,
"point": 544.05,
"remainingRevive": 0,
"remainingRegister": 9,
"createdTime": 1561640502000,
"updatedTime": 1561640502000,
"createdBy": "mei"
},
{
"tournamentPlayerId": 0-456,
"operatorToken": "1234",
"playerName": "qafmcny19",
"balanceAmount": 96,
"point": 544.05,
"remainingRevive": 0,
"remainingRegister": 9,
"createdTime": 1561640502000,
"updatedTime": 1561640502000,
"createdBy": "mei"
}
],
"totalPage": 1
},
"error": null
}
PG SOFT™ 98
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/Tournament/v2/GetTournamentTopRankingsAsync
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
tournament_id Long Yes Unique identity of tournament
Records count of rankings
count Integer Yes
Note: Value range 1-5000
Unique identity of player
player_name String No
Default: All player
Example:
URL:
https://api.pg-
bo.me/external/Tournament/v2/GetTournamentTopRankingsAsync?trace_id=b3f37e57-2873-
40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&tournament_id=41&count=10&pla
yer_name=player1
Response
Body Parameters:
JSON Object
Parameter name Data type Description
top_ranking JSON Array List of tournament’s top rankings
PG SOFT™ 99
Pocket Games Software
www.pgsoft.com
JSON Array
Parameter name Data type Description
operatorToken Integer Unique identity of operator
tournamentPlayerId String Unique identity of tournament player
playerName String Unique identity of player
point Decimal Total points won by player in tournament
totalSpendPoint Decimal Total points spent by player
previousRank Integer Previous ranking of player
rank Integer Current ranking of player
Last updated time of leader board
lastUpdatedOn Long
(Unix time stamp in milliseconds)
To identify if a player is qualified to join the
IsRankingQualifiedPlayer Boolean
tournament
Example:
{
"data":{
"top_ranking": [
{
"tournamentPlayerId": 0-456,
"operatorToken": "1234",
"playerName": "player1",
"point": 30360.98,
"totalSpendPoint": 69376.8,
"previousRank": 1,
"rank": 1,
"lastUpdatedOn": 1540380199000,
"IsRankingQualifiedPlayer": true
},
{
"tournamentPlayerId": 0-457,
"operatorToken": "1234",
"playerName": "player2",
"point": 10000.74,
"totalSpendPoint": 33,
"previousRank": 2,
"rank": 2,
"lastUpdatedOn": 1540380199000
"IsRankingQualifiedPlayer": true
}
]
},
"error": null
}
PG SOFT™ 100
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/Tournament/v2/CreateTournamentPlayersAsync
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
Unique identity of tournament
tournament_id Long Yes Note: Please create tournament
through PG BackOffice
player_names String Array Yes Unique identity of player
To allow player to re-register to the
same tournament:
allow_re-register Boolean Yes
True: Allow
False: Disallow
Example:
URL:
https://api.pg-
bo.me/external/Tournament/v2/CreateTournamentPlayersAsync?trace_id=b3f37e57-2873-
40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&tournament_id=41&player_names
=player1 &player_names=player2&allow_re-register=true
PG SOFT™ 101
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Array
Parameter name Data type Description
operatorToken Integer Unique identity of operator
tournamentPlayerId String Unique identity of tournament player
playerName String Unique identity of player
balanceAmount Integer Initial points in player balance
Number of times allowed to re-register in
registerAllowed Integer
tournament
reviveAllowed Integer Number of times allowed to revive in tournament
Status of Tournament Player:
0: Duplicated
status Integer 1: Successful
3: Registration limit exceeded
4: Invalid Player
tournamentKey String Unique key of tournament
PG SOFT™ 102
Pocket Games Software
www.pgsoft.com
Example:
{
"data":[
{
"tournamentKey": "1855-2266-833649_P",
"tournamentPlayerId": 0-456,
"operatorToken": "1234",
"playerName": " player1",
"balanceAmount": 10000,
"registerAllowed": 98,
"reviveAllowed": 3,
"status": 1
},
{
"tournamentKey": "1865-2266-833649_P",
"tournamentPlayerId": 0-457,
"operatorToken": "1234",
"playerName": " player1",
"balanceAmount": 10000,
"registerAllowed": 98,
"reviveAllowed": 3,
"status": 1
},
{
"tournamentKey": "1866-2266-833649_P",
"tournamentPlayerId": 0-458,
"operatorToken": "1234",
"playerName": " player2",
"balanceAmount": 10000,
"registerAllowed": 98,
"reviveAllowed": 3,
"status": 1
}
],
"error": null
}
PG SOFT™ 103
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/Tournament/v2/GetTournamentAutoRewardCashPrize
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value
as GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
String Yes Shared passphrase between PGSoft
secret_key
and operator
Long Yes Time range of record’s start times and
start_time
end times
Long Yes (Unix time stamp in milliseconds)
end_time
Note: Value range 1 day - 14 days
Integer Yes Reward status
Status 1: Receive reward successfully
0: Failed to receive reward
tournament_ids Long Yes Unique identity of tournament
Long No Unique identity of reward transaction
transaction_id
Default: All reward transaction
String No Unique identity of tournament
player_name players
Default: All tournament players
String No Currency used in tournament
currency Default: All currencies used in
tournament
Integer No Batch number of data return
page_number
Default value: 1
Integer No Number of records for each batch
row_count
Default value: 5000
PG SOFT™ 104
Pocket Games Software
www.pgsoft.com
Example:
URL:
https://api.pg-
bo.me/external/Tournament/v2/GetTournamentAutoRewardCashPrize?trace_id=b3f37e57-
2873-40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&start_time=1559145500000&end_
time=1559145600000&status=1
Response
Body Parameters:
JSON Array
Parameter name Data type Description
totalCount Integer Total number of tournament records
totalPage Integer Total pages of tournament result
result JSON Array List of winners in tournament
PG SOFT™ 105
Pocket Games Software
www.pgsoft.com
Example:
{
"data": {
"totalCount": 3,
"result": [
{
"tournamentId": 175,
"currency": "CNY",
"winners": [
{
"transactionId": 27021004,
"transactionTime": 1599811942000,
"tournamentPlayerId": 0-456,
"playerName": "calven77407A5275",
"rank": 2,
"adjustmentAmount": 20000.00000,
}
]
},
{
"tournamentId": 184,
"currency": "CNY",
"winners": [
{
"transactionId": 27021007,
"transactionTime": 1599811943000,
"tournamentPlayerId": 0-457,
"playerName": "JiaXiangHong",
"rank": 1,
"adjustmentAmount": 200.00000
},
{
"transactionId": 27021008,
"transactionTime": 1599811943000,
"tournamentPlayerId": 0-458,
"playerName": "dong",
"rank": 2,
"adjustmentAmount": 100.00000
}
]
}
],
"totalPage": 1
},
"error": null
}
PG SOFT™ 106
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/Tournament/v2/CreateTournament
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value
as GUID format
Body Parameters:
Parameter name Data type Mandatory Description
tournament_info JSON Array Yes Tournament Info
Boolean Yes To identify if the tournament
has_sub_tournaments
has Sub-Tournaments
Uint Yes Point Tournament:
1: Accumulation
2: Depletion
3: Hybrid
Cash Tournament:
game_mode 4: Profit Percentage
5: Win Percentage
6: Profit Amount
7: Win Amount
8: Win count
9: Spin Count
10: Total Bet
qualified_point Decimal Yes Required points for ranks
Decimal Yes Initial points for tournament
initial_point
(only for point tournament)
game_ids Uint Array Yes Game for tournament
String Array Yes Currency used in the
currency
tournament
start_time Long Yes Tournament start time
end_time Long Yes Tournament end time
operator_token String Yes Unique identity of operator
PG SOFT™ 107
Pocket Games Software
www.pgsoft.com
PG SOFT™ 108
Pocket Games Software
www.pgsoft.com
1: Cash prize
Note:
Cash prize will automatically be transferred to
player’s wallet after the tournament ends.
prize JSON Array Prize information
Prize JSON Array
Parameter name Data type Description
Integer Range of the number of prize winners.
position_to Example: 3 = the current prize would be for 1st to 3rd
winners.
item String Prize Item
Note:
Cash prize will be given based on the currency base
rate of the game.
Example:
URL:
https://api.pg-bo.me/external/Tournament/v2/CreateTournament?trace_id=b3f37e57-
2873-40b1-aa95-f126c25ed311
Body:
tournament_info={"language":"fi-
FI","info":{"name":"TournamentName","description":"TournamentDesc","rules":"Tourna
mentRules","winning_criteria":"WinningCriteria","registration_fees":"RegistrationF
ees","registration_url":"RegistrationUrl","prize_type":0,"prize":{"winner_prize_de
tails":[{"position_to":1,"item":"1st prize"},{"position_to":3,"item":"2rd
prize"},{"position_to":10,"item":"3rd
prize"}]}}}&sub_tournament_info={"game_ids":[1,2,3],"start_time":1613623305000,"en
d_time":1613796105000}&has_sub_tournaments=true&start_time=1613623305000&end_time=
1613796105000¤cy=JPY&qualified_point=200&initial_point=199&game_mode=1&game_
ids=1&game_ids=2&operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&maximum_revi
ve_allowed=10&maximum_register_allowed=10&number_of_player_limit=10&minimum_bet_am
ount=3.1&minimum_bet_count=5&leaderboard_player=100&player_multiplier=2&required_r
egister=true
PG SOFT™ 109
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
Parameter name Data type Description
tournamentId Uint Create Tournament ID
Example:
{
"data": {
"tournamentId": 1859
},
"error": null
}
PG SOFT™ 110
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/Tournament/v2/UpdateTournament
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value
as GUID format
Body Parameters:
Data
Parameter name Mandatory Description
type
tournament_id Integer Yes Unique identity of tournament
start_time Long Yes Tournament start time
end_time Long Yes Tournament end time
qualified_point Decimal Yes Required points for ranks
Integer Yes Games for tournament
game_ids
Array
String Yes List of Tournament currency
currency
Array
Integer No Maximum number of players to register
number_of_player_limit
tournament
operator_token String Yes Unique identity of operator
String Yes Shared passphrase between PGSoft and
secret_key
operator
Example:
URL:
https://api.pg-bo.me/external/Tournament/v2/UpdateTournament?trace_id=b3f37e57-
2873-40b1-aa95-f126c25ed311
Body:
tournament_id=1757&start_time=1604016000000&end_time=1604102400000&qualified_point
=9639&game_ids=2&game_ids=1¤cy=JPY¤cy=CNY&number_of_player_limit=9639&
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl
PG SOFT™ 111
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
Parameter name Data type Description
data Boolean Update status
Example:
{
"data": true,
"error": null
}
PG SOFT™ 112
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/Tournament/v2/UpdateSubTournament
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value
as GUID format
Body Parameters:
Parameter name Data type Mandatory Description
tournament_id Uint Yes Unique identity of tournament
sub_tournament_info JSON Array Yes Sub-Tournament information
operator_token String Yes Unique identity of operator
String Yes Shared passphrase between
secret_key
PGSoft and operator
participant_tokens String Array Yes Unique identity of operator
Example:
URL:
https://api.pg-
bo.me/external/Tournament/v2/UpdateSubTournament?trace_id=b3f37e57-2873-40b1-
aa95-f126c25ed311
Body:
tournament_id=1859&operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&sub_tourna
ment_info:{"sub_tournament_id":1737,"interval_start_time":1604016000000,"interval_
end_time":1604102400000,"game_ids":[1,2]}&participant_tokens=abc123&participant_to
kens=abc124
PG SOFT™ 113
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
Parameter name Data type Description
data Boolean Update status
Example:
{
"data": true,
"error": null
}
PG SOFT™ 114
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/Tournament/v2/GetTournamentInfoLanguageByTournamentId
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value
as GUID format
Body Parameters:
Parameter name Data type Mandatory Description
tournament_id Uint Yes Unique identity of tournament
operator_token String Yes Unique identity of operator
secret_key String Yes Shared passphrase between
PGSoft and operator
Example:
URL:
https://api.pg-
bo.me/external/Tournament/v2/GetTournamentInfoLanguageByTournamentId?trace_id=b3f3
7e57-2873-40b1-aa95-f126c25ed311
Body:
tournament_id=1845&operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl
Response
Body Parameters:
Parameter name Data type Description
tournamentInfoId Uint Unique identity of tournament info id
language String Tournament supported language
name String Name of the Tournament
description String Additional description
rules String Rules for the Tournament
winningCriteria String Winning Requirements
registrationFees String Registration fees of Tournament
registrationUrl String Tournament registration Url
Type of tournament prize
prizeType Uint 0: Item prize
1: Cash prize
PG SOFT™ 115
Pocket Games Software
www.pgsoft.com
Example:
{
"data": [
{
"tournamentInfoId": 1876,
"language": "ja-JA",
"name": "ILName",
"description": "ILDesc",
"rules": "ILRules",
"winningCriteria": "ILWinningCt",
"registrationFees": "ILRegistrationFees",
"registrationUrl": "ILRegistrationUrl",
"prizeType": 1,
"prize": {
"winnerPrizeDetails": {
"1": {
"positionFrom": 1,
"positionTo": 1,
"item": "myItem"
},
"2": {
"positionFrom": 2,
"positionTo": 2,
"item": "myItem2"
},
"3": {
"positionFrom": 3,
"positionTo": 3,
"item": "myItem3"
}
}
},
"createdTime": 1606969557000,
"updatedTime": 1607315386000,
"createdBy": "External API",
"updatedBy": "External API"
}
],
"error": null
}
PG SOFT™ 116
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/Tournament/v2/CreateTournamentInfoLanguage
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value
as GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between
secret_key String Yes
PGSoft and operator
participant_tokens String Array Yes Unique identity of operator
tournament_id Uint Yes Unique identity of tournament
name String Yes Name of the Tournament
Tournament supported
language String Yes
languages
description String No Additional description
rules String No Rules for the Tournament
winning_criteria String No Winning Requirements
Registration fees of
registration_fees String No
Tournament
registration_url String No Tournament registration URL
prize JSON Array No Tournament prize
PG SOFT™ 117
Pocket Games Software
www.pgsoft.com
Example:
URL:
https://api.pg-
bo.me/external/Tournament/v2/CreateTournamentInfoLanguage?trace_id=b3f37e57-2873-
40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&tournament_id=1845name=InfoLa
nguageName&language=ja-
JA&description=XXX&rules=XXX&winning_criteria=XXX®istration_fees=XXX®istrati
on_url=XXX&prize:{"winner_prize_details":[{"position_to":1,"item":"myItem"},{"posi
tion_to":2,"item":"myItem2"},{"position_to":3,"item":"myItem3"}]}&participant_toke
ns=abc123&participant_tokens=abc123
Response
Body Parameters:
Parameter name Data type Description
tournamentInfoId Uint Unique identity of tournament info
Example:
{
"data": 1895,
"error": null
}
PG SOFT™ 118
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/Tournament/v2/UpdateTournamentInfoLanguage
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value
as GUID format
Body Parameters:
Parameter name Data type Mandatory Description
tournament_id Uint Yes Unique identity of tournament
Unique identity of tournament
tournament_info_id String Yes
info
name String Yes Name of the Tournament
Tournament supported
language String Yes
language
description String No Additional description
rules String No Rules for the Tournament
winning_criteria String No Winning Requirements
Registration fees of
registration_fees String No
Tournament
registration_url String No Tournament registration Url
prize JSON Array No Tournament prize
operator_token String Yes Unique identity of operator
Shared passphrase between
secret_key String Yes
PGSoft and operator
participant_tokens String Array Yes Unique identity of operator
prize JSON Array
Parameter name Data type Description
winner_prize_details JSON Array Tournament winner’s prize
prize JSON Array
Parameter name Data type Description
Range of the number of prize winners.
position_to Integer Example: 3 = the current prize would be for 1st to 3rd
winners.
PG SOFT™ 119
Pocket Games Software
www.pgsoft.com
Example:
URL:
https://api.pg-
bo.me/external/Tournament/v2/UpdateTournamentInfoLanguage?trace_id=b3f37e57-2873-
40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&tournament_id=1845&tournament
_info_id=1876&name=ILName&language=ja-
JA&description=ILDesc&rules=ILRules&winning_criteria=ILWinningCt®istration_fees
=ILRegistrationFees®istration_url=ILRegistrationUrl&prize:{"winner_prize_detail
s":[{"position_to":1,"item":"myItem"},{"position_to":2,"item":"myItem2"},{"positio
n_to":3,"item":"myItem3"}]}&participant_tokens=abc123&participant_tokens=abc123
Response
Body Parameters:
Parameter name Data type Description
data Boolean Update status
Example:
{
"data": true,
"error": null
}
PG SOFT™ 120
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/Tournament/v2/DeleteTournamentInfoLanguage
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value
as GUID format
Body Parameters:
Parameter name Data type Mandatory Description
tournament_id Uint Yes Unique identity of tournament
Unique identity of tournament
tournament_info_id String Yes
info id
operator_token String Yes Unique identity of operator
Shared passphrase between
secret_key String Yes
PGSoft and operator
Example:
URL:
https://api.pg-
bo.me/external/Tournament/v2/DeleteTournamentInfoLanguage?trace_id=b3f37e57-2873-
40b1-aa95-f126c25ed311
Body:
tournament_id=1845&tournament_info_id=1875&operator_token=abc123&secret_key=a1b25c
de5f3gh46ijkl
Response
Body Parameters:
Parameter name Data type Description
data Boolean Update status
Example:
{
"data": true,
"error": null
}
PG SOFT™ 121
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/Tournament/v2/CancelTournamentPlayer
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value
as GUID format
Body Parameters:
Parameter name Data type Mandatory Description
tournament_player_id String Yes Unique identity of tournament
player id
operator_token String Yes Unique identity of operator
secret_key String Yes Shared passphrase between
PGSoft and operator
Example:
URL:
https://api.pg-
bo.me/external/Tournament/v2/CancelTournamentPlayer?trace_id=b3f37e57-2873-40b1-
aa95-f126c25ed311
Body:
tournament_player_id=843662&operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl
Response
Body Parameters:
Parameter name Data type Description
data Boolean Remove player status
Example:
{
"data": true,
"error": null
}
PG SOFT™ 122
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/Tournament/v2/RevivePlayers
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value
as GUID format
Body Parameters:
Parameter name Data type Mandatory Description
player_name String Yes Unique identity of player name
sub_tournament_id Uint Yes Unique identity of Sub-
Tournament
operator_token String Yes Unique identity of operator
secret_key String Yes Shared passphrase between
PGSoft and operator
Example:
URL:
https://api.pg-bo.me/external/Tournament/v2/RevivePlayers?trace_id=b3f37e57-2873-
40b1-aa95-f126c25ed311
Body:
tournament_player_id=843662&operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl
PG SOFT™ 123
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
Parameter name Data type Description
tournamentKey String Unique key of tournament
Unique identity of tournament player
tournamentPlayerId String
id
operatorToken String Unique identity of operator
playerName String Unique identity of player name
balanceAmount Decimal Amount given to player when revived
Numbers of times a player is allowed to
registerAllowed Integer
re-register for the tournament
Numbers of times a player is allowed to
reviveAllowed Integer
be revived in a tournament
Example:
{
"data": {
"tournamentKey": "1870-2283-843667_P",
"tournamentPlayerId": 0-456,
"operatorToken": "a**d",
"playerName": "hltestdev",
"balanceAmount": 200.00000,
"registerAllowed": 9,
"reviveAllowed": 9
},
"error": null
}
PG SOFT™ 124
Pocket Games Software
www.pgsoft.com
Note:
External Bet History API is a dedicated API which using standalone URL: {DataGrabAPIDomain}
PG SOFT™ 125
Pocket Games Software
www.pgsoft.com
Notes
• Operator can retrieve the bet history for the last 60 days.
• This API is for reporting purposes only. We do not recommend using this API for any other business
operations. Please contact PG if you require it to integrate with business operations.
• PG may re-push data by renewing the data row version. Operator is required to identify and update
duplicated data by betId.
• Data row version cannot be a unique value. Operator is required to grab at least 1500 records for every
request.
Steps
• Step 1: In the very first GetHistory API call, set row_version = 1
• Step 2: Save the maximum rowVersion in each data grabbing request call
• Step 3: In the subsequence calls, set the row_version value to the saved rowVersion in Step
2.
• Repeat step 2 and 3 until records returned are lesser than the required count (e.g.: 1500
records per request)
• If the number of records returned are less than the required count, stop, and wait for a time
interval (recommended 5 minutes) for the next API call
• Identify duplicate records by checking duplicate betId in each call
PG SOFT™ 126
Pocket Games Software
www.pgsoft.com
Request
API URL : {DataGrabAPIDomain}/Bet/v4/GetHistory
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
Number of records for each batch
count Integer Yes
Note: Value range 1500-5000
Bet types of bet record:
bet_type Integer Yes
1: Real game
Updated time of data
(Unix time stamp in milliseconds)
Note:
• Set value to 1 for first call
row_version Long Yes
• Operator is required to save
maximum row_version for each
call, to be used as row_version
value for next call request
Status of hands:
0: All (Default)
hands_status Long No 1: Non-last hand
2: Last hand
3: Adjusted
Example:
URL:
https://api.pg-bo.me/external-datagrabber/Bet/v4/GetHistory?trace_id=b3f37e57-
2873-40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&count=5000&bet_type=1&row_ver
sion=1346592723000&hands_status=0
PG SOFT™ 127
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Array
Data
Parameter name Description
type
betId Ulong Unique identity of child bet (Unique key value)
parentBetId Ulong Unique identity of parent bet
playerName String Unique identity of player
currency String Currency used by player in the record
gameId Integer Unique identity of game
Platform of bet record
platform Integer
(Please refer to Platform for more information)
Category of bet record:
betType Integer
1: Real game
Category of transaction:
0: Adjusted bet (reset game state)
transactionType Integer 1: Cash
2: Bonus
3: Free game
betAmount Decimal* Turnover of player
winAmount Decimal* Pay-out of player
jackpotRtpContributionAmount Decimal* Jackpot RTP contribution amount of player
jackpotContributionAmount Decimal* Jackpot contribution amount of player
jackpotWinAmount Decimal* Jackpot win amount of player
balanceBefore Decimal* Balance of player before transaction
balanceAfter Decimal* Balance of player after transaction
Status of hand:
1: Non-last hand
handsStatus Integer
2: Last hand
3: Adjusted
Updated time of data
rowVersion Long
(Unix time stamp in milliseconds)
Start time of current bet
betTime Integer
(Unix time stamp in milliseconds)
End time of current bet
betEndTime Integer
(Unix time stamp in milliseconds)
To indicate the spin type:
isFeatureBuy Boolean True: Feature spin
False: Normal spin
* System might return results up to 6 decimal places depending on game and balance
PG SOFT™ 128
Pocket Games Software
www.pgsoft.com
Example:
{
"data":[
{
"betId": 1443839146530971234,
"parentBetId": 1443839146530971234,
"playerName": "player1",
"currency": "CNY",
"gameId": 92,
"platform": 1,
"betType": 1,
"transactionType": 1,
"betAmount": 500.0,
"winAmount": 0.0,
"jackpotRtpContributionAmount": 0.0,
"jackpotContributionAmount": 0.0,
"jackpotWinAmount": 0.0,
"balanceBefore": 78962.39,
"balanceAfter": 78462.39,
"handsStatus": 2,
"rowVersion": 1633073283123,
"betTime": 1633073052123,
"betEndTime": 1633073052123,
"isFeatureBuy": false
},
{
"betId": 1443839117799981234,
"parentBetId": 1443839028721351234,
"playerName": "player1",
"currency": "CNY",
"gameId": 92,
"platform": 1,
"betType": 1,
"transactionType": 1,
"betAmount": 0.0,
"winAmount": 0.0,
"jackpotRtpContributionAmount": 0.0,
"jackpotContributionAmount": 0.0,
"jackpotWinAmount": 0.0,
"balanceBefore": 79462.39,
"balanceAfter": 79462.39,
"handsStatus": 2,
"rowVersion": 1633073284123,
"betTime": 1633073045123,
"betEndTime": 1633073045123,
"isFeatureBuy": false
}
],
"error": null
}
PG SOFT™ 129
Pocket Games Software
www.pgsoft.com
Notes
• Operator can retrieve the bet history for the last 60 days.
• This API is for reporting purposes only. We do not recommend using this API for any other business
operations. Please contact PG if you require it to integrate with business operations.
• We recommend operators delay grabbing the data after an hour as the data may update
within an hour.
• We also recommend operator always grab the data through the automated job for the data
an hour ago.
• Other than that, we strongly recommend operator to grab the data by Get History API instead
of Get History for Specific Time API to prevent the data may update within an hour.
Steps
• Step 1: In the very first GetHistory API call, set from_time = unix timestamp of your desired
time, and set to_time as current time
• Step 2: Save the maximum betEndTime in each data grabbing request call
• Step 3: In the subsequence calls, set the from_time parameter value to the saved
betEndTime in step 2, to_time parameter value may remain unchanged (current time)
• Repeat step 2 and 3 until records returned are lesser than the required count (e.g.: 1500
records per request)
• If number of records returned are less than the required count, stop, and wait for a time
interval (recommended 5 minutes) for the next API call
• Identify duplicate records by checking duplicate betId in each call
PG SOFT™ 130
Pocket Games Software
www.pgsoft.com
Request
API URL : {DataGrabAPIDomain}/Bet/v4/GetHistoryForSpecificTimeRange
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
Number of records for each batch
count Integer Yes
Note: Value range 1500-5000
Bet types of bet record:
bet_type Integer Yes
1: Real game
Time range of the start time and end
from_time Long Yes
time of the bet records
(Unix time stamp in milliseconds)
to_time Long Yes
Note: Value range 1 day - 40 days
Example:
URL:
https://api.pg-bo.me/external-
datagrabber/Bet/v4/GetHistoryForSpecificTimeRange?trace_id=b3f37e57-2873-40b1-
aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&count=5000&bet_type=1&from_ti
me=1346592723000&to_time=1546592723000
PG SOFT™ 131
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Array
Data
Parameter name Description
type
betId Ulong Unique identity of child bet (Unique key value)
parentBetId Ulong Unique identity of parent bet
playerName String Unique identity of player
currency String Currency used by player in the record
gameId Integer Unique identity of game
Platform of bet record
platform Integer
(Please refer to Platform for more information)
Category of bet record:
betType Integer
1: Real game
Category of transaction:
0: Adjusted bet (reset game state)
transactionType Integer 1: Cash
2: Bonus
3: Free game
betAmount Decimal* Turnover of player
winAmount Decimal* Pay-out of player
jackpotRtpContributionAmount Decimal* Jackpot RTP contribution amount of player
jackpotContributionAmount Decimal* Jackpot contribution amount of player
jackpotWinAmount Decimal* Jackpot win amount of player
balanceBefore Decimal* Balance of player before transaction
balanceAfter Decimal* Balance of player after transaction
Status of hand:
1: Non-last hand
handsStatus Integer
2: Last hand
3: Adjusted
Updated time of data
rowVersion Long
(Unix time stamp in milliseconds)
Start time of current bet
betTime Integer
(Unix time stamp in milliseconds)
End time of current bet
betEndTime Integer
(Unix time stamp in milliseconds)
To indicate the spin type:
isFeatureBuy Boolean True: Feature spin
False: Normal spin
* System might return results up to 6 decimal places depending on game and balance
PG SOFT™ 132
Pocket Games Software
www.pgsoft.com
Example:
{
"data":[
{
"betId": 1443924025750851234,
"parentBetId": 1443924025750851234,
"playerName": "player1",
"currency": "CNY",
"gameId": 89,
"platform": 1,
"betType": 1,
"transactionType": 1,
"betAmount": 6.0,
"winAmount": 0.0,
"jackpotRtpContributionAmount": 0.0,
"jackpotContributionAmount": 0.0,
"jackpotWinAmount": 0.0,
"balanceBefore": 17762.94,
"balanceAfter": 17756.94,
"handsStatus": 2,
"rowVersion": 1633093531234,
"betTime": 1633093281234,
"betEndTime": 1633093281234,
"isFeatureBuy": false
},
{
"betId": 1443924030033241234,
"parentBetId": 1443924030033241234,
"playerName": "player1",
"currency": "CNY",
"gameId": 89,
"platform": 1,
"betType": 1,
"transactionType": 1,
"betAmount": 6.0,
"winAmount": 36.0,
"jackpotRtpContributionAmount": 0.0,
"jackpotContributionAmount": 0.0,
"jackpotWinAmount": 0.0,
"balanceBefore": 17756.94,
"balanceAfter": 17786.94,
"handsStatus": 1,
"rowVersion": 1633093521234,
"betTime": 1633093291234,
"betEndTime": 1633093291234,
"isFeatureBuy": false
}
],
"error": null
}
PG SOFT™ 133
Pocket Games Software
www.pgsoft.com
Notes
• Operator can retrieve the bet history for the last 60 days.
• This API is for reporting purposes only. We do not recommend using this API for any other business
operations. Please contact PG if you require it to integrate with business operations.
Request
API URL : {DataGrabAPIDomain}/Bet/v4/GetPlayerHistory
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
player_name String Yes Unique identity of player
Bet types of bet record:
bet_type Integer Yes
1: Real game
Time range of start times and end times
start_time Long Yes
of bet records
(Unix time stamp in milliseconds)
end_time Long Yes
Note: Value range 1 day - 7 days
Example:
URL:
https://api.pg-bo.me/external-
datagrabber/Bet/v4/GetPlayerHistory?trace_id=b3f37e57-2873-40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&player_name=player1&start_tim
e=1346592723000&end_time=1546592723000
PG SOFT™ 134
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Array
Data
Parameter name Description
type
betId Ulong Unique identity of child bet (Unique key value)
parentBetId Ulong Unique identity of parent bet
playerName String Unique identity of player
currency String Currency used by player in the record
gameId Integer Unique identity of game
Platform of bet record
platform Integer
(Please refer to Platform for more information)
Category of bet record:
betType Integer
1: Real game
Category of transaction:
0: Adjusted bet (reset game state)
transactionType Integer 1: Cash
2: Bonus
3: Free game
betAmount Decimal* Turnover of player
winAmount Decimal* Pay-out of player
jackpotRtpContributionAmount Decimal* Jackpot RTP contribution amount of player
jackpotContributionAmount Decimal* Jackpot contribution amount of player
jackpotWinAmount Decimal* Jackpot win amount of player
balanceBefore Decimal* Balance of player before transaction
balanceAfter Decimal* Balance of player after transaction
Status of hand:
1: Non-last hand
handsStatus Integer
2: Last hand
3: Adjusted
Updated time of data
rowVersion Long
(Unix time stamp in milliseconds)
Date of current record
betTime Integer
(Unix time stamp in milliseconds)
End time of current bet
betEndTime Integer
(Unix time stamp in milliseconds)
To indicate the spin type:
isFeatureBuy Boolean True: Feature spin
False: Normal spin
* System might return results up to 6 decimal places depending on game and balance
PG SOFT™ 135
Pocket Games Software
www.pgsoft.com
Example:
{
"data":[
{
"betId": 1443458363362385920,
"parentBetId": 1443458363362385920,
"playerName": "fongying",
"currency": "CNY",
"gameId": 94,
"platform": 1,
"betType": 1,
"transactionType": 1,
"betAmount": 5.0,
"winAmount": 0.0,
"jackpotRtpContributionAmount": 0.0,
"jackpotContributionAmount": 0.0,
"jackpotWinAmount": 0.0,
"balanceBefore": 10001704.78,
"balanceAfter": 10001699.78,
"handsStatus": 2,
"rowVersion": 1632982509049,
"betTime": 1632982266626,
"betEndTime": 1632982266654,
"isFeatureBuy": false
},
{
"betId": 1443458366315175936,
"parentBetId": 1443458366315175936,
"playerName": "fongying",
"currency": "CNY",
"gameId": 94,
"platform": 1,
"betType": 1,
"transactionType": 1,
"betAmount": 5.0,
"winAmount": 0.0,
"jackpotRtpContributionAmount": 0.0,
"jackpotContributionAmount": 0.0,
"jackpotWinAmount": 0.0,
"balanceBefore": 10001699.78,
"balanceAfter": 10001694.78,
"handsStatus": 2,
"rowVersion": 1632982515184,
"betTime": 1632982267325,
"betEndTime": 1632982267354,
"isFeatureBuy": false
}
],
"error": null
}
PG SOFT™ 136
Pocket Games Software
www.pgsoft.com
Notes
• Operator can retrieve the bet history for the last 60 days.
• This API is for reporting purposes only. We do not recommend using this API for any other business
operations. Please contact PG if you require it to integrate with business operations.
• PG may re-push data by renewing data row version. Operator is required to identify, and update
duplicated data by betId.
• Data row version cannot be a unique value. Operator is required to grab at least 1500 records for every
request.
Request
API URL : {DataGrabAPIDomain}/Bet/v4/GetPlayerDailySummary
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
Number of records for each batch
count Integer Yes
Note: Value range 1500-5000
Category of bet record:
bet_type Integer Yes
1: Real game
Updated time of data
row_version Long Yes
(Unix time stamp in milliseconds)
Time zone:
-5: UTC-5
-4: UTC-4
0: UTC (Default)
time_zone Integer No
1: UTC+1
4: UTC+4
7: UTC+7
8: UTC+8
PG SOFT™ 137
Pocket Games Software
www.pgsoft.com
Example:
URL:
https://api.pg-bo.me/external-
datagrabber/Bet/v4/GetPlayerDailySummary?trace_id=b3f37e57-2873-40b1-aa95-
f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&count=5000&bet_type=1&row_ver
sion=1346592723000&time_zone=8
Response
Body Parameters:
JSON Array
Parameter name Data type Description
playerName String Unique identity of player
Category of player:
playerType Integer 1: Real player
2: Test player
gameId Integer Unique identity of game
Category of bet record:
betType Integer
1: Real game
Category of transaction:
0: Adjusted bet (reset game state)
transactionType Integer 1: Cash
2: Bonus
3: Free game
Platform of bet record
platform Integer
(Please refer to Platform for more information)
currency String Currency used by player in the record
hands Integer Counts of main bets
games Integer Counts of child bets
betAmount Decimal* Turnover of player
winLossAmount Decimal* Win loss amount of player
jackpotContributionAmount Decimal* Jackpot contribution amount of player
jackpotWinAmount Decimal* Jackpot win amount of player
Updated time of data
rowVersion Long
(Unix time stamp in milliseconds)
Date of current record
summaryDate Integer
(Unix time stamp in milliseconds)
* System might return results up to 6 decimal places depending on game and balance
PG SOFT™ 138
Pocket Games Software
www.pgsoft.com
Example:
{
"data":[
{
"playerName": " player1",
"playerType": 1,
"gameId": 39,
"betType": 1,
"transactionType": 1,
"platform": 1,
"currency": "EUR",
"hands": 2,
"games": 2,
"betAmount": 60.05,
"winLossAmount": -60.05,
"jackpotContributionAmount": 0,
"jackpotWinAmount": 0,
"rowVersion": 1545971022000,
"summaryDate": 1545955200000
},
{
"playerName": "player2",
"playerType": 1,
"gameId": 24,
"betType": 1,
"transactionType": 1,
"platform": 1,
"currency": "EUR",
"hands": 9,
"games": 9,
"betAmount": 0.09,
"winLossAmount": 1.91,
"jackpotContributionAmount": 0,
"jackpotWinAmount": 0,
"rowVersion": 1546238743000,
"summaryDate": 1546214400000
}
],
"error": null
}
PG SOFT™ 139
Pocket Games Software
www.pgsoft.com
Notes
• Operator can retrieve the bet history for the last 60 days.
• This API is for reporting purposes only. We do not recommend using this API for any other business
operations. Please contact PG if you require it to integrate with business operations.
• PG may re-push data by renewing data row version. Operator is required to identify, and update
duplicated data by playerName, gameId and summaryDate.
Request
API URL : {DataGrabAPIDomain}/Bet/v4/GetPlayerDailySummaryForSpecificTimeRange
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value
as GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft
secret_key String Yes
and operator
Number of records for each batch
count Integer Yes
Note: Value range 1500-5000
Category of bet record:
bet_type Integer Yes
1: Real game
Updated time of data
row_version Long Yes
(Unix time stamp in milliseconds)
Time range of start times and end
from_time Long Yes
times of bet records
(Unix time stamp in milliseconds)
to_time Long Yes Note:
• Value range 1 day -40 days
Time zone:
-5: UTC-5
-4: UTC-4
time_zone Integer No
0: UTC (Default)
1: UTC+1
4: UTC+4
PG SOFT™ 140
Pocket Games Software
www.pgsoft.com
8: UTC+8
Example:
URL:
https://api.pg-bo.me/external-
datagrabber/Bet/v4/GetPlayerDailySummaryForSpecificTimeRange?trace_id=b3f37e57-
2873-40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&count=5000&bet_type=1&from_ti
me=1346592723000&to_time=1546592723000&time_zone=8
Response
Body Parameters:
JSON Array
Parameter name Data type Description
playerName String Unique identity of player
Category of player:
playerType Integer 1: Real player
2: Test player
gameId Integer Unique identity of game
Category of bet record:
betType Integer
1: Real game
Category of transaction:
0: Adjusted bet (reset game state)
transactionType Integer 1: Cash
2: Bonus
3: Free game
Platform of bet record
platform Integer
(Please refer to Platform for more information)
currency String Currency used by player in the record
hands Integer Counts of main bets
games Integer Counts of child bets
betAmount Decimal* Turnover of player
winLossAmount Decimal* Win loss amount of player
jackpotContributionAmount Decimal* Jackpot contribution amount of player
jackpotWinAmount Decimal* Jackpot win amount of player
Updated time of data
rowVersion Long
(Unix time stamp in milliseconds)
Date of current record
summaryDate Integer
(Unix time stamp in milliseconds)
* System might return results up to 6 decimal places depending on game and balance
PG SOFT™ 141
Pocket Games Software
www.pgsoft.com
Example:
{
"data":[
{
"playerName": " player1",
"playerType": 1,
"gameId": 39,
"betType": 1,
"transactionType": 1,
"platform": 1,
"currency": "EUR",
"hands": 2,
"games": 2,
"betAmount": 60.05,
"winLossAmount": -60.05,
"jackpotContributionAmount": 0,
"jackpotWinAmount": 0,
"rowVersion": 1545971022000,
"summaryDate": 1545955200000
},
{
"playerName": "player2",
"playerType": 1,
"gameId": 24,
"betType": 1,
"transactionType": 1,
"platform": 1,
"currency": "EUR",
"hands": 9,
"games": 9,
"betAmount": 0.09,
"winLossAmount": 1.91,
"jackpotContributionAmount": 0,
"jackpotWinAmount": 0,
"rowVersion": 1546238743000,
"summaryDate": 1546214400000
}
],
"error": null
}
PG SOFT™ 142
Pocket Games Software
www.pgsoft.com
Notes
• Operator can retrieve the bet history for the last 60 days.
• This API is for reporting purposes only. We do not recommend using this API for any other business
operations. Please contact PG if you require it to integrate with business operations.
• PG may re-push data by renewing data row version. Operator is required to identify, and update
duplicated data by betId.
• Data row version cannot be a unique value. Operator is required to grab at least 1500 records for every
request.
Request
API URL : {DataGrabAPIDomain}/Bet/v4/GetHandsSummary
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
Number of records for each batch
count Integer Yes
Note: Value range 1500-5000
Bet types of bet record:
bet_type Integer Yes
1: Real game
Status of hands:
0: All
hands_status Long Yes
1: Incomplete
2: Completed
Updated time of data
row_version Long Yes
(Unix time stamp in milliseconds)
Example:
URL:
https://api.pg-bo.me/external-
datagrabber/Bet/v4/GetHandsSummary?trace_id=b3f37e57-2873-40b1-aa95-f126c25ed311
PG SOFT™ 143
Pocket Games Software
www.pgsoft.com
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&count=5000&bet_type=1&hands_s
tatus=2&row_version=1346592723000
Response
Body Parameters:
JSON Array
Parameter name Data type Description
parentBetId Ulong Unique identity of parent bet
playerName String Unique identity of player
gameId Integer Unique identity of game
Category of bet record:
betType Integer
1: Real game
Category of transaction:
0: Adjusted bet (reset game state)
transactionType Integer 1: Cash
2: Bonus
3: Free game
Platform of bet record
platform Integer
(Please refer to Platform for more information)
currency String Currency used by player in the record
betAmount Decimal* Turnover of player
winAmount Decimal* Pay-out of player
jackpotContributionAmount Decimal* Jackpot contribution amount of player
jackpotWinAmount Decimal* Jackpot win amount of player
balanceBefore Decimal* Balance of player before transaction
balanceAfter Decimal* Balance of player after transaction
Updated time of data
rowVersion Long
(Unix time stamp in milliseconds)
Start time of current hand
handStartTime Integer
(Unix time stamp in milliseconds)
End time of current hand
handEndTime Integer
(Unix time stamp in milliseconds)
Status of hand:
1: Non-last hand
handsStatus Integer
2: Last hand
3: Adjusted
collapseSpinCount Integer Number of normal spin collapsed
collapseFreeSpinCount Integer Number of free spin collapsed
To indicate the spin type:
isFeatureBuy Boolean True: Feature spin
False: Normal spin
PG SOFT™ 144
Pocket Games Software
www.pgsoft.com
* System might return results up to 6 decimal places depending on game and balance
Example:
{
"data":[
{
"parentBetId": 1443100640863068160,
"playerName": "fongying",
"gameId": 103,
"betType": 1,
"transactionType": 1,
"platform": 1,
"currency": "CNY",
"betAmount": 6.0,
"winAmount": 0.0,
"jackpotContributionAmount": 0.0,
"jackpotWinAmount": 0.0,
"balanceBefore": 10001632.88,
"balanceAfter": 10001626.88,
"rowVersion": 1632897431960,
"handStartTime": 1632896978967,
"handEndTime": 1632896978967,
"handStatus": 2,
"collapseSpinCount": 0,
"collapseFreeSpinCount": 0,
"isFeatureBuy": false
},
{
"parentBetId": 1443100653622140928,
"playerName": "fongying",
"gameId": 103,
"betType": 1,
"transactionType": 1,
"platform": 1,
"currency": "CNY",
"betAmount": 6.0,
"winAmount": 0.0,
"jackpotContributionAmount": 0.0,
"jackpotWinAmount": 0.0,
"balanceBefore": 10001626.88,
"balanceAfter": 10001620.88,
"rowVersion": 1632897431960,
"handStartTime": 1632896982003,
"handEndTime": 1632896982003,
"handStatus": 2,
"collapseSpinCount": 0,
"collapseFreeSpinCount": 0,
"isFeatureBuy": false
}
],
"error": null
}
PG SOFT™ 145
Pocket Games Software
www.pgsoft.com
Notes
• Operator can retrieve the bet history for the 60 days.
• This API is for reporting purposes only. We do not recommend using this API for any other business
operations. Please contact PG if you require it to integrate with business operations.
Request
API URL : {DataGrabAPIDomain}/Bet/v4/GetHandsSummaryHourly
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
Time range of start times and end times
from_time Long Yes
of bet records
(Unix time stamp in milliseconds)
to_time Long Yes
Note: Value range 1 day - 40 days
Currency used by player in the record
currency String No Default: All currencies used by player in
the record
Category of transaction:
1: Cash
Integer
transaction_types No 2: Bonus
Array
3: Free game
Default: All category of transaction
Example:
URL:
https://api.pg-bo.me/external-
datagrabber/Bet/v4/GetHandsSummaryHourly?trace_id=b3f37e57-2873-40b1-aa95-
f126c25ed311
PG SOFT™ 146
Pocket Games Software
www.pgsoft.com
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&from_time=1567296000000&to_ti
me=1569801600000¤cy=cny&transaction_types=1&transaction_types=2
Response
Body Parameters:
JSON Array
Parameter name Data type Description
dateTime Integer Date and time of a record per hour
totalHands Integer Total count of game hands
currency String Currency used by player in the record
totalBetAmount Decimal* Total amount of turnover
totalWinAmount Decimal* Total amount of pay-out
totalPlayerWinLossAmount Decimal* Total amount of player’s win and loss
totalCompanyWinLossAmount Decimal* Total amount of company’s win and loss
Category of transaction:
0: Adjusted bet (reset game state)
transactionType Integer 1: Cash
2: Bonus
3: Free game
totalCollapseSpinCount Integer Total count of normal spin collapsed
totalCollapseFreeSpinCount Integer Total count of free spin collapsed
* System might return results up to 6 decimal places depending on game and balance
PG SOFT™ 147
Pocket Games Software
www.pgsoft.com
Example:
{
"data": [
{
"dateTime": 1633093200123,
"totalHands": 6,
"currency": "CNY",
"totalBetAmount": 23.8,
"totalWinAmount": 114.0,
"totalPlayerWinLossAmount": 90.2,
"totalCompanyWinLossAmount": -90.2,
"transactionType": 1,
"totalCollapseSpinCount": 8,
"totalCollapseFreeSpinCount": 0
},
{
"dateTime": 1633093200123,
"totalHands": 13,
"currency": "EUR",
"totalBetAmount": 15.0,
"totalWinAmount": 3.4,
"totalPlayerWinLossAmount": -11.6,
"totalCompanyWinLossAmount": 11.6,
"transactionType": 1,
"totalCollapseSpinCount": 2,
"totalCollapseFreeSpinCount": 0
},
{
"dateTime": 1633093200213,
"totalHands": 2,
"currency": "THB",
"totalBetAmount": 80.0,
"totalWinAmount": 0.0,
"totalPlayerWinLossAmount": -80.0,
"totalCompanyWinLossAmount": 80.0,
"transactionType": 1,
"totalCollapseSpinCount": 0,
"totalCollapseFreeSpinCount": 0
}
],
"error": null
}
PG SOFT™ 148
Pocket Games Software
www.pgsoft.com
Notes
• Operator can retrieve the bet history for the last 40 days.
• This API is for reporting purposes only. We do not recommend using this API for any other business
operations. Please contact PG if you require it to integrate with business operations.
Request
API URL : {DataGrabAPIDomain}/Bet/v4/GetPlayerBetsSummationTotal
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
Bet types of bet record:
bet_type Integer Yes
1: Real game
Time range of start times and end times
of bet records
(Unix time stamp in milliseconds)
Note:
from_time Long Yes
Value range 1 day - 40 days.
The time will be rounded off hourly.
Example:
If the request sent by operator is
1616250600000 (20/3/2021 2:30:00
PM) ~ 1616254200000 (20/3/2021
to_time Long Yes 3:30:00 PM), system will return the
data from 1616252400000 (20/3/2021
3:00:00 PM) to 1616256000000
(20/3/2021 4:00:00 PM)
PG SOFT™ 149
Pocket Games Software
www.pgsoft.com
Example:
URL:
https://api.pg-bo.me/external-
datagrabber/Bet/v4/GetPlayerBetsSummationTotal?trace_id=b3f37e57-2873-40b1-aa95-
f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&bet_type=1&from_time=13465927
23000&to_time=1346592723000
PG SOFT™ 150
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Array
Data
Parameter name Description
type
totalCollapseSpinCount Integer Total count of normal spin collapsed
totalCollapseFreeSpinCount Integer Total count of free spin collapsed
currency String Currency used by player in the record
totalRowCount Integer Total count of game rows
totalGames Integer Total count of game rounds
totalHands Integer Total count of game hands
Total bet amount of the player
totalBetAmountConverted Decimal*
converted (currency as EUR)
Total win loss amount of the player
totalWinLossAmountConverted Decimal*
converted (currency as EUR)
Total win loss amount of the
totalCompanyWinLossAmountConverted Decimal*
company converted (currency as EUR)
Total jackpot RTP contribution
totalJackpotRtpContributionAmountConverted Decimal* amount of the records converted
(currency as EUR)
Total jackpot contribution amount of
totalJackpotContributionAmountConverted Decimal* the records converted (currency as
EUR)
Total jackpot win amount of the
totalJackpotWinAmountConverted Decimal*
records converted (currency as EUR)
totalBetAmount Decimal* Total bet amount of records
totalWinLossAmount Decimal* Total win loss amount of records
Total company win loss amount of
totalCompanyWinLossAmount Decimal*
records
Total jackpot RTP contribution
totalJackpotRtpContributionAmount Decimal*
amount of records
Total jackpot contribution amount of
totalJackpotContributionAmount Decimal*
records
totalJackpotWinAmount Decimal* Total jackpot win amount of records
* System might return results up to 6 decimal places depending on game and balance
PG SOFT™ 151
Pocket Games Software
www.pgsoft.com
Example:
{
"data":[
{
"totalCollapseSpinCount": 8,
"totalCollapseFreeSpinCount": 0,
"currency": "CNY",
"totalRowCount": 1,
"totalGames": 14,
"totalHands": 6,
"totalBetAmountConverted": 3.05092,
"totalWinLossAmountConverted": 11.56274,
"totalCompanyWinLossAmountConverted": -11.56274,
"totalJackpotRtpContributionAmountConverted": 0.0,
"totalJackpotContributionAmountConverted": 0.0,
"totalJackpotWinAmountConverted": 0.0,
"totalBetAmount": 23.8,
"totalWinLossAmount": 90.2,
"totalCompanyWinLossAmount": -90.2,
"totalJackpotRtpContributionAmount": 0.0,
"totalJackpotContributionAmount": 0.0,
"totalJackpotWinAmount": 0.0
},
{
"totalCollapseSpinCount": 2,
"totalCollapseFreeSpinCount": 0,
"currency": "EUR",
"totalRowCount": 1,
"totalGames": 16,
"totalHands": 13,
"totalBetAmountConverted": 15.0,
"totalWinLossAmountConverted": -11.6,
"totalCompanyWinLossAmountConverted": 11.6,
"totalJackpotRtpContributionAmountConverted": 0.0,
"totalJackpotContributionAmountConverted": 0.0,
"totalJackpotWinAmountConverted": 0.0,
"totalBetAmount": 15.0,
"totalWinLossAmount": -11.6,
"totalCompanyWinLossAmount": 11.6,
"totalJackpotRtpContributionAmount": 0.0,
"totalJackpotContributionAmount": 0.0,
"totalJackpotWinAmount": 0.0
}
],
"error": null
}
PG SOFT™ 152
Pocket Games Software
www.pgsoft.com
Notes
• Operator can retrieve the bet history for the last 60 days.
• This API is for reporting purposes only. We do not recommend using this API for any other business
operations. Please contact PG if you require it to integrate with business operations.
Request
API URL : {DataGrabAPIDomain}/Bet/v4/GetPlayerUnfinishedGamesBet
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
player_name String Yes Unique identity for player
Time range of tournaments’ start times
from_time Long Yes
and end times
(Unix time stamp in milliseconds)
to_time Long Yes
Note: Value range 1 day - 7 days
Integer Unique identity of games
game_ids No
Array Default: All games
Time zone:
-5: UTC-5
-4: UTC-4
time_zone Integer No 0: UTC (Default)
1: UTC+1
4: UTC+4
8: UTC+8
PG SOFT™ 153
Pocket Games Software
www.pgsoft.com
Example:
URL:
https://api.pg-bo.me/external-
datagrabber/Bet/v4/GetPlayerUnfinishedGamesBet?trace_id=b3f37e57-2873-40b1-aa95-
f126c25ed311
Body:
operator_token=abcd&secret_key=abc123&game_ids=1&player_name=player123&
from_time=1588723200000&to_time=1588982400000
PG SOFT™ 154
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Array
Data
Parameter name Description
type
parentBetId String Unique Identity of parent bet
gameId Integer Unique Identity of game
Category of transaction:
0: Adjusted bet (reset game state)
transactionType Integer 1: Cash
2: Bonus
3: Free game
platform Integer Platform of bet record
currency String Currency of record
betAmount Decimal Turnover of player
winAmount Decimal Pay-out of player
jackpotRtpContributionAmount Decimal* Jackpot RTP contribution amount of player
jackpotContributionAmount Decimal Jackpot contribution amount of player
balanceBefore Decimal Balance of player before transaction
balanceAfter Decimal Balance of player after transaction
Start time of the hand
handStartTime Long
(Unix time stamp in milliseconds)
End time of the hand
handEndTime Long
(Unix time stamp in milliseconds)
Example:
{
"data":[
{
"parentBetId": 1444964157178265600,
"gameId": 108,
"transactionType": 1,
"platform": 1,
"currency": "CNY",
"betAmount": 375.0,
"winAmount": 0.0,
"jackpotRtpContributionAmount": 0.0,
"jackpotContributionAmount": 0.0,
"balanceBefore": 10001446.89,
"balanceAfter": 10001071.89,
"handStartTime": 1633341275871,
"handEndTime": 1633341278912
}
],
"error": null
}
PG SOFT™ 155
Pocket Games Software
www.pgsoft.com
Notes
• Operator can retrieve the bet history for the last 60 days.
Request
API URL : {DataGrabAPIDomain}/Bet/v4/GetBetDetails
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
Unique identity of bets
bet_ids Ulong Yes Note:
• Max 10 bet ids
Example:
URL:
https://api.pg-bo.me/external-datagrabber/Bet/v4/GetBetDetails?trace_id=b3f37e57-
2873-40b1-aa95-f126c25ed311
Body:
operator_token=abcd&secret_key=abc123&bet_ids=1315486539764989952&bet_ids=13154865
39764989960
PG SOFT™ 156
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Array
Parameter name Data Description
type
betId Ulong Unique identity of child bet (Unique key value)
parentBetId Ulong Unique identity of parent bet
playerName String Unique identity of player
currency String Currency used by player in the record
gameId Integer Unique identity of game
platform Integer Platform of bet record
(Please refer to Platform for more information)
betType Integer Category of bet record:
1: Real game
transactionType Integer Category of transaction:
0: Adjusted bet (reset game state)
1: Cash
2: Bonus
3: Free game
betAmount Decimal* Turnover of player
winAmount Decimal* Pay-out of player
jackpotRtpContributionAmount Decimal* Jackpot RTP contribution amount of player
jackpotContributionAmount Decimal* Jackpot contribution amount of player
jackpotWinAmount Decimal* Jackpot win amount of player
balanceBefore Decimal* Balance of player before transaction
balanceAfter Decimal* Balance of player after transaction
handsStatus Integer Status of hand:
1: Non-last hand
2: Last hand
3: Adjusted
rowVersion Long Updated time of data
(Unix time stamp in milliseconds)
betTime Integer Start time of current bet
(Unix time stamp in milliseconds)
betEndTime Integer End time of current bet
(Unix time stamp in milliseconds)
isFeatureBuy Boolean To indicate the spin type:
True: Feature spin
False: Normal spin
* System might return results up to 6 decimal places depending on game and balance
PG SOFT™ 157
Pocket Games Software
www.pgsoft.com
Example:
{
"data":[
{
"betId": 1443924025750851584,
"parentBetId": 1443924025750851584,
"playerName": "jj02",
"currency": "CNY",
"gameId": 89,
"platform": 1,
"betType": 1,
"transactionType": 1,
"betAmount": 6.0,
"winAmount": 0.0,
"jackpotRtpContributionAmount": 0.0,
"jackpotContributionAmount": 0.0,
"jackpotWinAmount": 0.0,
"balanceBefore": 17762.94,
"balanceAfter": 17756.94,
"handsStatus": 2,
"rowVersion": 1633093533869,
"betTime": 1633093289187,
"betEndTime": 1633093289215,
"isFeatureBuy": false
}
],
"error": null
}
PG SOFT™ 158
Pocket Games Software
www.pgsoft.com
Notes
• Operator can retrieve the bet history for the last 60 days.
Request
API URL : {DataGrabAPIDomain}/Bet/v4/GetFailedBets
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
String Yes Shared passphrase between PGSoft and
secret_key
operator
Long Yes Time range of the start time and end
from_time
times of enquiries
Long Yes (Unix time stamp in milliseconds)
to_time
Note: Value range 1 day - 40 days
Number of records for each batch
count Integer Yes
Note: Value range 1500-5000
Example:
URL:
https://api.pg-bo.me/external-datagrabber/Bet/v4/GetFailedBets?trace_id=b3f37e57-
2873-40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&count=5000&from_time=13465927
23000&to_time=1546592723000
PG SOFT™ 159
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Array
Parameter name Data type Description
betId Integer Unique identity of child bet (Unique key value)
playerName String Unique identity of player
message String Failed reason
Integer Start time of current bet
betStartTime
(Unix time stamp in milliseconds)
Example:
{
"data":[
{
"betId": 10832988,
"playerName": "testplayer1",
"message": "Bet not found.",
"betStartTime": 1600165980624
}, {
"betId": 10832989,
"playerName": " testplayer2",
"message": "Bet not found.",
"betStartTime": 1600165980624
}
],
"error": null
}
PG SOFT™ 160
Pocket Games Software
www.pgsoft.com
Generally, pending bet will be resolved automatically when the player relaunches the game. However,
the bet will remain in pending status for some rare scenarios:
• Player did not relaunch the game after encountering an error
• PG Soft system did not receive any response from the operator when resolving pending bets
• PG Soft system receive an error response from the operator when resolving pending bets
Default interval of pending bet resolving time is set to 60 minutes. Pending bets which exceed the
interval will be resolved by PG Soft system automatically. This interval is customizable, and every
operator can have their own bet resolve interval time.
Manual resolve is required when failure to resolve pending bets after several attempts. In such case,
operator is required to resolve the pending bet manually, and PG Soft will mark these bets’ statuses
as complete after getting the confirmation from the operator.
PG SOFT™ 161
Pocket Games Software
www.pgsoft.com
PG SOFT™ 162
Pocket Games Software
www.pgsoft.com
Notes
• Operator can retrieve the bet history for the last 7 days.
Request
API URL : {DataGrabAPIDomain}/Bet/v4/GetPendingBets
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
String Yes Shared passphrase between PGSoft and
secret_key
operator
Unique identity of player
player_names string No
Default: All players
Long Time range of the start time and end
from_time Yes
times of enquiries
Long (Unix time stamp in milliseconds)
to_time Yes
Note: Value range 1 day - 7 days
Integer Number of records for each batch
count Yes
Note: Value range 1500-5000
Example:
URL:
https://api.pg-bo.me/external-datagrabber/Bet/v4/GetPendingBets?trace_id=b3f37e57-
2873-40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&player_names=testplayer1&play
er_names=testplayer2&count=5000&from_time=1346592723000&to_time=1546592723000
PG SOFT™ 163
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Array
Parameter name Data type Description
playerName String Unique identity of player
gameId String Unique identity of game
Status of bet
betStatus Integer
1: Pending
betId Ulong Unique identity of child bet (Unique key value)
betAmount Decimal Bet amount of game
Start time of current bet
betTime Integer
(Unix time stamp in milliseconds)
Example:
{
"data":[
{
"playerName": "player1",
"gameId": 38,
"betStatus": 1,
"betId": 1444876729369241234,
"betAmount": 500.0,
"betTime": 1633320431123
}
],
"error": null
}
PG SOFT™ 164
Pocket Games Software
www.pgsoft.com
Request
API URL : {DataGrabAPIDomain}/Bet/v4/ManualResolveBet
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data Mandatory Description
type
operator_token String Yes Unique identity of operator
String Yes Shared passphrase between PGSoft and
secret_key
operator
player_name string Yes Unique identity of player
Unique identity of child bet (Unique key
bet_id Integer Yes
value)
Status of bet:
is_success_bet Boolean Yes True: Successful bet
False: Failed bet
game_id Integer Yes Unique identity of game
Player balance before adjustment (For
balance_before_adjustment Decimal No successful bet only)
Default value: 0
Example:
URL:
https://api.pg-bo.me/external-
datagrabber/Bet/v4/ManualResolveBet?trace_id=b3f37e57-2873-40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&player_name=testplayer1&bet_i
d=1325714346441543680&is_success_bet=true&game_id=1
PG SOFT™ 165
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Object
Parameter name Data type Description
Bet resolve result:
resolveStatus Boolean True: Successful
False: Failed
Status of bet
0: Non-pending
1: Pending
betStatus Integer
2: Failed
3: Successful
4: Adjusted
Please refer to the following use cases for further details of API response:
Is_Success_Bet Is_Success_Bet
Actual Bet
Value in Value in API Response
Status
1 Request
st 2 Request
nd
Example:
{
"data": {
"resolveStatus": true,
"betStatus": 3
},
"error": null
}
Error Response
Code Message
1307 Invalid player game session
PG SOFT™ 166
Pocket Games Software
www.pgsoft.com
Request
API URL : {DataGrabAPIDomain}/Bet/v4/ManualResetGameState
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
player_name string Yes Unique identity of player
game_id Integer Yes Unique identity of game
operator_player_session string Yes Operator session for player
Example:
URL:
https://api.pg-bo.me/external-
datagrabber/Bet/v4/ManualResetGameState?trace_id=b3f37e57-2873-40b1-aa95-
f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&player_name=testplayer1&game_
id=1
PG SOFT™ 167
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Object
Parameter name Data type Description
Bet resolve result:
resetStatus Boolean True: Successful
False: Failed
Example:
{
"data": {
"resetStatus": true
},
"error": null
}
PG SOFT™ 168
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/Game/v2/Get
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
currency String Yes Currency of game’s legal bet amount
Language of data content:
language String No en-us: English (Default)
zh-cn: Chinese
Status of games:
0: Inactive games
status Integer No
1: Active games
Default: All status of games
Example:
URL:
https://api.pg-bo.me/external/Game/v2/Get?trace_id=b3f37e57-2873-40b1-aa95-
f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl¤cy=CNY&language=en-
us&status=1
PG SOFT™ 169
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Array
Parameter name Data type Description
gameId Integer Unique identity of game
gameName String Given name of game
gameCode String Unique code of game
gameLegalBetAmounts JSON Array Legal bet amount of games
Global status of game:
0: Inactive
1: Active
status Integer
2: Suspended
Note: Game will only be accessible if game status
and game release status are active
Status of game for operator:
0: Inactive
1: Active
releaseStatus Integer
2: Suspended
Note: Game will only be accessible if game status
and game release status are active
To indicate if free game is supported:
isSupportFreeGame Boolean True: Supported
False: Not supported
Category of game:
category Integer 1: Slot game
2: Card game
PG SOFT™ 170
Pocket Games Software
www.pgsoft.com
Example:
{
"data”: [
{
"gameId": 1,
"gameName": "Honey Trap of Diao Chan",
"gameCode": "diaochan",
"status": 1,
"releaseStatus": 1,
"isSupportFreeGame": true,
"category": 1,
"gameLegalBetAmounts": [
{
"gameId": 1,
"gameTypeId": 0,
"legalBetAmounts": [
{
"coinSize": 0.03,
"betMultiplier": 1,
"baseBet": 30,
"betAmount": 0.9
},
{
"coinSize": 0.03,
"betMultiplier": 2,
"baseBet": 30,
"betAmount": 1.8
}
]
}]
}
PG SOFT™ 171
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/Game/v2/GetGameLegalBetAmounts
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
currency String Yes Currency of game’s legal bet amount
Integer
game_ids Yes Unique identity of games
Array
Example:
URL:
https://api.pg-bo.me/external/Game/v2/GetGameLegalBetAmounts?trace_id=b3f37e57-
2873-40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl¤cy=CNY&game_ids=1&game_
ids=2
PG SOFT™ 172
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Array
Parameter name Data type Description
gameId Integer Unique identity of game
Type of game (Card game only):
0: None
gameTypeId Integer
1: Baccarat-Supersix
2: Baccarat-Commission
legalBetAmounts JSON Array Available legal bet amount of games
legalBetAmounts JSON Array
Parameter name Data type Description
coinSize Decimal Bet size of game
betMultiplier Integer Bet level of game
baseBet Integer Base bet of game
betAmount Decimal Bet amount of game
Example:
{
"data":[
{
"gameId": 1,
"gameTypeId": 0,
"legalBetAmounts": [
{
"coinSize": 0.03,
"betMultiplier": 1,
"baseBet": 30,
"betAmount": 0.9
},
{
"coinSize": 0.03,
"betMultiplier": 2,
"baseBet": 30,
"betAmount": 1.8
}
]
}
],
"error": null
}
PG SOFT™ 173
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/Game/v2/UpdateGameStatus
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity for operator
Shared passphrase between PG Soft and
secret_key String Yes
operator
Release status of game:
release_status Integer Yes 0: Inactive
1: Active
Integer
game_ids Yes Unique identity of games
Array
Example:
URL:
https://api.pg-bo.me/external/Game/v2/UpdateGameStatus?trace_id=b3f37e57-2873-
40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&release_status=1&game_ids=1&g
ame_ids=2
PG SOFT™ 174
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Object
Parameter name Data type Description
Result of action request:
actionResult Boolean true: Successful
false: Failed
Example:
{
"data":{
" actionResult": true
},
"error": null
}
PG SOFT™ 175
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/Game/v2/GetGamesCert
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
Integer Unique id of each game
game_ids No
Array Default: All games
Unique code of each game
game_codes String Array No
Default: All games
Example:
URL:
https://api.pg-bo.me/external/Game/v2/GetGamesCert?trace_id=b3f37e57-2873-40b1-
aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&game_ids=1&game_code=diaochan
PG SOFT™ 176
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Object
Parameter name Data type Description
game_id Integer Unique id of each game
game_name String Unique name of each game
game_code String Unique code of each game
cert JSON Array List of the certificates
JSON Array
Parameter name Data type Description
hash String Hash value of the game file
file String Name of the game file
Example:
{
"data": [
{
"game_id": 1,
"game_name": "Honey Trap of Diao Chan",
"game_code": "diaochan",
"cert": [
{
"hash": "e2cac0a05c7407c32fd50c4e6fb6779161dfeecc",
"file": "PG.Common.GameCore.RNG.dll"
},
{
"hash": "c4280d2afa00fd17e6b037bd7f4a1fa53b620775",
"file": "PG.Common.GameCore.Slot.Engine.dll"
},
{
"hash": "144c068a7011bb22e57e967e3561200ae2b8f41e",
"file": "PG.Game.DiaoChan.Engine.dll"
},
{
"hash": "bb95b970f2b57c62c96c111e8ddb6ac3961b0881",
"file": "PG.SlotGames.Source.DiaoChan.dll"
}
]
}
],
"error": null
}
PG SOFT™ 177
Pocket Games Software
www.pgsoft.com
Note
• Operator can only retrieve record for the last 40 days.
Request
API URL : {DataGrabAPIDomain}/cash/v2/GetWalletTransactions
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
Updated time of data
row_version Long Yes
(Unix time stamp in milliseconds)
Unique identity of player
player_name String No
Default: All players
Number of records for each batch
Note:
row_count Integer No
• Default value: 1
• Value range: 1-5000
Currency of player
currency String No
Default: All currencies of player
Example:
URL:
https://api.pg-bo.me/external-
datagrabber/cash/v1/GetWalletTransactions?trace_id=b3f37e57-2873-40b1-aa95-
f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&row_version=1346592723000&pla
yer_name=testplayer1&row_count=10¤cy=CNY
PG SOFT™ 178
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Object
Parameter name Data type Description
Updated time of data
lastRowVersion Long
(Unix time stamp in milliseconds)
result JSON Array List of the result
JSON Array
Parameter name Data type Description
transactionId String Unique identity of transaction
playerName String Unique identity of player
currencyCode String Currency of player
Transaction type:
transactionType Integer 101: Payout
201: Bet
transactionAmount Decimal Transaction amount
transactionFrom Decimal Balance before transaction
transactionTo Decimal Balance after transaction
transactionDateTime Long Transaction date and time
Example:
{
"data": {
"lastRowVersion": 1598617560000,
"result": [
{
"transactionId": 13777918,
"playerName": "Player1",
"currencyCode": "CNY",
"transactionType": 100,
"transactionAmount": 2.00,
"transactionFrom": 20001873.53,
"transactionTo": 20001875.53,
"transactionDateTime": 1598617560000
}
]
},
"error": null
}
PG SOFT™ 179
Pocket Games Software
www.pgsoft.com
Note
• Operator can only retrieve record for the last 60 days.
Request
API URL : {DataGrabAPIDomain}/Cash/v2/GetManualAdjustmentDetails
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft and
secret_key String Yes
operator
Currency of player
currency String No
Default: All currencies of player
Updated time of data
row_version Long Yes
(Unix time stamp in milliseconds)
Number of records for each batch
Note:
row_count Integer No
• Default value: 1
• Value range: 1-5000
Transaction type:
900: External Adjustment
transaction_type String No
901: Tournament Adjustment
Default: All transaction type
Reference Id for adjustment
transaction_reference_id String No
Default: All reference id for adjustment
Status of manual adjustment
1: Success
status Integer No
0: Pending
Default: Status of manual adjustment
PG SOFT™ 180
Pocket Games Software
www.pgsoft.com
Example:
URL:
https://api.pg-bo.me/external-datagrabber
/Cash/v2/GetManualAdjustmentDetails?trace_id=b3f37e57-2873-40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&row_count=10¤cy=CNY&row
_version=1346592723000&row_count=1&transaction_type=901&transaction_reference_id=a
djustment-001&status=1
Response
Body Parameters:
JSON Object
Parameter name Data type Description
Updated time of data
lastRowVersion Long
(Unix time stamp in milliseconds)
result JSON Array List of the result
JSON Array
Parameter name Data type Description
playerName String Unique identity of player
operatorToken String Unique identity of operator
currencyCode String Currency of player
transactionReferenceId String Reference Id for adjustment
Transaction type:
transactionType Integer 900: External Adjustment
901: Tournament Adjustment
transactionAmount Decimal Adjustment amount
transactionDateTime Long Adjustment date and time
Status of manual adjustment
status Integer 1: Success
0: Pending
transactionRemark String Remark for Adjustment
PG SOFT™ 181
Pocket Games Software
www.pgsoft.com
Example:
{
"data": {
"lastRowVersion": 1624444862653,
"result": [
{
"playerName": "abc",
"operatorToken": "aabbcc",
"currencyCode": "CNY",
"transactionReferenceId": "CASH-1234-1234567",
"transactionType": 901,
"transactionAmount": 1000.0,
"transactionDateTime": 1624444862653,
"status": 1,
"transactionRemark": ""
}
]
},
"error": null
}
PG SOFT™ 182
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/Player/v3/GetOnlinePlayerCount
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity for operator
Shared passphrase between PG Soft and
secret_key String Yes
operator
Unique identity for game
Note: System will return list of online
game_id Integer No
players for all games if parameter value
is not provided
Example:
URL:
https://api.pg-bo.me/external/Player/v3/GetOnlinePlayerCount?trace_id=b3f37e57-
2873-40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&game_id=1
PG SOFT™ 183
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Object
Parameter name Data type Description
totalCount Integer Total number of records
totalPlayerCount Integer Total number of online players
onlinePlayerSummary JSON Array List of online players for games
JSON Array
Parameter name Data type Description
Updated time of data
rowVersion Long
(Unix time stamp in milliseconds)
gameId Integer Unique identity for game
playerCount Integer Total number of online players
Status of player
status Integer
1: Online
Example:
{
"data":{
"onlinePlayerSummary": [
{
"rowVersion": 1581073260000,
"gameId": 0,
"playerCount": 1,
"status": 1
},
{
"rowVersion": 1581073260000,
"gameId": 52,
"playerCount": 1,
"status": 1
},
{
"rowVersion": 1581073260000,
"gameId": 68,
"playerCount": 1,
"status": 1
}
],
"totalCount": 3,
"totalPlayerCount": 3
},
"error": null
}
PG SOFT™ 184
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/Player/v3/GetPlayersOnlineStatus
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity for operator
Shared passphrase between PG Soft and
secret_key String Yes
operator
player_names String Array Yes Unique identity of player
Example:
URL:
https://api.pg-bo.me/external/Player/v3/GetPlayersOnlineStatus?trace_id=b3f37e57-
2873-40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&player_names=player1&player_n
ames=player2
PG SOFT™ 185
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Array
Parameter name Data type Description
playerName String Unique identity for player
gameId String Unique identity for game
Online status of player
status Integer 0: Offline
1: Online
Example:
{
"data":[
{
"playerName": "player1",
"status": 1,
"gameId": 12
},
{
"playerName": "player2",
"status": 0
}
],
"error": null
}
PG SOFT™ 186
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/Player/v3/GetOnlinePlayers
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the request
Note:
trace_id String Yes
• Please set the parameter value as
GUID format
Body Parameters:
Parameter name Data type Mandatory Description
operator_token String Yes Unique identity for operator
String Yes Shared passphrase between PG Soft and
secret_key
operator
Integer No Number of records for each batch
Note:
row_count
• Default value: 1000
• Value range: 1-1000
Long No Updated time of data
row_version (Unix time stamp in milliseconds)
Default value: 1
Example:
URL:
https://api.pg-bo.me/external/Player/v3/GetOnlinePlayers?trace_id=b3f37e57-2873-
40b1-aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&row_count=10
PG SOFT™ 187
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Array
Parameter name Data type Description
playerName String Unique identity for player
gameId Integer Unique identity for game
Updated time of data
rowVersion Long (Unix time stamp in milliseconds)
Default value: 1
Example:
{
"data": [
{
"playerName": "tesplayer01",
"gameId": 60,
"rowVersion": 1607503788000
},
{
" playerName": "tesplayer02",
"gameId": 65,
"rowVersion": 1607503809000
}
],
"error": null
}
PG SOFT™ 188
Pocket Games Software
www.pgsoft.com
Note
Implementation of this API is optional as player account will be created automatically for a first-time
player to access PG games.
Request
API URL : {PgSoftAPIDomain}/v3/Player/Create
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the
request
trace_id String Yes Note:
• Please set the parameter value
as GUID format
Body Parameters:
Data
Parameter name Mandatory Description
Type
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft
secret_key String Yes
and operator
Unique identity of players
• player name is not case sensitive
player_name String Yes • Only alphabet, number, and “@”,
“-”, ”_” symbols are allowed
Note: Max 50 characters
Nickname of player
nickname String No
Note: Max 50characters
currency String Yes Currency of player
Example:
URL:
https://api.pg-bo.me/external/v3/Player/Create?trace_id=b3f37e57-2873-40b1-aa95-
f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&player_name=player123¤c
y=EUR&nickname=player123
PG SOFT™ 189
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Object
Parameter name Data type Description
Status of the request
action_result Integer 1: successful
0: failed
Example:
{
"data": {
"action_result": 1
},
"error": null
}
Error Response
Code Message
1034 Invalid request
1035 Operation Failed
1200 Internal server error
1204 Invalid operator
1305 Invalid player (player already existed)
1315 Player has another operation is in progress
PG SOFT™ 190
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/v3/Player/Kick
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the
request
trace_id String Yes Note:
• Please set the parameter
value as GUID format
Body Parameters:
Data
Parameter name Mandatory Description
Type
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft
secret_key String Yes
and operator
player_name String Yes Unique identity of players
Example:
URL:
https://api.pg-bo.me/external/v3/Player/Kick?trace_id=b3f37e57-2873-40b1-aa95-
f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&player_name=player123
PG SOFT™ 191
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Object
Parameter name Data Type Description
Status of the request
action_result Integer 1: successful
0: failed
Example:
{
"data": {
"action_result": 1
},
"error": null
}
Error Response
Code Message
1034 Invalid request
1035 Operation Failed
1200 Internal server error
1204 Invalid operator
1305 Invalid player
1315 Player has another operation is in progress
PG SOFT™ 192
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/v3/Player/Suspend
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the
request
trace_id String Yes Note:
• Please set the parameter
value as GUID format
Body Parameters:
Data
Parameter name Mandatory Description
Type
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft
secret_key String Yes
and operator
player_name String Yes Unique identity of players
reason String Yes Reason to suspend the player
Example:
URL:
https://api.pg-bo.me/external/v3/Player/Suspend?trace_id=b3f37e57-2873-40b1-aa95-
f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&player_name=player123&reason=
suspendedplayer
PG SOFT™ 193
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Object
Parameter name Data Type Description
Status of the request
action_result Integer 1: successful
0: failed
Example:
{
"data": {
"action_result": 1
},
"error": null
}
Error Response
Code Message
1034 Invalid request
1035 Operation Failed
1200 Internal server error
1204 Invalid operator
1305 Invalid player
1315 Player has another operation is in progress
PG SOFT™ 194
Pocket Games Software
www.pgsoft.com
Request
API URL : {PgSoftAPIDomain}/v3/Player/Reinstate
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the
request
trace_id String Yes Note:
• Please set the parameter
value as GUID format
Body Parameters:
Data
Parameter name Mandatory Description
Type
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft
secret_key String Yes
and operator
player_name String Yes Unique identity of players
reason String Yes Reason of resume suspended player
Example:
URL:
https://api.pg-bo.me/external/v3/Player/Reinstate?trace_id=b3f37e57-2873-40b1-
aa95-f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&player_name=player123&reason=
resumesuspendedplayer
PG SOFT™ 195
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Object
Parameter name Data Type Description
Status of the request
action_result Integer 1: successful
0: failed
Example:
{
"data": {
"action_result": 1
},
"error": null
}
Error Response
Code Message
1034 Invalid request
1035 Operation Failed
1200 Internal server error
1204 Invalid operator
1305 Invalid player
1315 Player has another operation is in progress
PG SOFT™ 196
Pocket Games Software
www.pgsoft.com
Note
This API is not to check an online player’s status, it is just to check the player’s account status in PG
system. To check for an online active player, please check using the back office.
Request
API URL : {PgSoftAPIDomain}/v3/Player/Check
HTTP method : POST
URL Parameters:
Parameter name Data Type Mandatory Description
Unique identity (GUID) of the
request
trace_id String Yes Note:
• Please set the parameter
value as GUID format
Body Parameters:
Data
Parameter name Mandatory Description
Type
operator_token String Yes Unique identity of operator
Shared passphrase between PGSoft
secret_key String Yes
and operator
player_name String Yes Unique identity of players
Example:
URL:
https://api.pg-bo.me/external/v3/Player/Check?trace_id=b3f37e57-2873-40b1-aa95-
f126c25ed311
Body:
operator_token=abc123&secret_key=a1b25cde5f3gh46ijkl&player_name=player123
PG SOFT™ 197
Pocket Games Software
www.pgsoft.com
Response
Body Parameters:
JSON Object
Parameter name Data Type Description
player_name String Unique identity of players
Status of the request
0: Disabled
1: Active
status Integer
2: Inactive/Deactivated
3: Suspended
4: Player has another operation is in progress
Example:
{
"data": {
"player_name": "player123",
"status": 1
},
"error": null
}
PG SOFT™ 198
Pocket Games Software
www.pgsoft.com
3. Appendix
3.1.1 Platform
Code Category Platform
1 Windows
2 macOS
3 Web Android
4 iOS
5 others
6 Android
Cordova
7 iOS
8 Windows
Electron
9 macOS
10 Windows
11 macOS
Native
12 Android
13 iOS
98 System
others
99 Smartbot
PG SOFT™ 199