Pragmatic Play API Integration Guide
Pragmatic Play API Integration Guide
Table of Contents
Version Control..............................................................................................................................................................................8
I. API Overview............................................................................................................................................................................11
1.1 Seamless Wallet API..........................................................................................................................................................11
1.2 Balance Transfer API.........................................................................................................................................................12
1.3 Integration API..................................................................................................................................................................12
1.4 Data feeds.........................................................................................................................................................................12
1.5 Player ID............................................................................................................................................................................13
1.5.1 Seamless Wallet (Authenticate method)...................................................................................................................13
1.5.2 Balance Transfer (StartGame method)......................................................................................................................13
1.6 Play session.......................................................................................................................................................................13
Life cycle of Unfinished rounds..........................................................................................................................................13
1.7 Transaction reference.......................................................................................................................................................13
II. Integration API.........................................................................................................................................................................14
2.1 GetCasinoGames...............................................................................................................................................................14
2.1.1 Game icons................................................................................................................................................................18
2.2 GetLobbyGames................................................................................................................................................................20
2.3 CloseSession......................................................................................................................................................................22
2.4 CancelRound.....................................................................................................................................................................23
2.5 HealthCheck......................................................................................................................................................................24
2.6 Auto-finalization of Unfinished Rounds............................................................................................................................25
For Seamless Wallet API.....................................................................................................................................................25
For Balance Transfer API.....................................................................................................................................................25
2.7 Replay link.........................................................................................................................................................................26
2.8 Error codes........................................................................................................................................................................27
III. Seamless Wallet API...............................................................................................................................................................28
General description.................................................................................................................................................................28
Bonus Wallet feature..............................................................................................................................................................28
3.1 Game opening...................................................................................................................................................................29
3.1.1 Explicit launch URL (deprecated)...............................................................................................................................29
3.1.2 GameURL API method...............................................................................................................................................30
3.2 Hash calculation................................................................................................................................................................34
3.3 Data types.........................................................................................................................................................................35
3.4 Authenticate......................................................................................................................................................................38
3.5 Balance..............................................................................................................................................................................41
3.6 Bet.....................................................................................................................................................................................42
3.7 Result.................................................................................................................................................................................45
3.8 BonusWin..........................................................................................................................................................................48
3.9 JackpotWin........................................................................................................................................................................50
3.10 EndRound........................................................................................................................................................................53
3.11 Refund.............................................................................................................................................................................56
3.12 GetBalancePerGame.......................................................................................................................................................58
3.13 PromoWin.......................................................................................................................................................................60
3.14 SessionExpired................................................................................................................................................................62
3.15 Adjustment......................................................................................................................................................................63
3.16 RoundDetails...................................................................................................................................................................65
3.17 Error codes......................................................................................................................................................................66
IV. Balance Transfer API..............................................................................................................................................................67
4.1 Game opening...................................................................................................................................................................67
4.2 Hash calculation................................................................................................................................................................67
4.3 Data types.........................................................................................................................................................................68
4.4 CreatePlayer......................................................................................................................................................................69
4.5 Transfer.............................................................................................................................................................................70
4.6 GetTransferStatus.............................................................................................................................................................71
4.7 GetBalance........................................................................................................................................................................72
4.8 StartGame.........................................................................................................................................................................73
4.9 TerminateSession..............................................................................................................................................................75
4.10 TransferTransactions.......................................................................................................................................................76
4.11 Error codes......................................................................................................................................................................77
V. Games JavaScript API..............................................................................................................................................................78
5.1 Game Events Interception................................................................................................................................................78
5.2 Events................................................................................................................................................................................79
5.3 Triggers..............................................................................................................................................................................81
VI. Variable Free Spins API...........................................................................................................................................................82
6.1 Hash calculation................................................................................................................................................................82
6.2 Data types.........................................................................................................................................................................83
6.3 Create Free Spins..............................................................................................................................................................84
6.4 Cancel Free Spins..............................................................................................................................................................87
6.5 GetPlayersFSB...................................................................................................................................................................88
6.6 Add players........................................................................................................................................................................90
6.7 Add player.........................................................................................................................................................................91
6.8 Remove players.................................................................................................................................................................93
Version Control
Date Author Version Changes description
22-Feb -21 Sergiy B. 3.139 Added optional roundDetails parameter in 3.11 EndRound
25-Feb -21 Sergiy B. 3.140 Added section 15.3 Launch games from internal lobby for Italian regulated market
added optional parameters chosenBalance, previousToken, launchingType in 3.4 Authenticate
request
added optional parameter totalBalance in 3.6 Balance, 3.14 GetBalancePerGame responses
Added optional parameter dataType in 15.2 Checksums API
09-Mar-21 Sergiy B. 3.141 XVIII DGA API – remove table times from examples
3.10 jackpotWin – adding specprizeType for Bingo Physical prizes
17.3 – added special prize description to Roomlist and SessionGameInfo
21-Apr-21 Sergiy B. 3.146 Added section 15.5 SA RoundDetails
22-Apr-21 Sergiy B. 3.147 Added events and triggers in XIX. Games JavaScript API
Separated events and triggers per product
30-Apr-21 Sergiy B. 3.148 Added note for FRB with periodOfTime in 6.3 Create Free Rounds, 6.7 Create Player Free Rounds
14-May-21 Sergiy B. 3.149 Added section 8.6 Jackpot Winners; added level “G” in 8.5 Active Jackpots
17-May-21 Sergiy B. 3.150 Added section 15.6 Spanish certification requirements; added promo to 3.1 game launch
09-Jun-21 Sergiy B. 3.152 Added extraInfo in 3.4 authenticate. Added error and description in responses for all methods of III
Seamless Wallet API
30-Jun-21 Sergiy B. 3.154 Added dataType parameter to 3.15 promoWin
15-Jul-21 Sergiy B. 3.155 Added jackpotDetails to 3.10 jackpotWin
23-Jul-21 Sergiy B. 3.157 Added DataFeeds method 8.9 Canceled Rounds
23-Jul-21 Sergiy B. 3.158 Added ctlgroup parameter to 3.1 Game opening; Added extraInfo parameter to 4.8 Start Game;
Added options: addRoundDetails to 8.2 Game Rounds
03-Aug-21 Sergiy B. 3.159 Added dataType parameter to 10.1 Player’s daily totals
25-Aug-21 Dmitriy M. 3.160 Added roundDetails parameter to the 8.2 Game Rounds section
07-Sep-21 Dmitriy M. 3.162 Added 3.15 Adjustment API method
4-Dec-21 Dmitriy M. 3.166 added Sweet Bonanza DGA example, added addJPContributionAmount option for Datafeeds
8-Dec-21 Dmitriy M. 3.167 Added GetFeatures option for getCasinoGames API method
22-Dec-21 Dmitriy M. 3.168 Added validBetAmount parameter to the Adjustment API method, other minor fixes
13-Jan-22 Dmitriy M. 3.169 Minor adjustments, new CJP tournament parameters
31- Jan -22 Dmitriy M. 3.170 New parameters for the IT jurisdiction (aamsTicket, aamsSessionId) for authenticate calls
19-Feb-22 Dmitriy M. 3.171 Added addBalance option for the Datafeeds, other minor updates.
06-Apr-22 Dmitriy M. 3.172 added partialWinStatus option to round status
03-May-22 Dmitriy M. 3.173 Added new type for the FreeRoundsBonusAPI/v2/ - F (Free Bonus Feature)
28-May-22 Dmitriy M. 3.174 Added new optional API /[Link]
30-May-22 Dmitriy M. 3.175 Added Bingo DataFeeds and new roundDetails features for [Link]
28-July-22 Dmitriy M. 3.176 Added a possibility to re-use bonusCode for the same player
02-Aug-22 Sergiy B. 3.177 Added FLEXIBLE Free Tickets type to Free tickets API \ CreateFreeTickets
14-Aug-22 Dmitriy M. 3.178 Removed Simple FRB API (deprecated). Added New game event bigWinLevel.
13-Sep-22 Belets E. 3.179 5.2 Events – added bigWinLevel parameter
25-Oct-22 Sergiy B. 3.180 3.9 jackpotWin - added jackpotDetails and progressive\non-progressive warn for slots
02-Nov-22 Belets E. 3.181 3.13 PromoWin – added gameId parameter
09-Nov-22 Sergiy B. 3.182 15.2 Checksums API – added example of response with full path to critical files
17-Nov-22 Belets E. 3.183 3.13 PromoWin – added roundId parameter
01-Dec-22 Belets E. 3.184 3.1.2 GameURL API method – added rci, rce, rcHistoryUrl, rcCloseUrl, promo, ctlgroup parameters
23-Apr-24 Belets E. 3.208 15.2 Checksums API – added options > gameRelatedOnly parameter. / 9.6 Promo Details - added
options > CB – Cashback parameter / Added note for 9.1 – 9.6 / Other minor changes.
13-May-24 Belets E. 3.209 Added section - 8.7 Jackpot Winnings / Other minor changes.
30-May-24 Belets E. 3.210 Added section - 8.1 Environment list (Balance Transfer API) / Added note/host to sections 8.1-8.10,
9.1 / Other minor changes.
19-June-24 Belets E. 3.211 Added extraInfo:jurisdictionMaxBet parameter to 3.4 Authenticate / Other minor changes.
05-July-24 Belets E. 3.212 Added section - Bingo gameURL API method / Other minor changes.
09-July-24 Belets E. 3.213 Updated the Data Format subsection in section 18.1
19-July-24 Belets E. 3.214 The auto-finalization feature has been updated. The update affected sections: 1.1 / 1.2 / 1.6 / 2.6
31-July-24 Belets E. 3.215 4.8 StartGame - added jurisdiction parameter.
06-Sep-24 Belets E. 3.216 3.1.2 GameURL API method / 4.8 StartGame - added lobbyFilter parameter / Added section - 18.4
Predefined filters in Live Casino Lobby categories
19-Sep-24 Sergii O. 3.217 3.9 jackpotWin - added instanceId parameter / Other minor changes.
11-Oct-24 Belets E. 3.218 Added section – 2.7 Replay link, 2.8 Error codes / Added note for 6.4, 6.8 / Other minor changes
15-Nov-24 Belets E. 3.219 Added section – XIX. Free Chips API (19.1-19.10);
2.1 GetCasinoGames – added options>GetFcDetails parameter/ added – fcAvailable parameter
29-Nov-24 Sergii O. 3.220 Updated section – 2.1.1 Game icons and other minor changes.
06-Dec-24 Sergii O. 3.221 Updated the Get Chip Values and Create Free Chips subsections in the XIX. Free Chips API
09-Dec-24 Sergii O. 3.222 Added section – 2.8 Standalone Slots Lobby
18-Dec-24 Sergii O. 3.223 Updated section – 2.8 Standalone Slots Lobby and other minor changes.
20-Dec-24 Belets E. 3.224 3.3 Data Types – new jurisdictions added (HU/MX/X2/BR/SK/PE/AB)
Added section – 9.6 Active Prize Drops / 9.7 Prize Drop Prizes / 9.8 Prize Drop Latest Wins
17-Jan-25 Sergii O. 3.225 Updated the 2.8 Standalone Slots Lobby section
12-Mar-25 Sergii O. 3.226 Updated section – 2.1 GetCasinoGames and other minor changes.
10-Apr-25 Sergii B. 3.227 Removed section – 2.8 Standalone Slots Lobby
25-Apr-25 Belets E. 3.228 18.1 Live Casino Dynamic Games Access – updated the block with game types in the Data feeds
section
Added - 6.11 Error codes / 37#6 Bad request: playerList' size should be less or equals to 5000
and other minor changes.
30-May-25 Belets E. 3.229 Added note for [Link] Chips API / 3.15 Adjustment – added roundDetails / bonusCode
parameters.
Value MR is added to the campaignType parameter in sections 3.13 and other minor changes.
23-June-25 Sergii B. 3.230 Added section – Bonus Wallet feature
07-Jul-25 Sergiy B 3.232 Updated section XIX Free Chips API with multicurrency support
30-Jul-25 Sergii O. 3.233 Updated sections – 9.3 Tournament Prizes, 9.4 Tournament Leaderboard, 9.10 Error codes
and other minor changes.
I. API Overview
Casino Game API supports different types of games: video slots, video poker, keno, etc. and API should not be changed if
Casino Operator needs to add more games to their portfolio.
As soon as new game is available, it is added to Game Library with game symbols. Casino Operator will use provided symbol
for StartGame method during opening specific game and Bet requests will be also sent using this symbol. Game Library will
be provided to Casino Operator together with integration package or resent when new games are available.
Using this Casino Game API Casino Operator is able to integrate both types of games: web version for desktop devices and
mobile version.
Platform provides the set of games built in HTML5 technology.
2.6 Autofinalization This feature allows to resolve and complete incomplete rounds with age that exceed 30 Required
Feature days (or a shorter time, if desired) from the start of the round.
Bet Checks if the player has enough funds and subtracts money from player’s balance. Returns Required
the value of updated balance.
Refund Refunds player’s balance. This method will be used for cancellation of a bet in the case the Required
game cannot be finished.
Result Adds winning amount to player’s balance. Returns the value of updated balance. Required
BonusWin Notifies the Casino Operator that free spins are over and player’s balance should be Required
increased with bonus amount.
JackpotWin Using this method a Pragmatic Play system will notify Casino Operator about Jackpot Required
winning.
PromoWin Notifies the Casino Operator that tournament campaign is over and player’s cash balance Required
should be increased with amount in promoWin.
EndRound Notifies the Casino Operator that the game round is over, for transactions finalization Optional
purpose.
SessionExpired Notifies the Casino Operator that player’s game session has expired in PragmaticPlay Optional
system due to inactivity or game client closing.
GetBalancePerGame Returns the balance of a player per game. Optional
Adjustment Using this method the Pragmatic Play system will send to Casino Operator the amount Optional
player's balance to be adjusted with.
Live Casino Dynamic DGA is a data transfer system that will provide our operators with game table data to Required
Games Access populate thumbnails on their website.
*this functionality is required to be implemented (in Asia market the requirement needs to
be discussed with AM)
2.6 Autofinalization This feature allows to resolve and complete incomplete rounds that do not exceed Required
Feature 30 days (or a shorter time, if desired) from the start of the round.
CreatePlayer This method allows registering a new player on Pragmatic Play side. Required
Transfer This method transfers funds in to player’s balance (i.e. deposit) and out of the Required
player’s balance (i.e. withdrawal) within Pragmatic Play system
GetBalance Using this method Casino Operator can get the current balance of the player in the Required
Pragmatic Play system
StartGame Casino Operator should call this method before opening the game in player’s Required
browser. Secure one-time token is generated on the Pragmatic Play side. As the
result of this method Casino Operator will get an URL to the requested game.
TerminateSession Using this method Casino Operator can terminate the current player session and kick Required
him out all games
Live Casino Dynamic DGA is a data transfer system that will provide our operators with game table data Required
Games Access to populate thumbnails on their website.
*this functionality is required to be implemented (in Asia market the requirement
needs to be discussed with AM)
GetCasinoGames Using this method Casino Operator can retrieve the list of games available for Optional
integration.
May be used for automatic building games lobby at casino website.
CloseSession This method terminates active game sessions of the player. Optional
Play Sessions This data feed returns play sessions that was played during specified period. Optional
Failed Transactions Casino Operator can get the list of Refund and Result transactions that was not Optional
processed even after multiple attempts made by the Pragmatic Play server.
Active Jackpots Provides information about open jackpots per casino brand. Optional
Jackpot Winnings Provides a list of last winnings of the specified jackpot. Optional
1.5 Player ID
1.5.1 Seamless Wallet (Authenticate method)
Player ID (userId parameter) is unique identifier of the user within Casino Operator system. Before sending to Pragmatic
Play any gaming related request Casino Operator should authenticate a player using Authenticate method. If player is new
and its account does not exist in the Pragmatic Play system it will be created automatically on the base of the data sent by
Casino Operator server in the Authenticate response. If player account already exists in the Pragmatic Play database it will
be updated with the response data if necessary. Player id received in the Authenticate response will be sent with all
subsequent requests to Casino Operator.
Important!
To resolve and complete unfinished rounds, operators must integrate Autofinalization feature (section 2.6 Auto-
finalization of Unfinished Rounds) Autofinalization completes rounds older than 30 days by default.
URL of the HTTP service will be provided by Pragmatic Play for the production and test environments and looks
like:
2.1 GetCasinoGames
Request path: POST /getCasinoGames/
Using this method Casino Operator will get the list of casino games available for the integration.
Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service Required
options List of settings (String). By including it, operator can get additional information about game. Optional
Possible values are:
GetFrbDetails
GetLines
GetDataTypes
GetFeatures
GetFcDetails
GetStudio
FilterStudio=<studio_name>, for example
FilterStudio=PP - for Pragmatic Play games
or
FilterStudio=FP - for Fat Panda games
hash Hash code of the request. Required
Response parameters
Name Type Description
gameList CasinoGame The list of CasinoGame objects for transferring casino games details (see data type description
below)
error String(10) 0 - if the request was successfully processed or error code in other case.
Type: CasinoGame
Name Type Description
gameID String(20) Symbolic unique identifier of the game provided by Pragmatic Play.
Example: vs7monkeys, vs50amt, rla, wra, bjb
gameName String(100) Name of the game.
Example: “Lucky Dragons”, “Hot Safari”
gameTypeID String(20) Symbolic unique identifier of the game.
Example: “vs”, “rl”, “vp”.
technology String(30) Short description of the technologies in which the game is available, comma separated.
Possible values are:
html5 - HTML5 games
technologyID String(10) Technologies in which the game is available, comma separated. Possible values are:
H5 - HTML5 games
platform String(30) Platform for which the game can be opened. Possible values, comma separated:
MOBILE – if game should be opened on mobile devices
WEB – if game will be opened on desktop devices
demoGameAvailable Boolean If true, a demo version of the game is available.
aspectRatio String(10) Describes the proportional relationship between the width and the height of the game.
Example: “4:3”, “16:9”
gameIdNumeric Long The numeric value of gameID
lines Integer
Bet multiplier: value that multiplies base bet to determine total bet.
This field is optional and will appear in response in cases where request contains GetLines in options list
Possible values:
Available options:
RNG - Main portfolio games (video slots, classic slots etc.)
LC - Live Casino portfolio
VSB - Virtual sports betting portfolio
This field is optional and will appear in response in cases where request contains GetDataTypes in
options list
studio String(10) Studio the game belongs to. Available options:
PP - Pragmatic Play games
FP - Fat Panda games
This field is optional and will appear in response in cases where request contains GetStudio in options list
secureLogin=username&hash=da77af8d0ba97eaa033682466b87f569&options=GetFeatures,GetFrbDetails,Get-
Lines,GetDataTypes,GetFcDetails
...,
{
"gameID": "vs20doghouse",
"gameName": "The Dog House",
"gameTypeID": "vs",
"typeDescription": "Video Slots",
"technology": "html5",
"platform": "MOBILE,WEB",
"demoGameAvailable": true,
"aspectRatio": "16:9",
"technologyID": "H5",
"gameIdNumeric": 1547739735,
"jurisdictions": [
"GR",
"DE",..
"ON"
],
"frbAvailable": true,
"variableFrbAvailable": true,
"lines": 20,
"dataType": "RNG",
"features": [],
"fcAvailable": false
}
}
Operator can use the URL below to get icons for the games:
http(s)://{[Link]}/gs2c/common/lobby/v1/apps/slots-lobby-assets/{gameID}/{gameID}_{size}
_{branding}_{language}.{filetype}
GameID is a symbolic unique identifier of the game within the Pragmatic Play. Example: ‘vs25ultwolgol’.
Size should be specified as <width>x<height>. Example: ‘200x200’.
Branding defines the branding of an icon (see comparison of branded and non-branded icons below). The following options
exist:
B – branded icon
NB – non-branded icon
Language defines the language of an icon (see comparison of English and Chinese icons below). The following options exist:
No parameter – default language (English)
ZH – Chinese
Filetype defines the file extension. For the same size of an icon, several filetypes can exist, such as jpg, png.
The following icons can be received:
Size Branded English Non-branded English Non-branded Chinese
*Icons in bold (old sizes) exist for most games. Please note that other icon sizes and types may not be available for all games. If a game
icon does not exist but is required, AM can request it additionally.
Host: {[Link]}
Cache-Control: no-cache
2.2 GetLobbyGames
Request path: POST /CasinoGameAPI/getLobbyGames
Using this method Casino Operator will get the list of casino games configured in Back office for the slots lobby.
This method returns all games (configured in the "All Games" category) and the other categories available for slot lobbies
are "Hot Games" and "New Games".
Request parameters
secureLogin User name for authentication in the Casino Game API service Required
categories List of games (String). Possible values are: Required
all – games from All Games category
new – games from New Games category
hot – games from Hot Games category
*If multiple values are to be used, they are specified separated by commas.
country ISO Country code. Possibility to get games available (not blocked) for the specific Optional
country.
hash Hash code of the request. Required
Response parameters
secureLogin=ext_test1&categories=all,new,hot&country=ES&hash=99ff2beefd8b04926e821e6b3496c45c
2.3 CloseSession
Request path: POST /closeSession/
This method terminates active game sessions of the player. Operator has the option to remove player’s history, so that the
incomplete game rounds cannot be finished by another player (usually this is relevant for terminals). To close only game
session for specific game Operator may send game id parameter in the request.
Request parameters
Name Description
secureLogin User name for authentication in the Casino Game API service
externalPlayerId Id of the player within the Operator system.
gameId Id of the game. This is optional parameter, which has to be sent by Operator if only the session for
specific game should be closed.
clearHistory Specifies whether to clear the history of the round or not.
May have the following values:
1 – history should be removed, so that the last game round cannot be completed anymore
0 – last game round can be completed
hash Hash code of the request.
secureLogin=username&externalPlayerId=421&gameId=vs7monkeys&clearHistory=1&hash=5fd31717ba4-
da9e78ac19730212925c2
2.4 CancelRound
Request path: POST /cancelRound/
CancelRound method initiates a refund request, which the Pragmatic system will send to the Operator’s remote wallet.
After successful refund call the game round will be marked as Canceled in the Pragmatic system.
This method Operator can use any time they want to close player’s round forcefully, due to a retention policy on the
Operator’s system or according to requirements for regulated markets.
For BT integration, a round can only be canceled if it is not older than 24 hours.
Request parameters
Name Description
secureLogin User name for authentication in the Casino Game API service
externalPlayerId Id of the player within the Operator system.
gameId Id of the game. This is required parameter.
roundId Id of the game round to be canceled (play session id).
hash Hash code of the request.
secureLogin=username&externalPlayerId=421&&gameId=vs7monkeys&roundId=123456&hash=5fd31717ba4-
da9e78ac19730212925c2
2.5 HealthCheck
HealthCheck method can be used by operators to check if PragmaticPlay provider API service or Game server are live and
ready.
API service HealthCheck
Request path:
GET [Link]
Frequency of calling HealthCheck should not be more than 1 call per minute for any particular brand.
Response statuses
HTTP Status Description
200 API service is available to use
Not 200 Any other HTTP status means some issues with API service. Not ready to use.
Response body:
{
"error": "0",
"description": "OK"
}
Example of response:
HTTP Status: 200 OK
Important!
To automatically complete unfinished rounds on both the PragmaticPlay and operator side, the Autofinalization
function is required for integration.
Unfinished rounds – round with in-game free spins, or in-game bonus features, which was started by player but wasn’t
completed during game session.
Unfinished rounds can be caused by following player’s actions during gameplay:
Player hit or bought in-game free spins and closed the game without finishing them.
Player hit in-game bonus game feature and closed game without finishing it.
Player started round in RNG table game (like American Blackjack) and closed game without completing the round.
Pragmatic Play has the following rules regarding non-finished game rounds:
1. All non-finished players’ rounds are stored in PP system.
[Link] an operator has specific jurisdiction requirements or internal logic, the finalization procedure is acti-
vated for their brands. Meaning, all non-finished rounds are finalized after a specific period of time. The
period of time is configured based on jurisdiction requirements or the operator’s logic.
Important: Replay Link for a round can be obtained only if the round is not older than 31 days.
Important: For 1 casino, no more than 1 request per second can be sent.
If the server is unavailable or overloaded, send a retry.
Request parameters
Name Type Description Status
secureLogin String API user name (secureLogin value) for authentication in Pragmatic Required
Play API.
hash String Hash code of request. Required
roundId Number Unique identifier of the game round. Required
URL of the Seamless Wallet API should be provided by Casino Operator for the production and test environments.
- bonus: Represents the player's available bonus balance in wallet API methods responses.
- usedPromo: Indicates the amount of bonus funds used for a specific bet, in “Bet” API method response
cash: 90, bonus: 100, usedPromo: 0 -> The bet was fully covered by real funds.
cash: 100, bonus: 90, usedPromo: 10 -> The bet was fully covered by bonus funds.
cash: 95, bonus: 95, usedPromo: 5 -> The bet was split, using 5 real and 5 bonus funds.
Both bonus and usedPromo parameters are required in the wallet API responses. However, if the operator does not use the
player's bonus wallet, zero values should be returned for both parameters.
Winnings for rounds in which parts of the bonus wallet were used for bets will be divided in the PragmaticPlay back office
into real/bonus parts in the same proportions as were used for bets in this round
Operator can allow or decline player to participate in promo campaigns (incl. FSB, Tournament and Prize Drop
campaigns). Two way are possible:
1. By sending extraInfo / promoAvailable parameter in authenticate response (It has higher priority)
2. By sending promo parameter in launch URL (It has lower priority)
It is strongly recommended to use extraInfo / promoAvailable parameter in authenticate response!
Logic of promo parameter application for promo campaigns (incl. FSB, Tournament and Prize Drop campaigns)
Public promo campaigns: parameter value is applied for all players;
Private promo campaigns with include list: Player which is in include list will be able to participate
regardless of parameter value. Rest of players are unable to participate;
Private promo campaigns with exclude list: Player which is in exclude list will not be able to participate
regardless of parameter value. Rest of players participate depending on parameter value
Value of externalPlayerId parameter, passed in GameURL API request, must be identical to value of userId parameter,
which Operator returns in response to Authenticate API request. Otherwise game launch will be failed for the Player
Operators should use this method to obtain the URL for launching RNG, LC and VSB products.
The specification for launching bingo products is described in section 17.1 Bingo room Launching.
promo Indicates if player is allowed to participate promo campaign (incl. FSB, Optional
Tournament and Prize Drop campaigns). Possible values: “y”; “n” (Logic of
this parameter application is described in note below)
ctlgroup Identification for specific table limits group (is applicable for Live Casino Optional
portfolio only)
playMode If parameter not exist or value is REAL – return real game launch URL, if Optional
value is DEMO – return demo game launch URL.
jurisdiction Jurisdiction of the player. Optional
*Within this method is used only for playMode=DEMO.
minimode 1 or 0 Enable or disable mini mode open game Optional
operatorGameHistoryUrl URL to open game history page on Operator’s side Optional
lobbyFilter When requesting a URL for LC game: Optional
Filter values which will be predefined when user will open Live (only for LC
Casino lobby category. Possible values available in section 18.4 Predefined portfolio AND
filters in Live Casino Lobby categories Standalone
Slots Lobby)
When requesting a URL for Standalone Slots lobby:
Category that will be opened in the Standalone Slots Lobby by default
when it is launched.
Possible options:
forYou – For You category will be opened when launching the
lobby;
allSlots – All Slots category will be opened when launching the
lobby;
DDW – Drops and Wins category will be opened when launching
the lobby.
If no option or incorrect value is sent in the ‘lobbyFilter’ parameter, the
‘For you' category will be opened by default.
hash Hash code of the request. Required
Response parameters
Name Description
gameURL Link to the game to be open on the Pragmatic Play side. This link will contain special
parameters which should remain as is.
Below table contains the error codes that the Pragmatic Play system will return in the response to GameURL API calls.
Code Description Further action recommendations
language String(2) Language code in ISO 639-1 standard (e.g. en, fr, it).
bonusCode String Bonus unique identifier within the Operator system. Max length of this
parameter depends on requestId. The sum of their length has to be 252
symbols or less.
requestId String Unique identifier of FSB credit request (for specific player). It has to be passed to
re-use the same bonusCode value again for the player. Max length of this
parameter depends on bonusCode. The sum of their length has to be 252
symbols or less.
platform String(10) The platform type (channel) on which the game is played.
Possible values:
“MOBILE” – mobile device
“WEB” – desktop device
error Integer Error code.
description String (100) Response status short description.
usedPromo Decimal (10, 2) Part of bet amount which is taken from bonus balance
ipAddress String (32) IP address of the player
campaignId String Id of the campaign.
In case of CJP call, campaignId is going to have value X:Y where both X and Y are
long numbers.
Examples: 3672:11
campaignType String(3) Type of the campaign
promoWinAmount Decimal (10, 2) Prize amount that the player is awarded with during a promotional campaign
promoWinReference String (100) Unique reference of the promotional transaction.
promoCampaignID Long Id of the promotional campaign.
promoCampaignType String(1) Type of the promotional campaign.
specPrizeAmount number number of FSB which was won by player in bingo game
Examples: 120.0; 35
specPrizeCode String (100) unique FSB bonus code within PP system
specPrizeType String(100) Type of free special prize
Possible values:
“FRB” – For Bingo FRB-as-prize
“Text value” – for Bingo Jackpot physical prizes.
This value is sent URL – encoded. For example “CITRO%C3%8BN%20C5”
balanceBeforeWin Decimal (10, 2) balanceBeforeWin is calculated either by won tier only or by all JP tiers
depending on the option selected.
*For a more detailed description, please see 3.9 JackpotWin.
balanceAfterWin Decimal (10, 2) balanceAfterWin is calculated either by won tier only or by all JP tiers depending
on the option selected.
*For a more detailed description, please see 3.9 JackpotWin.
lobbyFilter String(100) Filter values which will be predefined when user will open Live Casino lobby
category. Possible values available in section 18.4 Predefined filters in Live
Casino Lobby categories.
instanceId String Instance id of the won tier.
*For a more detailed description, please see 3.9 JackpotWin.
3.4 Authenticate
Request path: POST /[Link]
When the game is opening Pragmatic Play receives with URL security token generated by Casino Operator. Using this token
Pragmatic Play will ask Casino Operator for player authentication and get the player’s balance.
Important: Token from Authenticate response can be used in subsequent wallet requests for other games, launched
from the inside of game or bingo client.
Pragmatic Play can send subsequent authenticate requests with the same token, when player:
- opens new casino game from built-in mini lobby
- opens bingo room from bingo lobby
- opens live casino game from live casino lobby
Sending additional Authenticate requests for inner opening is optional and is not handled by the Pragmatic Play by
default. In case Casino Operator need to receive additional authorization for inner opening - they should ask the
Pragmatic Play’s Technical Support for configuration.
Operator should accept additional authenticate requests with active token for player.
Request parameters
This field is going to be included automatically in case of enabled “Dynamic Bet Scales” feature
(related to the betLimits parameter in response)
ipAddress IP address of the player. Optional
The field is optional and is not sent to the Casino Operator by default. In case Casino Operator needs
this parameter to be sent with request they should ask the Pragmatic Play’s Technical Support for
additional configuration.
chosenBalance Amount of money player wants to spend in the game (for in-game lobby switch for Optional
Italian regulated market)
The field is optional and is not handled by the Pragmatic Play by default. In case Casino Operator
need individual bet limits to be applied when the game opens they should ask the Pragmatic Play’s
Technical Support for configuration
launchingType Type of game launch (for in-game lobby switch for Italian regulated market) Optional
Possible values:
- “N” – normal launch
- “L - from in-game lobby”
The field is optional and is not handled by the Pragmatic Play by default. In case Casino Operator
need individual bet limits to be applied when the game opens they should ask the Pragmatic Play’s
Technical Support for configuration
previousToken Value if the token that was received from operator for the game that should be Optional
closed (for in-game lobby switch for Italian regulated market)
The field is optional and is not handled by the Pragmatic Play by default. In case Casino Operator
need individual bet limits to be applied when the game opens they should ask the Pragmatic Play’s
Technical Support for configuration
Response parameters
Name Description Status
userId Identifier of the user within the Casino Operator’s system. Required
currency Currency of the player. Required
cash Real balance of the player. Required
bonus Bonus balance of the player. Required
token Token/session of the player. Can be configured to be returned in all other API calls Optional
so Operator has control over it across playing process.
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the
Pragmatic Play’s Technical Support for additional configuration.
country Country of the player. Optional
jurisdiction Jurisdiction of the player. Please see the 3.3 Data types section for more details. Optional
betLimits An optional element. How this is used is supplier specific, for example it might
constitute a further restriction on limits already in place on the game. Structure of Optional
the element:
defaultBet – the default bet value
defaultTotalBet – the default total bet value (in the game currency)
minBet – the minimal individual bet amount
maxBet – the maximal individual bet amount
maxTotalBet – the maximum total bet amount (in the game currency)
minTotalBet – the minimum total bet amount (in the game currency)
optionally for in-game buy feature:
extMinTotalBet – the minimum total bet amount for in-game buy feature
(in the game currency)
extMaxTotalBet - the maximum total bet amount for in-game buy feature
(in the game currency)
If extMinTotalBet and extMaxTotalBet are not included in response, default values
for in-game buy feature will be used
The field is optional and is not handled by the Pragmatic Play by default. In case Casino Operator
need individual bet limits to be applied when the game opens, they should ask the Pragmatic Play’s
Technical Support for configuration.
An optional element set of additional parameters for different purposes like
jurisdiction requirements fulfillment
Possible values:
• "promoAvailable":"y" - Player is allowed to participate promo campaign*
• "promoAvailable":"n" - Player is not allowed to participate promo campaign*
Example: "extraInfo":{"promoAvailable":"y"}
* - including FSB, Tournament and Prize Drops campaign
extraInfo Optional
Logic of this parameter application is described in note below
• aamsTicket – AAMS ticket value
• aamsSessionId AAMS session ID
aamsTicket and aamsSessionId parameters are used for Italian lobby solution.
Example: "extraInfo":{"aamsTicket":"someaamsticket","aamsSessionId":"someaamssessionid"}
• jurisdictionMaxBet - Max bet limit for bet scale. If the current max bet exceeds
the limit, the bet scale will be reduced to the specified value. The limit should be
The currency of the player is set up when the player opens a game for the first time, and the player account is cre -
ated in the Pragmatic Play database, with the userId and currency received in the response on the Authentication
request.
Important: Currency cannot be changed after the player account is created.
Logic of extraInfo / promoAvailable parameter application for promo campaigns (incl. FSB, Tournament and
Prize Drop campaigns)
Public promo campaigns: parameter value is applied for all players;
Private promo campaigns with include list: Player which is in include list will be able to participate
regardless of parameter value. Rest of players are unable to participate;
Private promo campaigns with exclude list: Player which is in exclude list will not be able to participate
regardless of parameter value. Rest of players participate depending on parameter value
providerId=pragmaticplay&hash=e1467eb30743fb0a180ed141a26c58f7&token=5v93mto7jr
3.5 Balance
Request path: POST /[Link]
Using this method a Pragmatic Play system will know a current balance of player and will show it in the game.
Request parameters
Name Description Status
hash Hash code of the request. Required
providerId Game Provider identifier. Required
userId Identifier of the user within the Casino Operator’s system. Required
token Token of the player from Authenticate response. Optional
The field is optional and is not sent to the Casino Operator by default. In case Casino Operator
needs this parameter to be sent with request they should ask the Pragmatic Play’s Technical
Support for additional configuration.
Response parameters
Name Description Status
currency Currency of the player. Required
cash Real balance of the player. Required
bonus Bonus balance of the player. Required
totalBalance Full player’s balance on casino side, used for menu of balance choosing during Optional
switch of games
Can be used for Italian Regulated market
error Response status. Required
description Response status short description. Required
providerId=pragmaticplay&userId=421&hash=b4672931ee1d78e4022faaadf58e37db
3.6 Bet
Request path: POST /[Link]
Using this method Pragmatic Play system will check the player balance on Casino Operator side to ensure they still have the
funds to cover the bet. Amount of the bet must be subtracted from player balance in Casino Operator system.
Important: The call is idempotent, i.e. sending bet again only creates one transaction. For retries actual player's
balance should be returned.
Request parameters
Name Description Status
If requestId has been passed, then this parameter is going to contain both bonusCode
and requestId concatenated with <|> separator.
Response parameters
Name Description Status
roundDetails=spin&reference=585c1306f89c56f5ecfc2f5d&gameId=vs50aladdin&amount=100.0&providerId=pra
gmaticplay&userId=421&roundId=5103188801&hash=4a5d375ac1311b04fba2ea66d067b8e5×tamp=1482429190
374
3.7 Result
Request path: POST /[Link]
Using this method the Pragmatic Play system will send to Casino Operator the winning result of a bet. The Casino Operator
will change the balance of the player in accordance with this request and return the updated balance.
Result request may contain a prize that the player is awarded with during the game round, if there is an active promotional
campaigns like Prize Drop. Parameters related to the Prize Drop prizes are optional and should be configured by
PragmaticPlay team based on Operator’s request.
Important: The call is idempotent, i.e. sending result again with the same reference number creates only one
transaction. For retries actual player's balance should be returned.
Request parameters
Name Description Status
hash Hash code of the request Required
userId Identifier of the user within the Casino Operator’s system. Required
gameId Id of the game. Required
roundId Id of the round. Required
amount Amount of the win. Required
reference Unique reference of this transaction. Required
providerId Game Provider id. Required
timestamp Date and time when the transaction is processed on the Pragmatic Play side Required
(Unix epoch time in milliseconds, for example : 1470926696715)
roundDetails Additional information about the current game round. Required
Examples of roundDetails parameter with enabled result description:
"roundDetails":"spin,totalBet:200.0,freeSpinCount:18,totalWin:284.0,baseWin:4.
0,freeSpinWin:280.0"
“spin” – default bet
“totalBet” – Total bet amount (only for free spin round)
“totalWin” – Total win amount (only for free spin round)
“baseWin” – Win on a base spin (optional)
“freeSpinCount” – Free spin total count (optional)
Calculates as:
freeSpinCount = freeSpinCount + reSpinCount + 1 (if any bonusGame
played)
“freeSpinWin” – Free spin total win (optional)
Calculates as:
freeSpinWin = freeSpinWin + reSpinWin + gamblingWin +
bonusGamesWins
The fields (baseWin/freeSpinCount/freeSpinWin) is optional and is not sent to the
Casino Operator by default. In case Casino Operator needs this parameters to be
sent with request they should ask the Pragmatic Play’s Technical Support for
additional configuration.
bonusCode Id of the bonus in Casino Operator system. Optional*
If requestId has been passed, then this parameter is going to contain both
bonusCode and requestId concatenated with <|> separator.
The field is optional and will appear only if there is a winning in a campaign.
Please note, that promoWinAmount, promoWinReference,
promoCampaignID and promoCampaignType parameters should appear
together.
promoWinReference Unique reference of this transaction. Optional
The field is optional and will appear only if there is a winning in a campaign.
Please note, that promoWinAmount, promoWinReference, promoCampaignID
and promoCampaignType parameters should appear together.
promoCampaignID Id of the promotional campaign. Optional
The field is optional and will appear only if there is a winning in a campaign.
Please note, that promoWinAmount, promoWinReference, promoCampaignID
and promoCampaignType parameters should appear together.
promoCampaignType Type of the promotional campaign. Available values are: Optional
R – Prize Drop (Cash drop promotion)
The field is optional and will appear only if there is a winning in a campaign.
Please note, that promoWinAmount, promoWinReference, promoCampaignID
and promoCampaignType parameters should appear together.
specPrizes[#].specPrizeAmount number of FSB which was won by player in bingo game (where # - serial number Optional
of prize) (Bingo only)
The field is optional and is not sent to the Casino Operator by default. In case
Casino Operator needs this parameter to be sent with request they should ask the
Pragmatic Play’s Technical Support for additional configuration.
specPrizes[#].specPrizeCode unique FSB bonus code within PP system (where # - serial number of prize) Optional
The field is optional and is not sent to the Casino Operator by default. In case (Bingo only)
Casino Operator needs this parameter to be sent with request they should ask the
Pragmatic Play’s Technical Support for additional configuration.
specPrizes[#].specPrizeType Type of free special prize (where # - serial number of prize) Optional
Possible values: (Bingo only)
“FRB” – free spins bonus
The field is optional and is not sent to the Casino Operator by default. In case
Casino Operator needs this parameter to be sent with request they should ask the
Pragmatic Play’s Technical Support for additional configuration.
Response parameters
Name Description Status
transactionId Id of the transaction in wallet. Required
currency Currency of the player. Required
cash Real balance of the player. Required
bonus Bonus balance of the player. Required
roundDetails=spin&reference=585c156df89c56f5ecfd99fb&gameId=vs50aladdin&amount=10.0&providerId=prag
maticplay&userId=421&roundId=5103268693&platform=WEB&hash=533c609c6a74b533efb870b806f00732&time-
stamp=1482429805138
3.8 BonusWin
Request path: POST /[Link]
Using this method a Pragmatic Play system will send to Casino Operator winning result of all rounds played on Free Spins
Bonus. Casino Operator will change a player balance in appliance with this request and will return an updated balance.
Important: The call is idempotent, i.e. sending result again with the same reference number creates only one
transaction. For retries actual player's balance should be returned
Important: The call is asynchronous and is not linked to the end of the game round.
Request parameters
Name Description Status
hash Hash code of the request Required
userId Identifier of the user within the Casino Operator’s system. Required
amount Amount of the win. Required
Minimum is 0.00 (Zero amount is treated as loss).
reference Unique reference of this transaction. Required
providerId Game Provider id. Required
timestamp Date and time when the transaction is processed on the Pragmatic Play side Required
(Unix epoch time in milliseconds, for example : 1470926696715)
bonusCode Id of the bonus in Casino Operator system. Required
(*is mandatory in case of FSB API is implemented)
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic Play’s
Technical Support for additional configuration.
roundId Id of the last played round in Free Spins Bonus Optional
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic Play’s
Technical Support for additional configuration.
gameId Id of the game for the last played round within Free Spins Bonus Optional
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic Play’s
Technical Support for additional configuration.
token Token of the player from Authenticate response. Optional
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic Play’s
Technical Support for additional configuration.
requestId Unique identifier of FSB credit request (for specific player). Optional
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic Play’s
Technical Support for additional configuration.
remainAmount Number of remaining FSB. Optional
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic Play’s
Technical Support for additional configuration.
specPrizes[#].specPrizeAmount number of FSB which was won by player in bingo game (where # - serial Optional
number of prize) (Bingo only)
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic Play’s
Technical Support for additional configuration.
specPrizes[#].specPrizeCode unique FSB bonus code within PP system (where # - serial number of prize) Optional
The field is optional and is not sent to the Casino Operator by default. In case Casino Operator needs this (Bingo only)
parameter to be sent with request they should ask the Pragmatic Play’s Technical Support for additional
configuration.
specPrizes[#].specPrizeType Type of free special prize(where # - serial number of prize) Optional
Possible values: (Bingo only)
“FRB” – free spins bonus
The field is optional and is not sent to the Casino Operator by default. In case Casino Operator needs this
parameter to be sent with request they should ask the Pragmatic Play’s Technical Support for additional
configuration.
Response parameters
Name Description Status
transactionId Id of the transaction in wallet. Required
currency Currency of the player. Required
cash Real balance of the player. Required
bonus Bonus balance of the player. Required
error Response status. Required
description Response status short description. Required
reference=585d0257f89c56f5ed6b2e37&bonusCode=test_pp_frb1&amount=1.0&providerId=pragmaticplay&userI
d=421&hash=242d4d029c20e6e4692a4b88398f4fdc×tamp=1482490455354
3.9 JackpotWin
Request path: POST /[Link]
Using this method a Pragmatic Play system will notify Casino Operator about Jackpot winning. Operator should handle the
transaction in their system and send the jackpot win transaction id back to the Pragmatic Play.
Important: The call is idempotent, i.e. sending result again with the same reference number creates only one transaction. For
retries actual player's balance should be returned.
Important: Please pay attention that in slot Jackpots, progressive and non-progressive wins are sent together inside the
amount field in jackpotWin method.
Pragmatic Play pays just progressive wins to operator. To receive info on progressive and non-progressive win parts separately,
Operator can ask the Pragmatic Play’s Technical Support to enable optional parameter jackpotDetails in jackpotWin request
In this case jackpotDetails will be sent like this progressive:XX, non-progressive:YY
For example: amount: 150 jackpotDetails: progressive:100, non-progressive:50
Request parameters
Name Description Status
hash Hash code of the request Required
providerId Game Provider id. Required
timestamp Date and time when the transaction is processed on the Pragmatic Play Required
side
(Unix epoch time in milliseconds, for example : 1470926696715)
userId Identifier of the user within the Casino Operator’s system. Required
gameId Id of the game. Required
roundId Id of the game round. Required
jackpotId Id of the jackpot. Required
Detailed information about the won jackpots in the round .
Examples:
Bingo: "jackpotDetails":"{"2701": {"amount":1.00,"prizeType": "monetary"},
"2702":{"amount":2.00,"prizeType": "monetary"}}
jackpotDetails Slots: "{"progressive":130.34375,"non-progressive":3125.0}" Optional
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic
Play’s Technical Support for additional configuration.
amount Total amount of all jackpot winnings in the round. Required
reference Unique reference of the transaction within the Pragmatic Play system. Required
platform The platform type (channel) on which the game is played. Optional
Possible values:
“MOBILE” – mobile device
“WEB” – desktop device
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic
Play’s Technical Support for additional configuration.
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic
Play’s Technical Support for additional configuration.
balanceAfterWin balanceAfterWin is calculated either by won tier only or by all JP tiers Optional
depending on the option selected.
Options list:
Calculation by tier
balanceAfterWin = seed of the new instance of the won tier
Calculation by JP
balanceAfterWin = sum of balances of all tiers (except WON) + seed of
the new instance of the won tier (except JP baby)
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic
Play’s Technical Support for additional configuration.
instanceId Instance id of the won tier. The first instance starts from the “1” Optional
identifier.
If several brands or operators participate in the same jackpot, instance
is incremented globally per jackpot, not individually per brand or
operator.
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic
Play’s Technical Support for additional configuration.
specPrizes[#].specPrizeType Text value - name of physical prize (where # - serial number of prize) Optional
(Bingo only)
Possible values:
“Text value” – for Bingo Jackpot physical prizes.
This value is sent URL – encoded. For example “CITRO%C3%8BN%20C5”
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic
Play’s Technical Support for additional configuration.
Response parameters
Name Description Status
transactionId Id of the transaction in wallet. Required
currency Currency of the player. Required
cash Real balance of the player. Required
bonus Bonus balance of the player. Required
reference=585d0b2af89c56f5ed6f0d1f&gameId=vs30catz_jp&amount=55.0&jackpotId=568&providerId=pragmat-
icplay&userId=421&roundId=5109164607&hash=8ef28798d5b3e523528bdb61ada939a7×tamp=1482492714431
3.10 EndRound
Request path: POST /[Link]
Every time a game round is over, the Pragmatic Play system will call EndRound method, so that Operator can finalize the
game round transactions on their side in real time.
If Operator does not need to finalize transactions in real time it is strongly recommended to disable EndRound
functionality on the Pragmatic Play side. Instead, Data Feed API can be used for transaction finalization, in order
to decrease the number of requests to the Operator system and keep traffic between two systems as light as
possible.
Important: EndRound request may be sent more than once. If the game round is already finalized, Operator
should ignore the EndRound request and return the success response.
Request parameters
Name Description Status
hash Hash code of the request Required
userId Identifier of the user within the Casino Operator’s system. Required
gameId Id of the game. Required
roundId Id of the round. Required
providerId Game Provider id. Required
bonusCode Id of the bonus in Casino Operator system. Optional
(The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic
Play’s Technical Support for additional configuration.
platform The platform type (channel) on which the game is played. Optional
Possible values:
“MOBILE” – mobile device
“WEB” – desktop device
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic
Play’s Technical Support for additional configuration.
"roundDetails":"spin,totalBet:200.0,freeSpinCount:18,totalWin:284.0,base
Win:4.0,freeSpinWin:280.0"
“spin” – default bet
“totalBet” – Total bet amount
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic
Play’s Technical Support for additional configuration.
specPrizes[#].specPrizeAmount number of FSB which was won by player in bingo game (where # - serial Optional
number of prize) (Bingo only)
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic
Play’s Technical Support for additional configuration.
specPrizes[#].specPrizeCode unique FSB bonus code within PP system (where # - serial number of prize) Optional
The field is optional and is not sent to the Casino Operator by default. In case Casino (Bingo only)
Operator needs this parameter to be sent with request they should ask the Pragmatic
Play’s Technical Support for additional configuration.
specPrizes[#].specPrizeType Type of free special prize (where # - serial number of prize) Optional
Possible values: (Bingo only)
“FRB” – free spins bonus
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic
Play’s Technical Support for additional configuration.
Response parameters
Name Description Status
cash Real balance of the player. Required
bonus Bonus balance of the player. Required
error Response status. Required
description Response status short description. Required
gameId=vs50hercules&providerId=pragmaticplay&userId=421&roundId=5103579948&platform=WEB&hash=0755b1
f739655f4d394b20575a7570df
{
"cash": 99764.99,
"bonus": 99.99,
"error": 0,
"description": "Success"
}
3.11 Refund
Request path: POST /[Link]
Pragmatic Play system may use this method to rollback a bet transaction on the Casino Operator side, in order to reverse
the transaction and adjust player’s balance. When receive a Refund request Operator have to return money back to player’s
balance.
Important: The call is idempotent, i.e. sending refund for existing bet again only creates one transaction.
Important: If bet transaction is not found then nothing should happen on the Casino Operator side and success (0)
or specific error code for this situation should be returned.
Request parameters
Name Description Status
hash Hash code of the request Required
userId Identifier of the user within the Casino Operator’s system. Required
reference Reference from the original bet transaction. Required
providerId Game Provider id. Required
platform The platform type (channel) on which the game is played. Optional
Possible values:
“MOBILE” – mobile device
“WEB” – desktop device
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic Play’s
Technical Support for additional configuration.
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic Play’s
Technical Support for additional configuration.
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic Play’s
Technical Support for additional configuration.
timestamp Date and time when the transaction is processed on the Pragmatic Play Optional
side
(Unix epoch time in milliseconds, for example : 1470926696715)
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic Play’s
Technical Support for additional configuration.
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic Play’s
Technical Support for additional configuration.
token Token of the player from Authenticate response. Optional
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic Play’s
Technical Support for additional configuration.
Response parameters
Name Description Status
transactionId Id of the refund transaction in Casino Operator system. Required
error Response status. Required
description Response status short description. Required
reference=585c2692f89c56f5ed083692&providerId=pragmaticplay&userId=421&platform=WEB&hash=0078aaf-
b64b316a05c91124e4411541a
3.12 GetBalancePerGame
Request path: POST /[Link]
The method allows Pragmatic Play to get player’s balance available for certain games. This method is applicable to
operators that needs different amount of money to be available in the game client depending on the game type and the
policy within Casino Operator system.
Request parameters
Name Description Status
hash Hash code of the request. Required
userId Identifier of the user within the Casino Operator’s system. Required
providerId Game Provider Id. Required
gameIdList The list of games for which player’s balance should be returned. It is a string contains Required
game id separated by comma.
token Token of the player from Authenticate response. Optional
The field is optional and is not sent to the Casino Operator by default. In case Casino Operator
needs this parameter to be sent with request they should ask the Pragmatic Play’s Technical
Support for additional configuration.
platform The platform type (channel) on which the game is played. Optional
Possible values:
“MOBILE” – mobile device
“WEB” – desktop device
The field is optional and is not sent to the Casino Operator by default. In case Casino Operator
needs this parameter to be sent with request they should ask the Pragmatic Play’s Technical
Support for additional configuration.
Response parameters
Name Description Status
gamesBalances The list of player’s balances per game. Contains data structures with the following fields: Required
gameID – id of the game
cash – Real balance of the player
bonus – Bonus balance of the player
totalBalance Full player’s balance on casino side, used for menu of balance choosing during switch Optional
of games
Can be used for Italian Regulated market
error Response status. Required
description Response status short description. Required
providerId=....&userId=...&gameIdList=vs20cd,vs20bl,vs7monkeys
3.13 PromoWin
Request path: POST /[Link]
Using this method the Pragmatic Play system will notify Casino Operator about winning that the player is awarded as a
result of a campaign that is finished. Notification is asynchronous and may come to the operator with a short delay after the
campaign is over. Operator should handle the transaction in their system and send promo win transaction id back to the
Pragmatic Play.
Important: The call is idempotent, i.e. sending result again with the same reference number creates only one
transaction. For retries actual player's balance should be returned
Important: This call is also used for notification about the FSB as Prize winnings from prize drops or tournament.
Important: The call is also used for notification about community jackpot winnings. In case Casino Operator
would like to receive the CJP value also (in the campaignType parameter), they should ask the Pragmatic Play’s
Technical Support for additional configuration.
Request parameters
Name Description Status
hash Hash code of the request Required
providerId Pragmatic Play provider id in Operator’s system. Required
timestamp Date and time when the transaction is processed on the Pragmatic Play side Required
(Unix epoch time in milliseconds, for example : 1470926696715)
userId Id of the player within the operator’s system. Required
campaignId Id of the campaign. Required
campaignType Type of the campaign. Available values are: Required
T – Tournament
CJP – Community Jackpot
CB – Cashback
MR – Prize Drop (FR as prize)
amount Prize amount that the player is awarded with. Required
Minimum is 0.00 (Zero amount is treated as loss).
The prize amount must be added to the player's cash balance.
currency Player’s currency. Required
reference Unique reference of the transaction within the Pragmatic Play system. Required
roundId Id of the round (the last round in Tournaments achievement which leads to
changing the scores)
Optional
The field is optional and is not sent to the Casino Operator by default. In case
Casino Operator needs this parameter to be sent with request they should ask the
Pragmatic Play’s Technical Support for additional configuration.
gameId Symbolic unique identifier of the game. Optional
Response parameters
Name Description Status
transactionId Id of the transaction in wallet. Required
currency Currency of the player. Required
cash Real balance of the player. Required
bonus Bonus balance of the player. Required
reference=some_reference&campaignId=123456&amount=200.0&providerId=PragmaticPlay&campaignType=T
&userId=some_userId×tamp=1547473412242¤cy=USD&hash=62918d1ba53bee8225c0f2affcf20603
3.14 SessionExpired
Request path: POST /session/expired
Using this method the Pragmatic Play system will notify Casino Operator that player’s session has expired in Pragmatic Play
system due to long inactivity or game closing.
The method is optional and is not sent to the Casino Operator by default. In case Casino Operator needs this method to be
sent, they should ask the Pragmatic Play’s Technical Support for additional configuration
Request parameters
Name Description Status
hash Hash code of the request Required
providerId Pragmatic Play provider id in Operator’s system. Required
sessionId Player’s game session id on Pragmatic Play side Required
playerId Id of the player within the operator’s system. Required
token Token of the player from Authenticate response. Optional
The field is optional and is not sent to the Casino Operator by default. In case Casino Operator needs
this parameter to be sent with request they should ask the Pragmatic Play’s Technical Support for
additional configuration.
Response parameters
Name Description Status
error Response status. Required
description Response status short description. Required
providerId=PragmaticPlay&sessionId=6fd2d6f3bb8f4c5a9fadf15d81206af2&playerId=123456&hash=c46d5b113e81d30
6831a06765e12067f
3.15 Adjustment
Request path: POST /[Link]
Using this method, the Pragmatic Play system will send the Casino Operator the amount of the player's balance to be ad -
justed (in case the request contains a negative amount, the player's balance should be decreased). The Casino Operator will
change the balance of the player in accordance with this request and return the updated balance. In case of negative
amount in request, and insufficient player’s balance Operator should return error code 1 and description “ Insufficient bal-
ance”.
Important: The call is idempotent, i.e. sending result again with the same reference number creates only one
transaction. For retries actual player's balance should be returned.
Important: the request is offline (does not require the player to be online). It is used only for the Live Casino
portfolio.
Request parameters
Name Description Status
hash Hash code of the request Required
userId Identifier of the user within the Casino Operator’s system. Required
gameId ID of the game. Required
Token of the player from Authenticate response (Token which was used in session when
particular round was played).
token The field is optional and is not sent to the Casino Operator by default. In case Casino Operator needs Optional
this parameter to be sent with request they should ask the Pragmatic Play’s Technical Support for
additional configuration.
roundId ID of the round. Required
amount Amount to be adjusted (may have either positive or negative value) Required
reference Unique reference of this transaction. Required
providerId Game Provider ID. Required
validBetAmount Valid bet amount. Required
Date and time when the transaction is processed on the Pragmatic Play side (Unix Required
timestamp
epoch time in milliseconds, for example : 1470926696715)
roundDetails Additional information about the current game round. Optional
If the Free Chips API is implemented, it will contain the number of free chips in the
refunded round.
*For example, "roundDetails":"countOfFreeChips:10"
The field is optional and is not sent to the Operator by default. If Casino Operator needs this parameter
to be sent with request, they should ask the Pragmatic Play’s Technical Support for additional
configuration, and accept enhanced roundDetails format (please see 3.3 Data types section).
Response parameters
Name Description Status
reference=60ed801845034f0008cdb819&gameId=rgs1ftest1&validBetAmount=1.75&amount=1.11&providerId=pra
gmaticplay&userId=421&roundId=5103268693&hash=abf5ff527800ee1378c706f2d63aa3c5×tamp=1626177560
595
3.16 RoundDetails
Request path: POST /[Link]
Using this method the Pragmatic Play system will send to Casino Operator details of slot machine or RNG table game re-
sults, for particular game round, which then can be sent to the Regulator.
Important: This request is sent only after the EndRound call, hence it has to be enabled and supported.
Request parameters
Name Description Status
hash Hash code of the request Required
userId Identifier of the user within the Casino Operator’s system. Required
roundId ID of the round. Required
providerId Game Provider ID. Required
smResult The details of slot machine or RNG table game result Required
gameCategory Game category Required
betMultiplier Bet multiplier Required
Response parameters
Name Description Status
hash=681c32ea7733fcd01135e5ad48a0a8db&providerId=providerLogin_1&userId=1&roundId=123451&smResult=1
%3A10%3B2%3B9%3B3%3B2%233%3B1%3B2%3B1%3B4%2312%3B12%3B12%3B4%3B1%23R%23S%23VS%23222%23MV%232%2C00%2
3MT%232%23&betMultiplier=50
URL of the HTTP service will be provided by Pragmatic Play for the production and test environments and looks
like:
It is possible to play only one portfolio at the same time with this API.
externalPlayerId String(100) Unique identifier of the player within the Casino Operator system.
Parameter value is case-sensitive.
Example: joe1001, 2644987, playerABC*, playerAbc*
* playerABC and playerAbc – are two different player accounts within
Pragmatic Play system
playerId String(100) Unique identifier of the player within the Pragmatic Play system. May be
used for troubleshooting.
Example: 1000, 2644987
currency String(3) Currency of the player, 3-character ISO 4217 code.
Example: USD, EUR
language String(2) Language code in ISO 639-1 standard (e.g. en, fr, it).
externalTransactionId String(100) Unique identifier of the transaction within Casino Operator system.
Example: 5623489, CHR789452, c0304c72-514f-47a4-8ae1-eb755224391b
transactionId String(100) Unique identifier of the transaction within Pragmatic Play system.
Example: 5623489, CHR789452, c0304c72-514f-47a4-8ae1-eb755224391b
amount Decimal (10, 2) Amount that is transferred in or out of the player’s balance. Can have
positive (deposit) or negative (withdrawal) values.
Example: 20.35, -40.00
balance Decimal (10, 2) Player's current balance. Example: '100.00'.
gameId String(20) Symbolic unique identifier of the game within the Pragmatic Play system.
Example: vs25queenofgold, vs50aladdin, cs5triple8gold, bjma, rla, vpa
The list of available games may be obtained by Casino Operator by calling
GetCasinoGames method of CasinoGameAPI of Integration simple HTTP
Service.
platform String(20) Platform for which the game should be opened.
Available values:
MOBILE – if game should be opened on mobile devices
WEB – if game will be opened on desktop devices
If this parameter is not defined for game opening request, desktop version of
the game will be opened by default.
The list of platforms, supported by specific game, can be found in Game
Library.
URL String(250) URL of a certain resource on the Casino Operator or Pragmatic Play website.
LobbyUrl, CashierURL – are the links to Casino Operator’s resources that will
be opened when player clicks “Fund” or “Home” button in the game.
GameURL – is the link for opening a game on Pragmatic Play’s game server.
error Integer 0 - if the request was processed successfully or error code in other case.
description String (250) Description of the error for troubleshooting purpose.
timestamp DateTime Date and time when the transfer is processed on the Pragmatic Play side.
4.4 CreatePlayer
Request path: POST /player/account/create/
Using this method Casino Operator will create player’s account within the Pragmatic Play system. This method should be called
before player is sent to the Pragmatic Play’s games.
Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service Required
externalPlayerId Id of the player within the Operator system. Required
currency Currency of the player. Required
hash Hash code of the request. Required
Response parameters
Name Description
playerId Id of the player within the Pragmatic Play system.
* is returned only on first request to create player with the same externalPlayerId.
error Error code.
description Description of the error for troubleshooting.
secureLogin=username&externalPlayerId=test_player¤cy=USD&hash=620a4016ae32ea0ef-
bebfe1b3544571c
4.5 Transfer
Request path: POST /balance/transfer/
This method transfers funds in to player’s balance (i.e. deposit) and out of the player’s balance (i.e. withdrawal) within
Pragmatic Play system. Positive amount of money indicates fund in and negative amount means fund out transaction.
Important: The call is idempotent, i.e. sending it again only creates one transaction.
Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service Required
externalPlayerId Id of the player within the Casino Operator system. Required
externalTransactionId Id of the transaction within Casino Operator system. Required
amount Amount to be added to player’s balance (positive value) or to be subtracted Required
from player’s balance (negative value), in player’s currency.
hash Hash code of the request. Required
Response parameters
Name Description
transactionId Id of the transfer transaction within the Pragmatic Play system.
balance Player’s balance after successful transaction.
error Error code.
description Description of the error for troubleshooting.
secureLogin=username&externalPlayerId=test_player&externalTransactionId=EXT123456789&hash=380720e97
4ae2b775ce933fb73eb8fcf&amount=999.99
4.6 GetTransferStatus
Request path: POST /balance/transfer/status/
This method returns the status of a particular transaction that transferred the money in or out the player’s balance on the
Pragmatic Play side.
Important: This method will return player’s balance after successful transaction for all transactions that was cre-
ated not earlier than August 3, 2017. For older transactions player’s balance in the response will be null. Descrip-
tion field of the response will contain the following text: "Transaction is older than 3.08.2017".
Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service Required
externalTransactionId Id of the transaction within Casino Operator system. Required
externalPlayerId Id of the player within the Casino Operator system. Required
hash Hash code of the request. Required
Response parameters
Name Description
transactionId Id of the transfer transaction within the Pragmatic Play system.
status Status of the transaction:
o ‘Success’ – The transaction was successfully processed
o ‘Not found’ – The transaction was not found (was not processed)
amount Amount added to player’s balance (positive value) or subtracted from player’s balance (negative
value), in player’s currency.
balance Player’s balance after successful transaction.
Note: The field will contain current player’s balance in case the transaction was not processed.
error Error code.
description Description of the error for troubleshooting.
secureLogin=username&externalTransactionId=EXT123456789&hash=380720e974ae2b775ce933fb73eb8fcf
4.7 GetBalance
Request path: POST /balance/current/
Using this method Operator can get the current balance of the player in the Pragmatic Play system.
Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service Required
externalPlayerId Id of the player within the Casino Operator system. Required
hash Hash code of the request. Required
Response parameters
Name Description
balance Current player’s balance within the Pragmatic Play system.
error Error code.
description Description of the error for troubleshooting.
externalPlayerId=test_player&secureLogin=username&hash=405281156fc4cace4d2385a8ead83290
4.8 StartGame
Request path: POST /game/start/
Using this method Operator can receive a valid URL to requested game. A specific ticket will be generated for player defined
in the request for a particular game. This ticket will be verified on the Pragmatic Play side when player opens a game.
Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service Required
externalPlayerId Id of the player within the Operator system. Required
gameId Id of the game within the Pragmatic Play system. Required
language Language on which the game should be opened. Required
platform Platform for which the game should be opened Optional
cashierURL Link for opening the cashier on Casino Operator site when a player has no Optional
funds
lobbyURL Link for returning to Lobby page on Casino Operator site. This link is used for Optional
Back to Lobby (Home) button in mobile version of games
playMode If parameter not exist or value is REAL – return real game launch URL, if value Optional
is DEMO – return demo game launch URL.
jurisdiction Jurisdiction of the player. Optional
*Within this method is used only for playMode=DEMO.
hash Hash code of the request. Required
ctlgroup The identification for specific table limits group (is applicable for Live Casino Optional
portfolio only)
lobbyFilter When requesting a URL for LC game: Optional
Filter values which will be predefined when user will open (only for LC
Live Casino lobby category. Possible values available in section 18.4 portfolio AND
Predefined filters in Live Casino Lobby categories Standalone
Slots Lobby)
When requesting a URL for Standalone Slots lobby:
Category that will be opened in the Standalone Slots Lobby by default
when it is launched.
Possible options:
forYou – For You category will be opened when launching the
lobby;
allSlots – All Slots category will be opened when launching the
lobby;
DDW – Drops and Wins category will be opened when launching
the lobby.
If no option or incorrect value is sent in the ‘lobbyFilter’ parameter, the
‘For you' category will be opened by default.
Response parameters
Name Description
gameURL Link to the game to be open on the Pragmatic Play side. This link will contain special
parameters which should remain as is.
secureLogin=username&externalPlayerId=test_player&gameId=vs50aladdin&language=en&platform=WEB&cashi
erURL=http%3A%2F%[Link]%2F&lobbyURL=http%3A%2F%[Link]%2F&hash=438fea0a68a0e9ab49df756c-
c20eda8f
4.9 TerminateSession
Request path: POST /game/session/terminate/
Using this method Operator can terminate the current player session and kick him out all games.
Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service Required
externalPlayerId Id of the player within the Casino Operator system. Required
hash Hash code of the request. Required
Response parameters
Name Description
error Error code.
description Description of the error for troubleshooting.
secureLogin=username&externalPlayerId=test_player&hash=405281156fc4cace4d2385a8ead83290
4.10 TransferTransactions
Request path: POST /balance/transfer/transactions
This method returns transfer transactions (deposits and withdrawals) for all players during the period defined by time
point, but not longer than 10 minutes. Data will be returned in CSV format.
Request parameters
Name Description
externalPlayerId Unique identifier of the player within the Casino Operator system
timestamp Date and time when the transfer is processed on the Pragmatic Play side.
(Unix epoch time in milliseconds, for example: 1470926696715)
externalTransactionId Unique identifier of the transaction within Casino Operator system.
amount Amount transferred in or out of the player’s balance, in the player’s currency. Can have positive
(deposit) or negative (withdrawal) values.
currency Currency of the player, 3-character ISO 4217 code.
secureLogin=username&timepoint=1482510713000&hash=405281156fc4cace4d2385a8ead83290
For each API account, retry frequency for failed "Transfer" or “GetTransferStatus” method requests, should be not
more than one call per minute and not longer than 1 hour. (after 1 hour Error reason should be checked in
relevant support channel)
Example:
Object {
name: "bonusGameStarted"
};
5.2 Events
Currently all Pragmatic HTML5 games send events described in the table below.
Video Live
Event Name Description Data Bingo
Slots games
spinStarted Player clicks Spin button and reels started spinning sender:value
*
spinEnded Reels stopped sender:value
*
resultShown Game round result is shown to player and all the animation sender:value
related to the round is completed *
gameRoundStarted Player clicks Spin sender:value
*
gameRoundEnded Game round is finished (it comes before resultShown event) sender:value
*
bonusGameStarted Bonus game opens for player sender:value
*
bonusGameEnded Player played bonus game, saw result and returned to the sender:value
main game *
freeSpinStarted Free spins started for player sender:value
*
freeSpinEnded Free spins are over, player saw result of the Free Spins and sender:value
returned back to the main game *
gameLoadingStarted Game loading has started sender:value
*
gameLoadingEnded Game has finished loading and is available for playing sender:value
*
balanceTooLow Player no longer has enough balance to spin with current sender:value
selected bet *
notifyCloseContainer Game container is closing because of window closure, sender:value
redirect or refreshing *
gameQuit For home/lobby/close/leave sender:value
*
openCashier For insufficient funds message/button sender:value
*
homeButton For Home Button action in Bingo sender:value
*
RC_SHOWN reality check pop-up message is shown sender:value
*
RC_CONTINUE for continue button action in RC pop-up sender:value
*
RC_QUIT for close button action in RC pop-up sender:value
*
gameReady bingo client is initialized and ready for use ‘gameReady’
gameActive bingo client is reverted to normal mode and player can ‘gameActive’
continue play
FRB_STARTED** Free Spins Bonus Session started in game sender:value
*
FRB_ENDED** Free Spins Bonus session ended in game sender:value
*
bigWinLevel Player won big win (the higher winnings amount – the higher params:
level parameter) { level: int
(0,1,2,3...) }
gameChange The player changed the game sender:value
*
5.3 Triggers
Triggers are special JS Postmessages which are sent from parent page to game client, in order to apply needed action
Live
Name Description Data RNG Bingo
games
Stop autoplay Is sent to stop Auto Play for our
postMessage('{"type":"Tilt"}','*');
games from client side.
Update balance postMessage("updateBalance");
Is sent to update balance in cases,
where player’s balance can be or
changed outside of game (for
example when player deposited or postMessage({event: "refreshBalance"});
playing in another game in parallel)
Free Spins Bonus (FSB) (previously Free Rounds Bonus (FRB)) allows the player to play a specified number of free spins in a
game. Free Spins created via Variable Free Spins API may be configured to be played with a certain bet value specified for
each game and currency. During Free Spins game play, bets are not deducted from the player's balance, but all wins are
collected for the Free Spins Bonus in the Pragmatic Play’s system.
After all free spins are played the Pragmatic Play system sends a bonusWin API call to Operator server to add money to the
player's balance. Please note that not all games support FSB.
Free Spins can be awarded to players registered within the Pragmatic Play system using API.
Free Spins Bonus HTTP service is a simple API for game Operator to manage Free Spins. API is an HTTP listener, which listens
POST requests coming to an URL with the request mappings below.
If the Free Spins API is used to create the FSB, then implementing cancel via the API (method 6.4 Cancel Free Spins) is also
mandatory.
All responses should be in JSON format.
URL of the FSB HTTP service will be provided by Pragmatic Play for the production and test environments and
looks like: [Link] service domain}/IntegrationService/v3/http/FreeRoundsBonusAPI/v2/
The bonusCode is unique and can be used only one time for same playerId. Please make sure you’ve integrated the
FSB in the proper way and won't reuse/award same bonusCode values in your logic. In case Casino Operator needs
to make the bonusCode reusable they should ask the Pragmatic Play’s Technical Support for additional
configuration.
Using this method Operator can create a new Free Spins Bonus with the Pragmatic Play’s games.
In case of a network error Operator can send a repeated Create Free Spins requests. The Pragmatic Play system will not
create new FS bonus if there is an active FS bonus with the same bonus code.
Note:
In cases where Operator creates Free Spins Bonus with periodOfTime and more than one game in gameList,
player will be able to continue FSB only in game, which FSB was started in.
In cases where the operator creates a FSB with the frType=F parameter, only one game can be added to the
gameList.
Note:
To specify Expiration and Validity for FSB, either expirationDate and validityDate (as timestamps in seconds) OR
expirationPeriod and validityPeriod (as {N} minutes) parameters can be specified. If expirationPeriod is
specified, validityPeriod must be specified as well.
Note:
Expiration date is mandatory. It should be sent as timestamp in seconds, and the bonus validity period must not
be longer than 30 days.
Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service Required
bonusCode Bonus id within the Casino Operator’s system. Should be unique Required
within the brand.
startDate Date and time when free spins bonus will start. Required
*UNIX time in sec
expirationDate Date and time when the free spins will expire. Optional
*UNIX time in sec Should NOT be used when the
expirationPeriod is specified.
validityDate Date and time when the bonus gets invalid and is unavailable for the Optional
player. Doesn’t work when frType is passed. Should be used if
*UNIX time in sec expirationDate is specified.
expirationPeriod Number of minutes (after FSB is created to a player), after which Optional
free spins will expire. Should NOT be used when the
expirationDate is specified.
validityPeriod Number of minutes (after FSB is created to a player), after which the Optional
bonuses will become unavailable. Doesn’t work when frType is Should be used if
passed. expirationPeriod is specified.
rounds Number of free game rounds awarded. Optional. Should not be used
when periodOfTime or frType
parameter is specified
periodOfTime Awarded bonus time in seconds (please see note) Optional. Should not be used
when rounds or frType
parameter is specified
frType Type of the Free Spins Bonus that the player will be awarded. Optional. Should not be used
Available values are: when rounds or
F – Instant bonus rounds (triggering predefined in-game periodOfTime parameter is
feature) specified
gameList List of the games associated with the bonus, with bet per line Required
values for each currency. See below VariableFRGame type
description of the objects in the list.
This data must be sent as a JSON in the body of the request.
Type: VariableFRGame
Name Description
gameId Id of the game associated with the free spins bonus.
betValues List of bets per line or total bets with the currency.
Type: VariableFRBetValue
Name Description Status
currency Currency code. Required
betPerLine Value of bet per line in the specified currency, which will be Should not be used when totalBet
applied during free spins option is used
totalBet Value of total bet in the specified currency, which will be Should not be used when betPerLine
applied during free spins option is used
Response parameters
Name Description
error Error code.
description Description of the error for troubleshooting.
{
"gameList": [
{
"gameId": "vs25a",
"betValues": [
{"betPerLine": 0.05, "currency": "USD"},
{"betPerLine": 0.10, "currency": "EUR"},
{"betPerLine": 0.50, "currency": "CNY"}
]
},
{
"gameId": "vs9c",
"betValues": [
{"betPerLine": 0.15, "currency": "USD"},
{"betPerLine": 0.30, "currency": "EUR"},
{"betPerLine": 1.50, "currency": "CNY"}
]
}
]
}
Finished, cancelled, or expired bonuses will not be affected (the player’s win and bonus status remain).
Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service Required
bonusCode Bonus id within the Operator system. Should be unique within the brand. Required
hash Hash code of the request. Required
Response parameters
Name Description
error Error code.
description Description of the error for troubleshooting.
secureLogin=username&bonusCode=421&hash=39554fed4f41132eb8fe75e9a7ba3df6
6.5 GetPlayersFSB
Request path: POST /FreeRoundsBonusAPI/getPlayersFRB/
Using this method Casino Operator system can get from the Pragmatic Play system all Free Spins Bonus that are awarded to the
particular player.
Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service Required
playerId Id of the player within the Operator system. Required
hash Hash code of the request. Required
Response parameters
Name Description
bonuses List of information about all active FSB that were awarded to the player. See below FSB type
description of the objects in the list.
error Error code.
description Description of the error for troubleshooting.
Type: FRB
Name Description
currency Currency of the player.
gameIDList List of symbolic unique identifiers of the game that the FS is awarded for, comma separated.
Example: vs25a, vs9c, vs20s.
rounds Number of free game rounds awarded.
roundsPlayed Number of rounds already played.
bonusCode Bonus id within the Operator system. Should be unique within the brand.
expirationDate Date and time when the free spins will expire.
secureLogin=username&playerId=421&hash=b623382e6dd3219d63b7ed1979408856
Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service Required
bonusCode Bonus id within the Operator system. Should be unique within the brand. Required
playerList List of player id to add to the existing Free Spins Bonus, comma separated. Required
This data must be sent as a JSON in the body of the request.
*The maximum player list size value is 5000 in a batch.
requestId Unique identifier of FSB credit request (for specific player). It has to be passed to Optional
re-use the same bonusCode value again for the player.
The field is optional and is not sent to the Casino Operator by default. In case Casino Operator
needs this parameter to be sent with request they should ask the Pragmatic Play’s Technical
Support for additional configuration.
hash Hash code of the request. Required
Response parameters
Name Description
error Error code.
description Description of the error for troubleshooting.
{
"playerList": ["449986","450013","450509","437070"]
}
Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service Required
bonusCode Bonus id within the Operator system. Should be unique within the Required
brand.
playerId Player ID in Casino Operator’s system. Required
[Link] Date and time when the bonus will expire (in seconds). Optional
[Link] Date and time util the bonus will be valid (in seconds). Optional
[Link] The number of rounds for number-of-spins FSB. Optional.
Should not be used
when periodOfTime
parameter is specified.
[Link] The number of seconds for time-limited FSB. Optional.
Should not be used
when rounds
parameter is specified.
requestId Unique identifier of FSB credit request (for specific player). It has to be Optional
passed to re-use the same bonusCode value again for the player.
The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic
Play’s Technical Support for additional configuration.
hash Hash code of the request. Required
Response parameters
Name Description
error Error code.
description Description of the error for troubleshooting.
"validityDate": 1470926605,
"rounds": 1234
}
}
For time-limited FSB:
{
"config": {
"expirationDate": 1470926605,
"validityDate": 1470926605,
"periodOfTime": 1234
}
}
For a player without a specific configuration:
{
"config": {
}
}
Finished, cancelled, or expired bonuses will not be affected (the player’s win and bonus status remain).
Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service Required
bonusCode Bonus id within the Operator system. Should be unique within the brand. Required
playerList List of player id to remove from the existing Free Spins Bonus, comma Required
separated.
requestID Unique identifier of FSB credit request (for specific player) which was sent Optional
during adding of player.
The field is optional and is not sent to the Casino Operator by default. In case Casino Operator
needs this parameter to be sent with request they should ask the Pragmatic Play’s Technical
Support for additional configuration.
hash Hash code of the request. Required
Response parameters
Name Description
error Error code.
description Description of the error for troubleshooting.
secureLogin=username&bonusCode=421&hash=39554fed4f41132eb8fe75e9a7ba3df6
{
"playerList": ["449986","450013","450509","437070"]
}
Note:
In cases where Operator creates Free Spins Bonus with periodOfTime and more than one game in gameList,
player will be able to continue FSB only in game, which FSB was started in.
In cases where the operator creates a FSB with the frType=F parameter, only one game can be added to the
gameList.
Note:
2. Expiration date is mandatory. It should be sent as timestamp in seconds, and the bonus validity period must
not be longer than 30 days.
3. Total bet for each round is calculated as bet-per-line * number-of-lines.
Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API Required
service
bonusCode Bonus id within the Casino Operator’s system. Should Required
be unique within the brand.
startDate Date and time when free spins bonus will start. Required
*UNIX time in sec
expirationDate Date and time when the free spins will expire. Required
*UNIX time in sec
validityDate Date and time when the bonus gets invalid and is Optional
unavailable for the player. Doesn’t work when frType
is passed.
*UNIX time in sec
rounds Number of free game rounds awarded. Optional. Should not be used when
periodOfTime or frType parameter is
specified
periodOfTime Period of bonus time in seconds (please see note) Optional. Should not be used when
rounds or frType parameter is
specified
frType Type of the Free Spins Bonus that the player will be Optional. Should not be used when
awarded. Available values are: rounds or periodOfTime parameter is
F – Instant bonus rounds (triggering specified
predefined in-game feature)
Type: VariableFRGame
Name Description
gameId Id of the game associated with the free spins bonus.
betValues List of bets per line or total bets with the currency.
Type: VariableFRBetValue
Name Description Status
currency Currency code. Required
betPerLine Value of bet per line in the specified currency, which will be applied Should not be used when totalBet
during free spins option is used
totalBet Value of total bet in the specified currency, which will be applied during Should not be used when betPerLine
free spins option is used
Response parameters
Name Description
error Error code.
description Description of the error for troubleshooting.
{
"gameList": [
{
"gameId": "vs25a",
"betValues": [
Important: To avoid excessive traffic and load on both PragmaticPlay and Operator system, it is recommended to
send in request games and currencies list which are needed for Free Spins Bonus creation. This API
method is designed only for the games that support FSB.
Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service Required
gameIDs List of game IDs, in cases where it is sent, bet scales will be returned only for Optional
sent game list
currencies List of currencies, in cases where it is sent, bet scales will be returned only for Optional
sent currencies list
hash Hash code of the request. Required
Response parameters
Name Description
error Error code.
description Description of the error for troubleshooting.
gameList List of the games, with relevant game and bet scale list. See below betScaleList type description of
the objects in the list.
This data must be sent as a JSON in the body of the request.
Type: betScaleList
Name Description
currency Symbolic code of currency. Example: “USD”, “EUR”
betPerLineScales List of possible bets per line
totalBetScales List of possible total bets
secureLogin=username&hash=d249eef6f9264213586f3e94b7daba40&gameIDs=vs20cd¤cies=USD,EUR
1000 Internal server error. Pragmatic Play will return this error code if their system has internal problem and
cannot process the request.
URL of the history HTTP service will be provided by Pragmatic Play for the production and test environments and
looks like:
IMPORTANT!
For RNG games portfolio, all Game History API methods are supported
For LC, VSB portfolio only 7.7 OpenHistoryExtended and 7.6 GetRoundStatus methods are supported
7.3 GetPlayedGames
Request path: POST /GetPlayedGames/
Using this method Casino Operator can get a list of the games played by the player during the day.
Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service. Required
playerId Id of the player within the Casino Operator system. Required
datePlayed Date, based on the time zone of the user. Required
timeZone Time zone of the user. Required
Example: GMT, GMT+8, GMT+04:00
hash Hash code of the request. Required
Response parameters
Name Description
games List of games played. See below GamePlayed type description of the objects in the list.
Type: GamePlayed
Name Description
gameId Symbolic unique identifier of the game.
gameName Name of the game.
error Error code.
description Description of the error for troubleshooting.
secureLogin=username&playerId=421&datePlayed=2016-12-
23&timeZone=GMT+00:00&hash=980d06d3361f1e21a2f1550c6806ef52
7.4 GetGameRounds
Request path: POST /GetGameRounds/
Using this method Casino Operator can get a list of the game rounds played by the player during the certain day and (optionally)
the specific hour.
Important: In case the hour parameter is absent in the request, it will default to 0.
Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service. Required
playerId Id of the player within the Casino Operator system. Required
datePlayed Date when the game rounds were played, based on time zone of the user. Required
timeZone Time zone of the user. Required
Example: GMT, GMT+8, GMT+04:00
gameId Symbolic unique identifier of the game. Required
hour Ordinal number of time in a day. Optional
Example: 0,1,2,..,22,23
hash Hash code of the request. Required
Response parameters
Name Description
rounds List of game rounds played. See below GameRound type description of the objects in the list.
error Error code.
description Description of the error for troubleshooting.
Type: GameRound
Name Description
dateTime Date and time when the round was played, based on time zone of the user.
The value is returned in Pragmatic Play’s server time zone (UTC/GMT+0).
gameId Symbolic unique identifier of the game.
gameName Name of the game.
roundId Unique identifier of the game round.
currency Player’s currency.
betAmount Bet amount.
winAmount Win amount.
balance Player’s balance at the end of the round.
roundDetails Additional information about the game round, such as “Free spin”, “Bonus”, etc.
memberId Unique id for player on the Pragmatic Play side.
detailsUrl This parameter is not currently used and should be ignored by operators
roundStatus Status of the game round. May have the following values:
o In progress – game round was started but not finished yet by the player
o Completed – game round has been completed by the player
secureLogin=username&playerId=421&datePlayed=2016-12-
23&timeZone=GMT+00:00&gameId=vs50aladdin&hour=10&hash=0179f75a37274337f9aefe2c3108db0f
7.5 OpenHistory
Request path: POST /OpenHistory/
Using this method Casino Operator can get a link to the page with the game details at the end of the round. The method returns
URL that contains round id and a one-time password that the game server will use for validation of the request, for the security
reason.
Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service. Required
playerId Identifier of the player within the Casino Operator system. Required
roundId Unique identifier of the game round. Required
hash Hash code of the request. Required
Response parameters
Name Description
url URL for opening the game screen page.
error Error code.
description Description of the error for troubleshooting.
secureLogin=username&playerId=421&roundId=5108924498&hash=361527d01b040fd0c5fb68dcc204b707
7.6 GetRoundStatus
Request path: POST /GetRoundStatus/
Method returns the current status of a particular game round. Using this method Casino Operator can check game rounds
recorded on their side and cancel open bets returning money to the player’s balance.
Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service. Required
roundId Id of the game round. Required
gameId Id of the game. Required
options List of settings (String). By including it, operator can get additional Optional
information about round. Possible values are:
partialWinStatus
Response parameters
Name Description
roundId Id of the game round.
betAmount Amount of the bet.
winAmount Amount of the winnings.
roundStatus Status of the game round. May have the following values:
o In progress – game round was started but not finished yet by the player
o Completed – game round has been completed by the player
o Canceled – game round has been closed automatically by the game round finalization
process
o CompleteInProcess – game round is marked as Completed in the db; BetResult or
EndRound requests is in asynchronous transaction queue and the system tries to send it
to Operator
o CancelInProcess – game round is marked as Canceled in the db; Refund is in
asynchronous queue and being sent to Operator.
o "Partial win" – status for rounds which were finalized by system with partial winning
(status will be sent in case when operator included partialWinStatus in options request
parameter)
error Error code.
description Description of the error for troubleshooting.
secureLogin=username&roundId=5108924498&gameId=vs50aladdin&hash=8567449f06333293030e8f80ec89d3fa
7.7 OpenHistoryExtended
Request path: POST /OpenHistoryExtended/
Using this method Casino Operator can obtain detailed information about played game round, including free spin sessions.
Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service. Required
playerId Id of the player within the Operator system. Required
gameId Id of the game. Required
roundId Unique identifier of the game round. Required
language Language of report page Optional
hash Hash code of the request. Required
Response parameters
Name Description
url Report page URL.
error Error code.
description Description of the error for troubleshooting.
secureLogin=username&playerId=123123&gameId=vs7monkeys&roundId=111222&hash=5fd31717ba4-
da9e78ac19730212925c2
Data of the feeds related to large number of records (like transactions) will be requested using time point and sent to the
Operator in CSV format.
For each API account, frequency of any particular "Data feeds and reports" method requests, should be not more
than one call per minute.
Also, the data can be extracted no later than the last month.
Any "Data feeds and reports" method should be requested only with dataType parameter value, which is
available for Operator. Available dataType values can be received from 2.1 2.1 GetCasinoGames method
Time points
Time point is a timestamp starting from the server time when data is requested for the first time. If the request is sent
without a time point, the system returns a time point, which should be sent with the next request.
Whenever a request with the time point is sent, data from the moment of timepoint to the current moment will be
transferred, along with the new time point. This new time point should be used for the next request, and so on.
Using such a mechanism, no data will be lost. If clients haven’t received response from the Pragmatic Play with the new time
point, they will be able to re-send the request with the same time point, until requested data is received.
Data can be loaded by small portions for periods of time not longer than 10 minutes.
URL of the data feeds service will be provided by Pragmatic Play for the production and test environments and
looks like:
Data formats
Data will be returned in CSV or JSON format. For more details please see the chapter where the data feed is described.
All successful server responses in CSV format will contain a new time point that should be sent then by the client to the
server in the next request. Format of the server response is as follows:
#timepoint = {server time in ms}
{Data in standard csv format}
Client should get the first line from the response, parse it and save the time point somewhere for the next request. The rest
of the response should be parsed as normal CSV stream.
Data types
Name Type Description
login String(30) API user name (secureLogin value) for authentication in the Pragmatic Play API.
password String(30) API password (secret key value) for authentication in the Pragmatic Play API.
timepoint Long Time point
dataType String(3) Type of portfolio, indicates which portfolio Data Feeds should be returned
Available options:
RNG - Main portfolio games (video slots, classic slots etc.)
LC - Live Casino portfolio
VSB - Virtual sports betting portfolio
BNG – Bingo portfolio (should be used for relevant API context path)
Important!
In cases where dataType is included in request, Data Feeds for relevant portfolio will be
returned only
When there is no dataType in request, will be returned Data Feeds for RNG only
playerID Number(15) Player unique identifier within Pragmatic Play system.
extPlayerID String(100) Player unique identifier within Casino Operator system.
gameID String(20) Symbolic unique identifier of the game provided by Pragmatic Play.
playSessionID Long Id of the player’s session for particular game (unique number of the game round).
parentSessionID Long Id of the play session, in which the feature was triggered (unique number of the
parent game round
startDate DateTime Date and time when the game round started.
endDate DateTime Date and time when the game round ended.
status String(1) Status of the game round, transaction or jackpot
type String(1) Type of the game round or transaction
bet Double(15,2) Bet amount.
win Double(15,2) Win amount.
currency String(3) Currency of the transaction, 3 letter ISO code.
jackpot Double(15,2) Jackpot win amount.
platform String(1) The platform type (channel) on which the game was played.
Possible values :
U - Unknown
W - WEB
M - Mobile
bonusCode String (100) Id of the Free Spins Bonus. Is applied for rounds, played with FSB
options String(100) List of settings
timestamp DateTime Date and time when the transaction is processed on the Pragmatic Play side.
referenceID String(100) Unique id for reference of this transaction on the Pragmatic Play side.
amount Double(15,2) Amount of the transaction.
betAmount Double(15,2) Amount of the bet.
winAmount Double(15,2) Amount of winning in current bet.
jackpotID Number(15) Unique identifier of the Jackpot within Pragmatic Play system.
name String(100) Name of the Jackpot.
level String(1) Level of the Jackpot
games String(255) The list of the games participating in the Jackpot. It contains gameId (game symbols),
comma separated.
dateTime DateTime Date and time when the Jackpot was won.
totalRounds Integer Total number of game rounds
totalFreeSpinRounds Integer Total number of free spin rounds
totalBet Double(15,2) Total bet amount.
totalWin Double(15,2) Total win amount.
totalJackpot Double(15,2) Total Jackpot win amount.
totalPromo Double(15,2) Total amount of wins in Prize Drop campaigns
startTimepoint Long Starting Time point
(Unix epoch time in milliseconds, for example : 1619710210000)
endTimepoint Long Ending Time point
(Unix epoch time in milliseconds, for example : 1627486210000)
amountInPlayerCurrency Double(15,2) Amount in player’s currency
tier String(5) Jackpot tier
payoutStatus String(1) Status of the jackpot payout transaction. Possible values:
I – In Progress (not finished yet)
C – Completed
M - Manual
winDate Long Date and time of Jackpot winning.
(Unix epoch time in milliseconds, for example : 1619710210000)
winType String(2) Jackpot winning type. Possible values:
W – standard jackpot winning
WC – community shared jackpot winning
WN – non-progressive jackpot winning
playerCurrencySymbol String(3) Symbol of player’s currency
finalizedRoundsSeparated – show completed rounds with status 'C' and finilezed/cancelled (cancelled=1) rounds with
status 'F'
finalizedRoundsHidden – shows only completed rounds (exclude finalized/cancelled rounds)
Processing of DataFeeds should be performed with the general flow described in section 8 Data feeds and reports
Request parameters
Name Description
secureLogin User name for authentication in the Casino Game API service
error String(10) 0 - if the request was successfully processed or error code in other case.
Type: HealthPerEnvironment
apiDomain String(250) Name of API service domain within SPE system Required
Example of response:
{
"error": "0",
"description": "OK",
"environments": [
{
"envName": "prerelease1",
"apiDomain": "[Link] "
},
{
"envName": "prerelease2",
"apiDomain": "[Link] "
}
]
}
Processing of DataFeeds should be performed with the general flow described in section 8 Data feeds and reports
login API user name (secureLogin value) for authentication in the Pragmatic Play API. Required
password API password (secret key value) for authentication in the Pragmatic Play API. Required
timepoint Time point starting from which data will be transferred. If time point is empty, the new time point Optional
will be returned.
(Unix epoch time in milliseconds, for example : 1470926696715)
dataType Type of portfolio, indicates which portfolio Data Feeds should be returned Optional
In cases where dataType is included in request, Data Feeds for relevant portfolio will be returned only
When there is no dataType in request, will be returned Data Feeds for RNG only
options List of settings (String). By including it, operator can get additional information about round. Possible Optional
values are:
addRoundDetails
addBalance
addBonusBetWin
finalizedRoundsSeparated
finalizedRoundsHidden
gameID Symbolic unique identifier of the game provided by Pragmatic Play. Required
playSessionID Id of the player’s session for particular game (unique number of the game round). Required
parentSessionID Id of the play session, in which the feature was triggered (unique number of the parent Required
game round). This field will contain the same value as the playSessionID field for all
game rounds except free spins.
(Rows with free spins will contain the id of game round where they were triggered in the
parentSessionID field and id of the free spin round in the playSessionID field)
startDate Date and time when the game round started. Required
(Will be returned in yyyy-mm-dd HH:mm:ss format, for example: “2017-08-28
02:14:13”)
endDate Date and time when the game round ended. Will be null if the game round is not Required
finished yet.
(Will be returned in yyyy-mm-dd HH:mm:ss format, for example: “2017-08-28
02:14:13”)
status Status of the game round: Required
I – In Progress (not finished yet)
C – Completed
F – Canceled or finalized (only for /gamerounds/finished/ with
finalizedRoundsSeparated option)
type Type of the game round: Required
R – game round
F – free spin triggered during the game round
platform The platform type (channel) on which the game was played. Optional
The field is optional and is not handled by the Pragmatic Play by default. In case Casino
Operator need this parameter to be applied, they should ask the Pragmatic Play’s
Technical Support for configuration.
Possible values :
U - Unknown
W - WEB
M - Mobile
bonusCode Id of the Free Spins Bonus. Is applied for rounds, played with FSB Optional
The field is optional and is not handled by the Pragmatic Play by default. In case Casino
Operator need this parameter to be applied, they should ask the Pragmatic Play’s Technical
Support for configuration.
roundDetails Provides additional info bets and result of the live casino games. Optional
This field is optional and will appear in response in cases where request contains
addRoundDetails in options list
Example:
"type:bets,desc:[{"c":"Even","a":"3.0"},{"c":"0G","a":"3.0"},{"c":"Red","a":"3.0"}]"
balance The balance value after the round has been processed by operator Optional
This field is optional and will appear in response in cases where request contains
addBalance in options list
To use this addBalance in current method , Operator should accept data type:
String(4000) for balance. It is also not handled by the Pragmatic Play by default. In case
Casino Operator need this parameter to be applied, they should ask the Pragmatic Play’s
Technical Support for configuration.
Example of response:
timepoint=1618298161139
playerID,extPlayerID,gameID,playSessionID,parentSessionID,startDate,endDate,status,type,bet,win,cur
rency,jackpot,bonusCode,bonusBet,bonusWin
531288,889325,vs20magicpot,50994065,50994064,2021-04-13 07:06:18,2021-04-13
07:06:18,C,F,0.00,0.00,EUR,0.00,null,0.00,0.00
531288,889325,vs20magicpot,50994066,50994064,2021-04-13 07:06:25,2021-04-13
07:06:25,C,F,0.00,0.00,EUR,0.00,null,0.00,0.00
531288,889325,vs20magicpot,50994067,50994064,2021-04-13 07:06:28,2021-04-13
07:06:28,C,F,0.00,0.00,EUR,0.00,null,0.00,0.00
531288,889325,vs20magicpot,50994073,50994064,2021-04-13 07:06:47,2021-04-13
07:06:47,C,F,0.00,0.00,EUR,0.00,null,0.00,0.00
531288,889325,vs20magicpot,50994068,50994064,2021-04-13 07:06:31,2021-04-13
07:06:31,C,F,0.00,0.00,EUR,0.00,null,0.00,0.00
Processing of DataFeeds should be performed with the general flow described in section 8 Data feeds and reports
Request parameters
Name Description Status
login API user name (secureLogin value) for authentication in the Pragmatic Play API. Required
password API password (secret key value) for authentication in the Pragmatic Play API. Required
timepoint Time point starting from which data will be transferred. If time point is empty, the new time point will Optional
be returned.
(Unix epoch time in milliseconds, for example : 1470926696715)
dataType Type of portfolio, indicates which portfolio Data Feeds should be returned Optional
In cases where dataType is included in request, Data Feeds for relevant portfolio will be returned only
When there is no dataType in request, will be returned Data Feeds for RNG only
options List of settings. By including it, operator can get additional information about transaction. Possible Optional
values are:
addTransactionStatus
addJPContributionAmount
onlyPromoWins – only wins in PrizeDrops campaigns will be returned.
*If a request has an onlyPromoWins option, the response should contain only transactions
with type = P (win in promotional campaign).
gameID Symbolic unique identifier of the game provided by Pragmatic Play. Required
playSessionID Id of the player’s session for particular game (unique number of the game round). Required
timestamp Date and time when the transaction is processed on the Pragmatic Play side. Required
(Unix epoch time in milliseconds, for example : 1470926696715)
referenceID Unique id for reference of this transaction on the Pragmatic Play side. Required
contributionAmount The amount of contribution for round that takes part in the Jackpot Optional
This field is optional and will appear in response in cases where request contains
addJPContributionAmount in options list
status Current status of transaction. Possible values are: Optional
S – success
L – canceled
R – refunded
This field is optional and will appear in response in cases where request contains addTransactionStatus in
options list
Example of response:
timepoint=1482510809258
playerID,extPlayerID,gameID,playSessionID,timestamp,referenceID,type,amount,currency,status
6638030,421,vs50aladdin,5111126041,1482510741000,585d5195f89c56f5ed95012e,B,2.50,USD,S
6638030,421,vs50aladdin,5111126041,1482510742000,585d5196f89c56f5ed950159,W,0.50,USD,S
6638030,421,vs50aladdin,5111126590,1482510745000,585d5199f89c56f5ed950344,B,2.50,USD,S
6638030,421,vs50aladdin,5111127141,1482510748000,585d519cf89c56f5ed95054e,B,2.50,USD,S
Processing of DataFeeds should be performed with the general flow described in section 8 Data feeds and reports
Request parameters
Name Description Status
login API user name (secureLogin value) for authentication in the Pragmatic Play API. Required
password API password (secret key value) for authentication in the Pragmatic Play API. Required
timepoint Timepoint starting from which data will be transferred. If timepoint is empty, the new timepoint will Optional
be returned.
(Unix epoch time in milliseconds, for example : 1470926696715)
gameID Symbolic unique identifier of the game within the Pragmatic Play system. Example: Required
vs25queenofgold, vs50aladdin, cs5triple8gold, bjma, rla, vpa
The list of available games may be obtained by Casino Operator by calling GetCasinoGames method
of CasinoGameAPI HTTP service.
playSessionID Id of the player’s session for particular game (unique number of the game round). Required
referenceID Unique id for reference of this transaction on the Pragmatic Play side. Required
timestamp Date and time when the transaction is processed on the Pragmatic Play side. Required
roundDetails Additional information about the current game round, comma separated. Required
Example: “spin,bonus”
Example of response:
timepoint=1482510979767
playerID,extPlayerID,referenceID,gameID,playSessionID,betAmount,winAmount,timestamp,roundDetails
Processing of DataFeeds should be performed with the general flow described in section 8 Data feeds and reports
Important: In case there are no ative jackpots according to the given criteria, an empty list is returned in the re -
sponse.
Request parameters
Name Description Status
login API user name (secureLogin value) for authentication in the Pragmatic Play API. Required
currency ISO-4217 code currency. Currency for JP amounts returned in feed. If missed, then amounts are Optional
returned in in the main jackpot currency.
Type: Tiers
This list displays information only for active/open (not won) progressive tiers. Information about non-progressive
(multiplier) tiers is not displayed in the list.
Name Description Status
jackpotTierID Unique identifier of the Jackpot Tier within the Pragmatic Play system. Required
tier Jackpot tier name identifier. The tier index (0 - 3) that operator receives in API should be Required
mapped with the appropriate tier in the game:
0 – the 1st tier (the lowest).
1 – the 2nd tier.
2 – the 3rd tier,
3 – the 4th tier (the highest).
amount Jackpot fund (for specific tier) for the moment of request, in USD by default. Or values can be Required
returned in the requested currency.
"description": "OK"
}
{"winners": [],
"error": "0",
"description": "OK"}
Maximal period of Jackpot Winners DataFeeds for which data can be transferred is not more than 30 days
Processing of DataFeeds should be performed with the general flow described in section 8 Data feeds and reports
Request parameters
Name Description Status
login API user name (secureLogin value) for authentication in the Pragmatic Play API. Required
winners List List of Jackpot winners during requested period. See below Winners type description of the
objects in the list
error String Error code
description String Description of the error for troubleshooting
Type: Winners
Name Description Status
jackpotTierID Unique identifier of the Jackpot Tier within the Pragmatic Play system. Required
extPlayerID Player unique identifier within Casino Operator system. Required
winAmount Won jackpot amount in player’s currency. Required
winDate Date and time of Jackpot winning. For community part it is the date and time for Required
creating transaction
(Unix epoch time in milliseconds, for example : 1619710210000)
winType Jackpot winning type. Possible values: Required
W – standard jackpot winning
WC – community shared jackpot winning
NW – non-progressive jackpot winning
playSessionID Unique number of the play session (game round) in which Jackpot was won Optional
Optional, is used optional standard jackpot wins
currency Currency of the player. Required
],
"error": "0",
"description": "OK"
}
Processing of DataFeeds should be performed with the general flow described in section 8 Data feeds and reports
Request parameters
Name Description Status
login API user name (secureLogin value) for authentication in the Pragmatic Play API. Required
mainJackpotID Unique identifier (parent/main) of the Jackpot within the Pragmatic Play system. Required
currency ISO-4217 code currency. Currency for JP amounts returned in feed. If missed, then amounts are Optional
returned in the main jackpot currency.
hash Hash code of the request. Required
tiers List List of tier objects for transferring details for tiers. See below (tiers type) the description of
the objects in the list.
error String Error code
Type: tiers
Name Type Description Status
jackpotTierID String Unique identifier of the Jackpot Tier within the Pragmatic Play system. Required
Jackpot tier name identifier. The tier index (0 - 3) that the operator receives in
API should be mapped with the appropriate tier in the game:
tier Number 0 – the 1st tier (the lowest) Required
1 – the 2nd tier
2 – the 3rd tier
3 – the 4th tier (the highest).
numberOfWins Number Number of times the jackpot tier was won during the jackpot tier lifetime. Required
biggestWin Set of biggest win parameters. See below (biggestWin type) parameters
Array Required
description.
lastWin Array Set of last win parameters. See below (lastWin type) parameters description. Required
Type: biggestWin
Name Type Description Status
Date and time of the biggest win in the jackpot tier lifetime. (Will be
winDate Number Required
returned as timestamp in milliseconds).
winAmount Number(15,2) Amount of the biggest win in the jackpot tier lifetime. Required
Identifier of the player (within the Casino Operator system) who won the
extPlayerID String biggest win within the jackpot tier. Is returned only if the player belongs to Optional
the Casino that sends the request.
maskedExtPlayerID Identifier of the player (within the Casino Operator system) who won the
String Required
biggest win within the jackpot tier. Is returned in masked view.
Type: lastWin
Name Type Description Status
Date and time of the last win in the jackpot tier lifetime. (Will be returned
winDate Number Required
as timestamp in milliseconds).
winAmount Number(15,2) Amount of the last win in the jackpot tier. Required
Identifier of the player (within the Casino Operator system) who won the
extPlayerID String last win within the jackpot tier. Is returned only if the player belongs to the Optional
Casino that sends the request.
maskedExtPlayerID Identifier of the player (within the Casino Operator system) who won the
String Required
last win within the jackpot tier. Is returned in masked view.
{
"jackpotTierID": 462,
"tier": 3,
"numberOfWins": 7,
"biggestWin":
{
"winDate": 1693645174,
"winAmount": 200000.00,
"maskedExtPlayerID": "***t**na*-**ay*r-id**"
},
"lastWin":
{
"winDate": 1693645174,
"winAmount": 200000.00,
"maskedExtPlayerID": "***t**na*-**ay*r-id**"
}
}
]
}
Processing of DataFeeds should be performed with the general flow described in section 8 Data feeds and reports
Since the results of this API are based on daily totals for the day it was finished, make sure that the same setting is
applied in the back-office report so it could be compared correctly. If the setting is absent, then refer to the back-
office user guide to determine the exact type of aggregation for the specific report.
Request parameters
Name Description Status
login API user name (secureLogin value) for authentication in the Pragmatic Play API. Required
password API password (secret key value) for authentication in the Pragmatic Play API. Required
startDate Start date and time of the period for which the data should be loaded Required
endDate End date and time of the period for which the data should be loaded Required
dataType Type of portfolio, indicates which portfolio Data Feeds should be returned Optional
In cases where dataType is included in request, Data Feeds for relevant portfolio will be
returned only
When there is no dataType in request, will be returned Data Feeds for RNG only
options List of settings. By including it, operator can get additional totals. Optional
Possible values are:
• addTotalPromo – for Prize Drop wins
totalRounds Total number of game rounds completed during the reporting period, including in-game free Required
spin rounds and Free Spins Bonus / Free Chips rounds.
totalFreeSpinRounds Total number of in-game free spin rounds completed during reporting period Required
{
"totalRounds": 48,
"totalFreeSpinRounds": 10,
"totalBet": 48,
"totalWin": 92.68,
"totalJackpot": 0,
"totalPromo": 0,
"currency": "RMB"
}
]}
Processing of DataFeeds should be performed with the general flow described in section 8 Data feeds and reports
Request parameters
Name Description Status
login API user name (secureLogin value) for authentication in the Pragmatic Play API. Required
password API password (secret key value) for authentication in the Pragmatic Play API. Required
dataType Type of portfolio, indicates which portfolio Data Feeds should be returned Optional
In cases where dataType is included in request, Data Feeds for relevant portfolio will be returned
only
When there is no dataType in request, will be returned Data Feeds for RNG only
playSessionID Id of the player’s session for particular game (unique number of the game round). Required
"playSessionID": "2352191665",
"betAmount": 30.00 }
]
}
Processing of DataFeeds should be performed with the general flow described in section 8 Data feeds and reports
Request parameters
Name Description Status
login API user name (secureLogin value) for authentication in the Pragmatic Play API. Required
password API password (secret key value) for authentication in the Pragmatic Play API. Required
timepoint Timepoint starting from which data will be transferred. If timepoint is empty, the new timepoint Optional
will be returned.
(Unix epoch time in milliseconds, for example : 1470926696715)
options List of settings. By including it, operator can get only partial win rounds. Optional
Possible values are:
• onlyPartialWin – for return only rounds with partial win.
• addBonusBetWin – for returns bonus part of the bet and win.
gameID Symbolic unique identifier of the game provided by Pragmatic Play. Required
playSessionID Id of the player’s session for particular game (unique number of the game round). Required
parentSessionID Id of the play session, in which the feature was triggered (unique number of the parent Required
game round). This field will contain the same value as the playSessionID field for all game
rounds except free spins.
(Rows with free spins will contain the id of game round where they were triggered in the
parentSessionID field and id of the free spin round in the playSessionID field)
startDate Date and time when the game round started. Required
(Will be returned in yyyy-mm-dd HH:mm:ss format, for example: “2017-08-28 02:14:13”)
endDate Date and time when the game round ended. Will be null if the game round is not finished Required
yet.
(Will be returned in yyyy-mm-dd HH:mm:ss format, for example: “2017-08-28 02:14:13”)
status Status of the game round: Required
I – In Progress (not finished yet)
C – Completed
type Type of the game round: Required
R – game round
F – free spin triggered during the game round
Example of response:
timepoint=1618298161139
playerID,extPlayerID,gameID,playSessionID,parentSessionID,startDate,endDate,status,type,bet,win,cur
rency,jackpot,bonusBet,bonusWin
531288,889325,vs20magicpot,50994065,50994064,2021-04-13 07:06:18,2021-04-13
07:06:18,C,F,0.00,0.00,EUR,0.00,null,W,0.00,0.00
531288,889325,vs20magicpot,50994066,50994064,2021-04-13 07:06:25,2021-04-13
07:06:25,C,F,0.00,0.00,EUR,0.00,null,W,0.00,0.00
531288,889325,vs20magicpot,50994067,50994064,2021-04-13 07:06:28,2021-04-13
07:06:28,C,F,0.00,0.00,EUR,0.00,null,W,0.00,0.00
531288,889325,vs20magicpot,50994068,50994064,2021-04-13 07:06:31,2021-04-13
07:06:31,C,F,0.00,0.00,EUR,0.00,null,W,0.00,0.00
531288,889325,vs20magicpot,50994069,50994064,2021-04-13 07:06:34,2021-04-13
07:06:34,C,F,0.00,0.00,EUR,0.00,null,W,0.00,0.00
Processing of DataFeeds should be performed with the general flow described in section 8 Data feeds and reports
Request parameters
Name Type Description Status
login String(30) API user name (secureLogin value) for authentication in the Pragmatic Required
Play API.
password String(30) API password (secret key value) for authentication in the Pragmatic Play Required
API.
startDate Date Start date of the period for which the data should be loaded. Required
Date and time in the format yyyy-MM-dd HH:mm:ss.
endDate Date End date of the period for which the data should be loaded. Required
Date and time in the format yyyy-MM-dd HH:mm:ss.
options String List of settings. By including it, operator can get additional information Optional
about tournament. Possible values are:
addWinTime
tournaments List List of tournaments that were closed during requested period. See below
Tournament type description of the objects in the list
error String Error code
description String Description of the error for troubleshooting
Type: Tournament
Name Type Description
dateClosed Date Date and time when the tournament was finished.
Date and time in the format yyyy-MM-dd HH:mm:ss.
winners List Tournament winners – the list of top players that were awarded with tournament
prizes. See below “Tournament Winner” type description of the objects in the list
prizeGift String Gift, which the player will receive as a prize. This field is optional and will appear
only if prizeAmount, prizeCoins, prizeCurrency fields are not present in the
response.
prizeAmount Number(15,2) Prize amount that the player is awarded with.
The field is optional and will appear only if there is no prizeGift field in the response.
Please note, that prizeAmount, prizeCoins, prizeCurrency should appear together.
prizeCoins Number(15) Prize amount in coins.
The field is optional and will appear only if there is no prizeGift field in the response.
Please note, that prizeAmount, prizeCoins, prizeCurrency should appear together.
prizeCurrency String Currency code for prize amount.
The field is optional and will appear only if there is no prizeGift field in the response.
Please note, that prizeAmount, prizeCoins, prizeCurrency should appear together.
winEventTime Date Date and time of the player’s win event.
This field is optional and will appear in response in cases where request contains
addWinTime in options list.
"tournamentPlayerID" : 20,
"position" : 1,
"score" : 100000,
"prizeAmount" : 1000.00,
"prizeCoins" : 20.0,
"prizeCurrency" : "USD",
"winEventTime" : "2018-01-18 12:30:00"
},
{
"playerID" : "extid-3",
"tournamentPlayerID" : 24,
"position" : 2,
"score" : 99667,
"prizeAmount" : 500.0,
"prizeCoins" : 10.0,
"prizeCurrency" : "USD",
"winEventTime" : "2018-01-20 08:33:00"
}]
} ]
}
Request parameters
Name Type Description Status
secureLogin String API user name (secureLogin value) for authentication in Pragmatic Play API. Required
hash String Hash code of request. Required
currencies String ISO-4217 code currency. Currencies for prize pool and limits returned in feed. Optional
If this parameter is missed in request, then amounts are returned in the main
tournament currency.
dataType String Product vertical for which promotion is created. Available values are: Optional
1. RNG – Slots & More games.
2. LC – Live Games.
If missed, tournaments for all products are returned.
activityDate Date Date in the format 'yyyy-MM-dd' for which active tournaments should be Optional
returned. This is the date on which these tournaments were/will be active.
If the activityDate parameter is specified and this value is in the past, this date
should not be earlier than 31 days from the current date (date of sending the
request).
If this parameter is missed, the response will contain the list of tournaments
that are/were in Started status on the date when the request is sent (even if
the tournament end date is on that day and the tournament has already
ended at the time the request is sent).
Type: tournamentsList
Name Type Description
tournamentID Number Tournament ID.
name String Name of the tournament (EN version).
dataType String Product vertical for which this promotion is created. Available values are:
Type: prizePoolsList
Name Type Description
currency String Symbolic code of currency.
Example: “USD”, “EUR”.
amount Number(15,2) Prize pool amount.
Type: minWageredAmountList
Name Type Description
currency String Symbolic code of currency.
Example: “USD”, “EUR”.
amount Number(15,2) Minimal wagered amount.
"amount": 2.00
}
],
"minRounds" : 10,
"minWageredAmountList" : [
{
"currency": "USD".
"amount": 20000.00
},
{
"currency": "EUR",
"amount": 2.00
}
],
"games" : ["vs20cricksugar", "vs20olymp12gate", "vs20fruitsw188"]
}]
}
This API method returns a list of prizes for a specific tournament in JSON format.
The list of prizes can only be retrieved for prize drops whose status is either ‘Activated’, ‘Started’ or ‘Closed’, but
only if they ended no more than 31 days ago.
Request parameters
Name Type Description Status
secureLogin String API user name (secureLogin value) for authentication in Pragmatic Required
Play API.
hash String Hash code of request. Required
tournamentID Number ID of the tournament for which prizes will be received. Required
currencies String ISO-4217 code currency. Currencies for amounts returned in feed. Optional
If this parameter is missed in the request, then amounts are returned
in the main tournament currency.
Type: prizeList
Name Type Description
positionFrom Number Starting position in the leaderboard position interval for which this prize is
awarded.
positionTo Number Ending position in the leaderboard position interval for which this prize is awarded.
prizeType String Gift that players (from the specific leaderboard position interval) will receive as the
prize. Available values are:
7. Fixed Prize Amount,
8. Text Prize,
9. Bet Multiplier,
10. Free Spins,
11. Countdown FS,
Type: amountInCurrencyList
Name Type Description
currency String Symbolic code of currency.
Example: “USD”, “EUR”.
amount Number(15,2 Prize amount (converted from coins) players within the Fixed Prize Amount prize
) type will receive.
},
{
"positionFrom" : 16,
"positionTo" : 20,
"prizeType" : "Free Spins",
"spinsNumber" : 5
},
{
"positionFrom" : 21,
"positionTo" : 25,
"prizeType" : "Countdown FS",
"seconds" : 100
},
{
"positionFrom" : 26,
"positionTo" : 30,
"prizeType" : "Bet Multiplier",
"multiplier" : 10
},
{
"positionFrom" : 31,
"positionTo" : 35,
"prizeType" : "Instant Bonus"
}
]
}
This API method returns the top X players (from the leaderboard) for a specific tournament in JSON format.
The leaderboard should be returned only for tournaments with the status:
- Started, or
- Closed – but only if no more than 24 hours + [Show after the end, hours] have passed since the tournament
ended. (The additional hours are defined in the General settings tab of the tournament profile.)
Request parameters
Name Type Description Status
secureLogin String API user name (secureLogin value) for authentication in Pragmatic Play Required
API.
hash String Hash code of request. Required
tournamentID Number ID of the tournament for which the leaderboard will be received. Required
leaderboardSize Number Number of top players from the leaderboard that should be sent for the Optional
tournament in response. If it's missed, winning positions will be sent.
Type: leaderboardList
Name Type Description
playerID String Player’s ID within operator’s system. This parameter will be sent only if the player
belongs to the casino that sent the request.
tournamentPlayerID Number(15) Player’s ID within the tournament
position Number(15) Player’s rank within the tournament.
score Number(15) Player’s score within the tournament.
Request parameters
Name Type Description Status
secureLogin String(30) API user name (secureLogin value) for authentication in the Pragmatic Required
Play API
timepoint Number Time point starting from which data will be transferred. If time point is Optional
empty, the new time point will be returned.
(Unix epoch time in milliseconds, for example: 1470926696715)
winners List Prize drop winners – the list of players who were awarded prizes during the
requested period. See below “Prize Drop Winner” type description of the objects in
the list.
winDate Date Date and time when the prize is added to the player’s balance. For expired prizes, it
is the expiration date.
Date and time in the format yyyy-MM-dd HH:mm:ss.
roundID Number ID of the round where the prize was won
Example of JSON response (3 winners: cash, text prize and winner with expired prize):
{ "error" : 0,
"description" : "OK",
"timepoint" : 1516440780000,
"winners" : [ {
"playerID" : "extid-0",
"prizeDropID" : 10,
"dataType" : "RNG",
"prizeDropPlayerID" : 20,
"winDate" : "2018-01-20 11:33:08",
"roundID" : 37491345,
"status" : "A",
"prizeAmount" : 1000.0,
"prizeCoins" : 20.0,
"prizeCurrency" : "USD"
},
{
"playerID" : "extid-3",
"prizeDropID" : 10,
"dataType" : "RNG",
"prizeDropPlayerID" : 24,
"winDate" : "2018-01-20 11:35:43",
"roundID" : 3789063,
"status" : "A",
"prizeGift" : "text prize"
},
{
"playerID" : "extid-9",
"prizeDropID" : 8,
"dataType" : "RNG",
"prizeDropPlayerID" : 15,
"winDate" : "2018-01-20 11:39:40",
"roundID" : 2468654,
"status" : "E",
"prizeAmount" : 0.0,
"prizeCurrency" : "USD"
}]
} ]}
secureLogin String API user name (secureLogin value) for authentication in Pragmatic Play API. Required
hash String Hash code of request. Required
currencies String ISO-4217 code currency. Currencies for prize pool and other amounts Optional
returned in feed.
If this parameter is missed in the request, then amounts are returned in the
main prize drop currency.
dataType String Product vertical for which promotion was created. Available values are: Optional
RNG – Slots & More games.
LC – Live Games.
If missed, prize drops for all product verticals are returned.
activityDate Date Date in the format 'yyyy-MM-dd' for which active prize drops should be Optional
returned. This is the date on which these prize drops were/will be active.
If the activityDate parameter is specified and this value is in the past, this
date should not be earlier than 31 days from the current date (date of
sending the request).
If this parameter is missed, the response will contain the list of prize drops
that are/were in Started status on the date when the request is sent (even if
the prize drop end date is on that day and the prize drop has already ended
at the time the request is sent).
Type: prizeDropsList
Name Type Description
dataType String Product vertical for which this promotion was created. Available values are:
RNG – Slots & More games.
LC – Live Games.
level String Promotion level. Available values are:
B - Bespoke,
N - Network.
startDate Date Date and time when the prize drop starts.
Date and time in the format yyyy-MM-dd HH:mm:ss.
endDate Date Date and time when the prize drop ends.
Date and time in the format yyyy-MM-dd HH:mm:ss.
prizePoolList List Prize drop total prize pool. Is sent in different currencies (according to those specified in
the request). Includes just fixed prizes, without prizes with bet multiplier. Description of
objects in the list see below (prizePoolList type).
numberOfPrizes Number Number of prizes configured for the prize drop.
minBetList List Minimal bet to participate in the prize drop. Is sent in different currencies (according to
those specified in request). Description of objects in the list see below ( minBetList
type).
minRounds Number Minimal number of rounds to participate in the prize drop. Is returned if it’s configured
in the prize drop.
minWageredAm List Minimal total bet amount required for the players to participate in the prize drop.
ountList
Scoring starts after the qualification is reached. Is returned if it’s configured in the prize
drop. Description of objects in the list see below (minWageredAmountList type).
games String List of the games participating in the prize drop. It contains gameId (game symbols),
comma separated.
Example: "vs20cricksugar", "vs20olymp12gate", "vs20fruitsw188".
Type: prizePoolList
Name Type Description
Type: minBetList
Name Type Description
Type: minWageredAmountList
Name Type Description
"minBetList" : [
{
"currency": "USD",
"amount": 2.00
},
{
"currency": "EUR",
"amount": 1.87
}
],
"minRounds" : 10,
"minWageredAmountList" : [
{
"currency": "USD",
"amount": 20.00
},
{
"currency": "EUR",
"amount": 18.68
}
],
"games" : ["vs20cricksugar", "vs20olymp12gate", "vs20fruitsw188"]
}]
}
Request parameters
Name Type Description Status
secureLogin String API user name (secureLogin value) for authentication in Pragmatic Play API. Required
hash String Hash code of request. Required
prizeDropID Number ID of the prize drop for which prizes will be received. Required
currencies String ISO-4217 code currency. Currencies for amounts returned in feed. Optional
If this parameter is missed in the request, then amounts are returned in the
main prize drop currency.
Type: prizeList
Name Type Description
seconds Number Gift in the form of countdown free spins that players within the ‘Countdown FS’
prize type will receive. This field is optional and will appear only if prizeType is
‘Countdown FS’.
Type: amountInCurrencyList
Name Type Description
}]
}
Request parameters
Name Type Description Status
secureLogin String API user name (secureLogin value) for authentication in Pragmatic Required
Play API.
hash String Hash code of request. Required
prizeDropID Number ID of the prize drop for which the latest wins will be received. Required
currencies String ISO-4217 code currency. Currencies for amounts returned in feed. Optional
If this parameter is missed in the request, then amounts are returned
in the main prize drop currency.
listSize Number Number of latest wins (max 300) in the prize drop that should be Optional
sent in response. If it's missed, 300 latest wins will be received.
Type: latestWinsList
Name Type Description
playerID String Player’s ID within operator’s system. This parameter will be sent only if the player
belongs to the casino (any of it shards) that sent the request.
prizeDropPlayerID Number(15) Player’s ID within the prize drop.
roundID Number ID of the round in which the prize was won. This parameter will be sent only if the
round belongs to the casino (any of its shards) that sent the request.
gameID String Symbolic unique identifier of the game (within the Pragmatic Play system) in which
the prize was won. Example: vs50aladdin.
bet Map Player’s bet in the round in which the prize was won, except for Bet Multiplier
prize.
When the bet is sent for the Bet Multiplier prize, it returns:
player’s win bet – if the player’s win bet doesn’t exceed the bet
"USD" : 20.00,
"EUR" : 18.66
},
"prizeType" : "Text Prize",
"value" : "iPhone 15 Pro Max"
},
{
"playerID" : "extid-23",
"prizeDropPlayerID" : 17,
"roundID" : 5010062242001,
"gameID" : "vs50aladdin",
"bet" : {
"USD" : 5.00,
"EUR" : 4.67
},
"prizeType" : "Free Spins",
"value" : 10
},
{
"playerID" : "extid-47",
"prizeDropPlayerID" : 25,
"roundID" : 5010062241001,
"gameID" : "vs50aladdin",
"bet" : {
"USD" : 15.00,
"EUR" : 14.01
},
"prizeType" : "Countdown FS",
"value" : 60
},
{
"playerID" : "extid-111",
"prizeDropPlayerID" : 44,
"roundID" : 5010062250001,
"gameID" : "vs50aladdin",
"bet" : {
"USD" : 10.00,
"EUR" : 9.33
},
"prizeType" : "Fixed Prize Amount",
"winAmount" : {
"USD" : 100.00,
"EUR" : 93.30
}
},
{
"prizeDropPlayerID" : 56,
"gameID" : "vs50aladdin",
"bet" : {
"USD" : 50.00,
"EUR" : 46.67
},
"prizeType" : "Instant Bonus"
}]
}
Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service Required
URL of the HTTP service will be provided by Pragmatic Play for the production and test environments and looks like:
[Link] service domain}/IntegrationService/v3/StatisticsAPI/players/daily/totals/
Hash calculation
Hash code is calculated with following formula:
From request GET parameters, all parameters are taken (except hash) and appending to string:
1. Sort all parameter by keys in alphabetical order.
2. Append them (if the value is not null or empty) in key1=value1&key2=value2.
3. Append secret key, e.g.: key1=value1&key2=value2SECRET.
4. Calculate the hash by using MD5.
secureLogin String User name for authentication in the Report API service. Required
date String Date for which the data should be loaded (format YYYY-MM-DD) Required
options String List of settings. By including it, operator can get an additional totals or Optional
group by additional parameters.
Possible values are:
groupByGame – if it is required to receive data per
player per game.
includeCanceledBets – exclude canceled rounds from totalBet
amount.
dataType String(3) Type of portfolio, indicates which portfolio Data Feeds should be dataType
returned
Available options:
RNG - Main portfolio games (video slots, classic slots etc.)
LC - Live Casino portfolio
VSB - Virtual sports betting portfolio
Important!
In cases where dataType is included in request, Data Feeds for relevant
portfolio will be returned only
When there is no dataType in request, will be returned Data Feeds for
RNG only
Response parameters (CSV)
Name Type Description
gameID String Symbolic unique identifier of the game within the Pragmatic Play system. Example:
vs25queenofgold, vs50aladdin, cs5triple8gold, bjma, rla, vpa
In case options parameter is set as groupByGame
totalRounds Number Total number of game rounds completed during the reporting period, does not
include free spins received as promo.
totalFreeSpinRounds Number Total number of free spin rounds (in-game feature) completed during reporting
period.
totalBet Double(15,2) Total bets made by player during reporting period. The values are in player’s
currency.
totalWin Double(15,2) Total wins won by player during reporting period. The values are in player’s currency.
currency String Player’s currency, 3 letter ISO 4217 code. Example: “USD”
Example of response:
playerID,gameID,totalRounds,totalFreeSpinRounds,totalBet,totalWin,currency
player1 ,vs10bookoftut,5,0,10.00,0.00,USD
player2,vs25mmouse,11,0,22.00,1.60,USD
XI. Diagrams
11.1 Flow diagram of opening casino game for Seamless Wallet API
Flow details
1. Player selects a game, which is served by Pragmatic Play. Specific one-time password is created on Operator side.
This password should uniquely identify the player within Operator system.
2. Operator, with the help of JS library provided by Pragmatic Play, checks if selected game can be launched on the
player’s OS and return URL of the game to the player browser. If the game cannot be launched then appropriate
message will be shown to the player.
3. URL of the game is loading in player browser for redirecting player to Pragmatic Play game server.
4. Game Server verifies one-time password received with URL.
5. Pragmatic Play Integration Service calls Operator server to authenticate player using received token.
6. Operator authenticates the player. If player is authenticated Operator returns player id within Operator system
and player current balance.
7. Game Server receives a result of player authentication. If authentication is not successful a player will receive an
error message.
8. Game Server finds player id in the database or creates a new player account
9. The game with all required data is opened for player.
Flow details
The game flow is shown in the example of the slot.
1. Player clicks Spin button on the game screen, and game client sends doSpin request to the Pragmatic Play Game
server.
2. Game server calls Pragmatic Play Integration service to withdraw money from the player balance.
3. Integration service sends Bet request to the Operator server. If the request cannot be handled by Operator due to
connection problem, Pragmatic Play server will repeat the request 3 times. After that Refund request will be sent
to the Operator server for cancelling bet until response from Operator server is received.
4. Operator verifies that player has enough funds in the wallet to make a bet, subtracts requested amount from the
balance and returns updated player balance in the response. If there is not enough money in the wallet, Operator
returns an error.
5. Pragmatic Play Integration service returns updated balance to the game server.
6. Game server processes spin - gets new combination on the reels, checks combinations that trigger free spins or
bonus game feature, calculates win amount, etc.
7. Game server returns response to the game client. Response may contain updated reels, information about winning
lines, triggered features and win amount.
8. If player has a win on lines game client sends doCollect request to the Game server to collect player’s winnings.
9. Game server calls Pragmatic Play Integration service to add win amount to the player balance.
10. Integration service calls Operator server sending BetResult request. If request cannot be handled by Operator due
to connection problem, Pragmatic Play server will repeat the request until it receives a response from Operator
server.
11. Operator adds money to player's wallet and returns updated player balance.
12. Pragmatic Play Integration service returns updated balance to the Game server.
13. Game server collects player’s win.
14. Game server returns response to the game client containing updated player balance.
15. If bonus game feature is triggered game client sends doBonus request to the Game server.
16. Game server starts bonus game feature.
17. Game server returns response with all information that is necessary for the game client to play bonus game.
18. Game client sends a request to the game server on every step of the bonus game.
19. Game server handles request and returns response with the result of current step.
20. When bonus game is over game client sends doCollectBonus request to the Game server.
21. Game server calls Pragmatic Play Integration service to add bonus game win amount to the player balance.
22. Integration service calls Operator server, sending BetResult request. If request cannot be handled by Operator due
to connection problem, Pragmatic Play server will repeat request until it receives a response from Operator server.
23. Operator adds money to player's wallet and returns updated player balance.
24. Pragmatic Play Integration service returns updated balance to the Game server.
25. Game server processes bonus game win.
26. Game server returns response to the game client containing updated player balance.
XII. Reconciliation
12.1 Reconciliation process
If a request times out because of internet connection problems, or contains relevant error code (3.17 Error codes), then the
Pragmatic Play system will follow a process described below, to reconcile the action.
For the cases where Operator receives retry API calls within reconciliation process, actual player's balance must be
returned in response
Bet transaction
The Bet request will be retried 2 (two) times with a delay of 5 seconds between attempts.
If a request is still not processed after the second try, Pragmatic Play will initiate the Refund request to cancel this single bet
on the Operator side.
Refund transaction
Refund request will be added to a Transaction queue and an error message will be displayed to the player on the game
interface. The game client should be closed. The reconciliation mechanism starts from there.
Operator will accept Refund requests that run independently of the game session in order to ensure the two systems are
kept in sync.
Such a request can be sent if Pragmatic Play has an unknown response on the Refund request on its side because of a
timeout or relevant error code (so it will try to run it in the background until the Operator response will not reach
Pragmatic Play).
Operator will return a successful response on the Refund request even if the transaction has been canceled in the past and
does not need to be canceled again or even if Bet has not reached Operator system because of timeouts.
Winning transactions
The BetResult/BonusWin/JackpotWin/Adjustment requests will be retried 2 (two) times with a delay of 5 seconds between
attempts.
If a request is still not processed after the second try then it will be added to the Transaction queue for reconciliation. Game
round result will be displayed to the player on the game interface.
BetResult/BonusWin/JackpotWin/Adjustment requests will be added to the Transaction queue and sent independently of
the game session, according to the Reconciliation mechanism.
PromoWin
The PromoWin requests will be retried in the similar way as described calls above but with a delay of 30 minutes after the
tournament is going to be finished.
EndRound
The EndRound request will be added to the Transaction queue once the game server determines a game round is over. The
reconciliation mechanism starts from there.
Operator will accept EndRound requests that run independently of the game session in order to ensure the two systems are
kept in sync. Repeated EndRound request can be sent only if the Pragmatic Play system has an unknown status on its side
because of a timeout or special error code on the EndRound call, so it will try to run it in the background until the Operator
response will not reach Pragmatic Play.
210 Reality check warning o rcRegulation – Regulator. Possible values are: UK, Malta
o rcInterval – Reality check interval in minutes
o rcTimeInSession – Total session time in minutes
o rcNetGain – Status of player’s profit/loss over the session time
Response parameters
Name Description
error Error code.
description Description of the error for troubleshooting.
playerId=6&userAction=Reset&providerId=PragmaticPlay&hash=53ff1b78529a7b97fca9026d9c2dc788
Each item in the “messageTriggers” array may contain elements title, text, nonIntrusive and options.
The title element contains the title of the message box, which must be in one short line of no more than 60 characters.
The text specifies the message box text and may contain multiple lines. When specifying a forced line break the symbol
used is \n. The max length of the text is 300 characters.
If nonIntrusive is specified and true, the message can be shown in a non-modal, non-intrusive fashion. Default value: false.
The options array can contain one or more elements. Each option always has action and label elements and may contain
optional url element for redirect or Ajax call and a linkType specifying how the request should be sent to the URL if it is
specified. Options and link types are specified below.
The options order specifies the order in which the options shall appear in the message box.
messageTriggers Array Messages that will be displayed in the player’s game client. Optional
message Object
nonIntrusive Boolean If specified and true, the message can be shown in a non-modal, non- Optional
intrusive fashion. Default value: false.
options Array List of options, should specify buttons shown in the message box. At Optional
least one option should be defined. In the simplest case, it will be the
OK button, which closes the box.
option Object
action String (10) Type of the option. Available types are: quit, continue, history, link. Required
Detailed description of each action can be found in Action types section
above.
label String (20) Text on the button in the message box to be shown to the player. Required
linkType String (10) Type of the link. Relevant only for actions of “link” type. Available Optional
values are: redirect, ajax, ajaxResponse, notify. Detailed description of
each link type can be found in Link types section above.
url String (100) URL of the link. Relevant only for actions of “link” type. Optional
Login time
Players should at all-time be able to see login time, this includes the mobile client as well. For this purpose, PragmaticPlay
takes an addition game launch parameter:
elapsedTime - Current elapsed session time, the value is in seconds. If present the elapsed time will be displayed in the
game client.
Displaying of totals
To display in game interface total amounts of Bet, Win or Loss during player’s game session, operator should use section
XIII Custom messages of current document.
URL of the API for regulated markets will be provided by Pragmatic Play for the production and test environments
and looks like:
secureLogin User name for authentication in the Casino Game API service Required
One or more jurisdiction codes (delimited with comma) to filter the result. May be omitted to get
jurisdiction Optional
all available jurisdictions
dataType Type of portfolio, indicates which portfolio checksums should be returned Optional
Available options:
RNG - Main portfolio games (video slots, classic slots etc.)
LC - Live Casino portfolio
VSB - Virtual sports betting portfolio
Important!
In cases where dataType is included in request, checksums for relevant portfolio will be returned
only
When there is no dataType in request, will be returned checksums for RNG only
options List of settings. By including it, operator can get additional information about checksums. Possible Optional
values are:
gameRelatedOnly
Important!
In case the operator sends this parameter the system will return only game related files:
game-engine
game-configurations
[Link]
gs2c-random
Response parameters
Name Type Description
checksums List The list of filenames and checksums for every critical file.
error String(10) 0 - if the request was successfully processed or error code in other case.
In case Casino Operator needs full path to critical files to be returned in response (for example if this is required by regulation market), they
should ask the Pragmatic Play’s Technical Support for additional configuration.
Example of response with full path to critical files can be found below
secureLogin=ext_test1&hash=3b4d0b1b84bf4eaa694acb0657a922f3&jurisdiction=IT,LV
{"checksum": "48e923a19fa4460a8b0b589019813f08be460991",
"fileName": "vs50aladdin_cv2-96.53_.hs",
"gameId": "vs50aladdin"},
{
...
],
"jurisdiction": "LV"
},
{
"files": [
{"checksum": "c39c25ad9a1128f3bf79bd578fc579521d9c5059",
"fileName": "[Link]",
"gameId": "vs243lions"},
{"checksum": "b33e33da96c37c0eb2d02b3fbf439685fcda876c",
"fileName": "[Link]",
"gameId": "vs243lions"},
{
...
],
"jurisdiction": "IT"
}
],
"description": "OK",
"error": "0"
{ "gameId": "vs25wolfgold",
"fileName": "vs25wolfgold_cv4-93.99_.hs",
"filePath": "/home/docker/chksum/custom/games_configurations",
"checksum": "599d8706f3adf7b4059c9c38501c242644b60a5f"},
{
...
],
"jurisdiction": "LV"
}
],
"description": "OK",
"error": "0"
15.3 Launch games from internal lobby for Italian regulated market
Since Italian regulator requires operators to ask players for funds that they want to spend playing a certain game, a game
provider, who offer an in-game mini lobby, have to implement the same in their games.
There are two things that are important with this regard, once player has chosen a game:
1. A total balance should be shown to the player in a pop up, in which he will enter the amount he wants to spend in
this game
2. The current game session must be closed and a new game session opened on operator’s side and communicated
to AAMS.
Also, in order to display current AAMS Ticket and AAMS Sessionid in game client, operator should send following additional
parameters in authenticate response (in extraInfo response parameter body):
“aamsTicket”: “someaamsticketvalue”;
“aamsSessionId: “someaamssessionidvalue”
PragmaticPlay offer mini lobby for Live games and slots. Both types of games can be enhanced to support Italian
requirements. To make it possible, the following changes to PP Native Wallet API are proposed:
1. New “totalBalance” parameter will be added to the response on both /balance and /getBalancePerGame calls
(depending on which one is used by operator in existing integration). The parameter is optional, should be sent by
operator for Italy but can be sent for all players as well.
2. The following parameters will be sent to Authenticate request, which will inform operator that a new game is
about to be opened from in-game lobby:
o launchingType - indicates the way the game is being launched. Possible values are: “N” - normally (by
operator), “L” - from in-game lobby. The default value is “N”
o gameId- id of the game being launched
o chosenBalance - amount of money player wants to spend in the game
o previousToken - value if the token that was received from operator for the game that should be closed
(corresponds to the current opened game session on operator’s side)
3. Parameter “token” will be empty if a new game is being launched from in-game mini lobby. Token for this game
should be generated by operator and returned in the response
When operator gets an Authentication call with launchingType=L, they should do the following:
1. Close the current game session identified by previousToken parameter in operator’s system
2. Close AAMS ticket for that game session
3. Open a new game session in operator’s system
4. Open a new ticket in AAMS
5. Return new token, player id, his balance, etc. in the response as usually
15.4 Portuguese Regulated Market - Slot Machine and RNG Table Game Reporting
This is a simple API for Operators to connect to the Pragmatic Play gaming system. API is an HTTP listener, which listens
POST requests coming to an URL with the request mappings below.
URL of the HTTP service will be provided by Pragmatic Play for the production and test environments and looks
like: [Link] service domain}/RegulationService/
Introduction
This document describes the API, which Pragmatic Play has created for Operators in Portugal, for slot machines and RNG
table games reporting according to SRIJ requirements providing the way of getting the string needed to fill the smResult
field present in the AJOG files.
API Architecture
The communication interface between the Operator and the Pragmatic Play is performed by server-to-server requests via
HTTPS (using POST method). Responses are sent as JSON. The structure and the elements information are defined in this
section.
Requests Authentication
All requests that are sent to the Pragmatic Play API should be authenticated. Each request contains Secure Login as a
request parameter and a Password as a part of the hash code calculated based on the request parameters. Pragmatic Play
will supply the Operator with dedicated credentials.
Error Handling
If the ErrorCode parameter equals to 0 or not exist, then the response was processed successfully with no error. In Case the
ErrorCode > 0, it means that the response was processed with an error.
API specification
Request path: POST /ReportingAPI/Portugal/smResult/
Using this method Operator can get a details of slot machine or RNG table game results, for particular game round, which
then can be sent to the Regulator in the smResult field.
Important: Only completed game rounds that have been finished by players are allowed. The smResult report can-
not be generated for incomplete game rounds. It is recommended to wait at least 5 minutes before calling this API
method after the operator receives the endRound request.
Request parameters
Name Type Description Status
secureLogin String User name for authentication in the Pragmatic Play service. The value will be Required
provided by Pragmatic Play.
roundId Long Id of the round, which is finished by a player. Required
hash String Hash code of the request Required
Response parameters
Name Description
smResult The details of slot machine or RNG table game result.
error The error code and description for troubleshooting. This field will appear only in case of error. Successful
responses should not contain it.
secureLogin=username&roundId=123654987&hash=438fea0a68a0e9ab49df756cc20eda8f
Error codes
Below table contains the error codes that the Pragmatic Play system will return in the response to API calls.
Code Description
1 Authentication failed. Incorrect secure login and secure password combination (will be returned also if
the hash code validation is failed)
2 Game round is not found.
3 Validation failed. One or several input parameters is not set or set incorrectly.
10 Incomplete game. Game round is not finished by the player.
100 Internal server error.
Examples
This section provides the examples of smResult field generated for various combinations. The content of the field generated
by the service was formatted for easier understanding.
Paying symbol
The symbol that pays itself and is not required to be on a payline.
0: 1;10;8;10;9# //Game screen
12;11;5;3;12#
8;4;1;6;1#
R#1#P1#0;12;14#MV#8.75#MT#2# //Symbol 1 paying 8.75 and its positions
freeSpinsCount Number of free spins played within the round (Zero if no FS is played) Required
Total amount of winning which is won from FS( Zero if there no winnings
freeSpinsWin Required
in FS)
Response parameters
Name Description
roundid=421&freeSpinsCount=10&freeSpinsWin=10.11&providerId=pragmaticplay&hash=b4672931ee1d78e4022-
faaadf58e37db
{
error": 0, "description": "Success"
}
Error codes
Below table contains the error codes that the Pragmatic Play system will return in the response to API calls.
Cod Description
e
Invalid hash code. Should be returned in the response on any request sent by Pragmatic Play if the hash code validatio
5
n is failed.
7 Bad parameters in the request, please check post parameters.
Internal server error. Casino Operator will return this error code if their system has internal problem and cannot proc
100
ess the request at the moment.
It is recommended For Casino Operator to use extraInfo parameter in authenticate response option, as this way is
secure and excludes possibility of promo access status control from player’s side.
extraInfo parameter in authenticate response has priority over promo parameter in game launch URL
Definitions
secureLogin User name for authentication in the Casino Game API service. Required
room The unique identifier for Bingo room (for bingo lobby 9999). Required
token Secure one-time token is generated by OPERATOR for specific player. Required
currency Player's ISO 4217 currency code. Examples: 'EUR' or 'USD'. Optional
A link to the page on the Operator’s website, to which the player will be redirected if they
choose to close the game.
rcCloseURL Optional
For an iframe, the following example should be used:
rcCloseUrl=javascript:[Link]='{[Link]
stylename Unique identifier of the OPERATOR at PROVIDER side (not for all integration protocols). Optional
cashierURL URL for opening the cashier on Casino Operator site when a player has no funds. Optional
lobbyURL URL for returning to Lobby page on Casino Operator site. This link is used for Back to Optional
The external html page which shows user a list of mini slots and manages to launch them
gamesLobby Optional
(Mini Slots).
rcHistoryUrl=javascript:[Link]='{[Link]
A link to the page on the Operator’s website, to which the player will be redirected if they
choose to close the game.
rcCloseUrl Optional
For an iframe, the following example should be used:
rcCloseUrl=javascript:[Link]='{[Link]
The parameter to define if bingo client needs to display some elements which are related
to full tab view. (ex logo in header). Available values:
isNewWindow Optional
true – new window
false – iframe inside OPERATOR`s website
selfTestPageURL For Sweden jurisdiction. Required logos link to Operator side. Optional
budgetURL For Sweden jurisdiction. Required logos link to Operator side. Optional
suspensionURL For Sweden jurisdiction. Required logos link to Operator side. Optional
For Sweden jurisdiction. This value Operator can set as initial for logged time session. In
timer Optional
case if parameter is empty, logged session will be calculated from beginning.
hash Hash code of the request Required
Response parameters
Name Description
Link to the game to be open on the Pragmatic Play side. This link will contain special parameters which
gameURL
should remain as is.
secureLogin=ext_test1&room=9999&language=en¤cy=EUR&platform=WEB&token=dsgfssdf5g4dfg&stylename=ext
_test1&externalPlayerId=playerAbc&cashierURL=[Link]
[Link]/lobby/
{
"error": 0,
"description": "OK",
"gameURL": "[Link]
key=token%3Ddsgfssdf5g4dfg%26room%3D9999%26language%3Den&stylename=test1"
}
The table below contains the error codes that the Pragmatic Play system will return in the response to GameURL API calls.
7 One or several input(s) is not set or set incorrectly. Verify request values
Hash calculation
Desktop version of bingo client should have minimal width for wrapper (iframe) 840dp and height 500dp, so that content
can be fully displayed. In mobile version, for phones and tablets, the bingo client support min window width 320dp.
Our Backend allows to disable some elements in bingo client depending on its version:
1. For Mobile version:
- Multi Tabs – no switching between rooms within mobile bingo client interface;
- Balance – no balance with deposit button within mobile bingo client interface;
- Menu – no menu button within mobile bingo client interface;
- Mini-games lobby – no mini games functionality within mobile bingo client interface;
- Chat – no chatting functionality;
2. For Desktop version:
- Header – no header within desktop bingo client interface replacing balance and menu to interface below, no bingo
lobby functionality;
- Menu - no menu button within desktop bingo client interface;
- Balance – no balance field within desktop bingo client interface;
- Mini-games lobby – no mini games functionality within desktop bingo client interface;
- Chat - no chat area within desktop bingo client interface;
In order to access different settings and launch bingo client inside iframe on Operator websites, the following cases with
custom messages are available:
- { name: 'notifyCloseContainer' } - is sent for any closing event inside bingo client which notifies main window that
container with bingo client should be closed.
- in case if Operator requires room list filtration for lobby inside bingo client or preorders, by PP back office setting
will be activated automatically sending for cases when client has launched post message { type: 'getRooms' }. After
this Operator`s site should response with post message { type: 'rooms', roomIds: [...] }, with rooms which are avail-
able for current user. Each time when site list is updated, the new post message should be sent.
- { name: 'nonAuthorized' } - this post massage is sent to main window each time when non-logged user is trying to
open a room from bingo client, that site could show login form above bingo client.
- { type: ‘gameHistory', url: '/gameHistory/' } - is sent to main window = if Menu within bingo client interface is dis -
abled and Operator wants to use user bingo history from PP.
- { type: 'deposit' } - is sent to main window for deposit button action inside bingo client interface, if Operator re -
quires keep bingo client and deposit window in same tab. Need to be configured in PP back office.
Mini-games
Bingo client allows OPERATOR to introduce user to Bingo, video slots and other games by using iframe in special area inside
web application.
In order to do that, the OPERATOR needs to create a special lobby page for mini-games list (should be hosted on OPERATOR
side), which will allow player to choose and play any mini-game inside Bingo client.
Iframe`s size for lobby page in the desktop version should have non-fixed height but alterable width between 720dp and
480dp. Mini-game will be launched in special container as separate iframe, by post message notification from lobby-page to
main window, in moment when user clicks to launch a min-game. The aspect ratio between width and height is 16:9 for
mini-game container in each resolution.
Iframe`s size for lobby page in the mobile version has alterable width between 320dp and higher, depends on device
display size, an aspect ratio of iframe between width and height is 16:9.
OPERATOR needs to implement special post messages logic for Bingo web client page.
Implementation of post messages by the dispatched event explanation:
function receiveMessage(event)
{
if ([Link] !== "[Link]
return;
// ...
}
NOTE: External link from the Operator side should always begin with HTTPS. CORS headers should always be present.
To connect player’s wallet at operator side, methods and specification which are described in section III Seamless Wal-
let API of current document should be used.
As an option, In order to set player’s nickname which will be used in bingo chat, provider can pass optional parameter
“nickname” in response of method 3.4 Authenticate.
Nickname
Request path: /[Link]
*request path is the same as for Seamless Wallet API
The method is optional and is not sent to the Casino Operator by default. In case Casino Operator needs this method to be
sent, they should ask Pragmatic Play’s Technical Support for additional configuration.
This method is used by Pragmatic Play side for informing OPERATORS about what nickname is used by player in bingo
system. For example, in situation when Operator doesn`t support nickname parameter in 3.4 Authenticate method, user
needs to set up nickname inside bingo game client, and this nickname will be forwarded back to the OPERATOR in this
method.
Request parameters
Name Type Description Status
userId String(100) Identifier of the user within the Casino Operator system. Required
nickName String(100) Current nickname of player in Pragmatic Play system. Required
providerId String (32) Game provider identifier. Required
hash String (32) Hash code of the request Required
Response parameters
Name Type Description Status
error Number Response status. Required
description String(250) Response status short description. Required
nickName=PlayerNickname&userId=16b31c8848b21&providerId=PragmaticPlay&hash=d8450312aee2fe68c76f80be
75d26849
{
"error": "0",
"description": "OK",
}
This feature allows operator to set prize type as Free Spins Bonus (FSB), which further can be used by player in
PragmaticPlay slot games.
In order to support Spinner room with FSB prizes in BINGO product, In 3.8 Result, 3.11 EndRound, 3.8 BonusWin methods
will be added new optional array specPrizes[#] with next parameters inside:
specPrizeAmount – number of FSB which was won by player in bingo game
specPrizeCode – uniqual FSB bonus code within PP system per bingo game and player.
specPrizeType – “FSB” which will be special mark that this prize is Free Spins bonus for casino game
This list is optional and is not sent to the Casino Operator by default. In case Casino Operator needs this parameter to be
sent with request they should ask the Pragmatic Play’s Technical Support for additional configuration. Such result should be
sent only if player won FSB with other monetary prize. Otherwise if players has only FSB prize in current game, this list
should be taken from endRound and result is not sent. If Operator`s players participate in bingo games with FSB prizes but
this list is not set up, result won`t be sent at all and round will be closed without winners on Operator side.
NOTE: parameter names should be taken for calculation by order from json request
RoomList V2
This method returns a list of active bingo rooms for the current time period.
Request parameters
Property Type Description Status
playerId String Unique player identifier Optional
language String Player’s language by ISO 639-1 Optional
secureLogin String Login to access the API Required
Example of request:
POST /BingoIntegration/BingoGameAPI/RoomList/v2 HTTP/1.1
Content-Type: application/json
X-hash: 2bb56e5d20e5565563d22a6489b2cd74
Host: [Link]
Content-Length: 114
{
"playerId" : "1623e6952764",
"currency" : "EUR",
"language" : "en",
"secureLogin" : "brand_login"
}
Response parameters
Property Type Description
error integer Response status.
description string Response status - short description.
activeRoomList Array of 'Room V2' type List of active bingo rooms.
upcomingRoomList Array of 'Room V2' type List of upcoming bingo rooms.
Structure ‘RoomV2’
Property Type Description
roomId long Bingo room identifier.
bingoType integer Bingo game type
roomName string Bingo room name.
cardCost List Array of card cost of package. More one element if multi
stake game.
gamePrize Array of type 'PrizeStructure' Array of game prize. More one element if multi stake game.
jackpots Array of type 'JackpotStructure' Jackpots amounts
nextGameStart number Starting time of the next game.
(in UNIX timestamp in ms)
playersBoughtCards integer Number of players who bought cards for the current game.
playersInRoom integer Number of players in the current bingo room.
jurisdiction string May contain one or multiple jurisdictions comma separated
inSession boolean Always false
private boolean Possible values - true, false. If true - the room has specific
entry conditions. If false – regular public room.
x2goPrizes Map type 'PrizeStructure' Map of x to go prizes. Key- Value
rollOnPrizes Map type 'PrizeStructure' Map of Roll on prizes Key- Value
Structure ‘PrizeStructure’
Property Type Description
Structure ‘JackpotStructure’
Property Type Description
NOTE: In one game can be either Xtogos or Roll-ons as additional prizes, or nothing
Example of response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 3644
{"error":0,"description":"OK","activeRoomList":[{"roomId":1000,"bingoType":75,"roomName":"Room
1000","cardCost":[1.25],"gamePrize":
[{"amount":100,"prizeType":"monetary"}],"nextGameStart":0,"jackpots":
[{"jackpotId":100205,"name":"Jackpot","prize":
{"amount":25000,"prizeType":"monetary"},"jackpotType":"FJP"}],"playersBoughtCards":25,"playersInRoo
m":10,"jurisdiction":"99","inSession":false,"x2goPrizes":{"3":
{"amount":10,"prizeType":"monetary"}},"private":false},
{"roomId":1001,"bingoType":75,"roomName":"Room 1001","cardCost":[1.27],"gamePrize":
[{"prizeType":"FRB","specificName":"Release the
Kraken","specificAmount":333,"betPerLine":0.1}],"nextGameStart":0,"jackpots":
[{"jackpotId":100206,"name":"Jackpot","prize":{"prizeType":"FRB","specificName":"Release the
Kraken","specificAmount":2500,"betPerLine":0.1},"jackpotType":"FJP"}],"playersBoughtCards":25,"play
ersInRoom":10,"jurisdiction":"99","inSession":false,"rollOnPrizes":{"1":
{"prizeType":"FRB","specificAmount":10}},"private":false},
{"roomId":1002,"bingoType":75,"roomName":"Room 1002","cardCost":[1.27],"gamePrize":
[{"amount":100,"prizeType":"monetary"}],"nextGameStart":0,"jackpots":
[{"jackpotId":100207,"name":"Jackpot","prize":
{"amount":15000,"prizeType":"PhysicalPrize","specificName":"CITROËN C3
AIRCROSS","specificAmount":1},"jackpotType":"FJP"}],"playersBoughtCards":25,"playersInRoom":10,"jur
isdiction":"99","inSession":false,"rollOnPrizes":{"1":
{"amount":10,"prizeType":"monetary"}},"private":false},
{"roomId":1003,"bingoType":75,"roomName":"Room 1003","cardCost":[1.27],"gamePrize":
[{"amount":100,"prizeType":"monetary"}],"nextGameStart":0,"jackpots":
[{"jackpotId":100208,"name":"JP1","prize":
{"amount":15000,"prizeType":"PhysicalPrize","specificName":"CITROËN C3
AIRCROSS","specificAmount":1},"jackpotType":"FJP"},{"jackpotId":100209,"name":"JP2","prize":
{"amount":25000,"prizeType":"monetary"},"jackpotType":"FJP"},
{"jackpotId":100210,"name":"JP3","prize":{"prizeType":"FRB","specificName":"Release the
Kraken","specificAmount":2500,"betPerLine":0.1},"jackpotType":"FJP"}],"playersBoughtCards":25,"play
ersInRoom":10,"jurisdiction":"99","inSession":false,"rollOnPrizes":{"1":
{"amount":10,"prizeType":"monetary"}},"private":false}],"upcomingRoomList":[]}
JackpotWinners
This method returns jackpot winners with all required information for specific date.
Request parameters
Property Type Description Staus
secureLogin String Login to access the API Required
dateFrom Number Start date of the request. UNIX time in ms Required
dateTo Number End date of the request. UNIX time in ms Required
language String Player’s language Optional
Example request
POST /BingoIntegration/BingoGameAPI/JackpotWinners HTTP/1.1
Host: [Link]
Content-Type: application/json
x-hash: 75b4923eef6667b9833dd2fa6f3fcaab
{"dateFrom":1544054400000,"dateTo":1544140800000,"language":"en","secureLogin":"vitalis"}
Response parameters
Property Type Description Status
Structure 'JackpotWinner'
Property Type Description Status
playerID string Unique player identifier. Required
nickname string Player's nickname. Optional
amount double Jackpot won amount. Required
dateTime number Date and time when jackpot is won. UNIX time in ms Required
jackpotName string Name of the jackpot. Required
roomID number ID of the room. Required
bingoType integer Bingo game type (75,90,80,50,30) Required
gameName string Name of the game when jackpot is won. Required
roundID number ID of the round. Required
сurrency string Player’s currency ISO 4217 Required
Example response
{
"error": 0,
"description": "OK",
"jackpotWinners": [
{
"playerID": "169d886556e2",
"nickname": "some_nickname",
"amount": 11.7,
"dateTime": 1556286943000,
"jackpotName": "progressive",
"roomID": 1582,
"bingoType": 75,
"gameName": "progressive jp game",
"bingoRoundID": 75741724,
"currency": "USD"
},
{
"playerID": "169d886556e2",
"nickname": "some_nickname",
"amount": 117,
"dateTime": 1556284044000,
"jackpotName": "static",
"roomID": 1582,
"bingoType": 75,
"gameName": "static jp game",
"bingoRoundID": 75741428,
"currency": "USD"
}
]
}
ChangeNickname
This method is responsible for changing of player’s nickname.
Request parameters
Property Type Description Status
Example request
POST /BingoIntegration/BingoGameAPI/ChangeNickname HTTP/1.1
Host: [Link]
Content-Type: application/json
x-hash: 06e0c41632d208c5b5b8fc3487279b99
Response parameters
Property Type Description Status
Example response
{
"error": 0,
"description": "OK"
}
NOTE: In this request can be sent one of 2 parameters: roundID or bingoRoundID or without in case search for time-
frame
Example request:
POST /BingoIntegration/BingoGameAPI/BingoPlayerHistory HTTP/1.1
Host: [Link]
x-hash: 146ad89345eca759410c31ab3d72458b
Content-Type: application/json
{"secureLogin":"securelogin","playerID":"16243a2ec4218f2","startDate":1543660263791,"endDate":15446
10663791,"language":"es","roundID":20006700607,"fromIndex":0,"pageOffset":50}
Response values
Property Type Description Status
error string Number of errors. Required
description string Description of error Required
bingoRounds array of type List of rounds. Required
'Rounds'
count long Number of founded results Optional
Structure 'Rounds'
Property Type Description Status
bingoRoundID long Unique identifier of played bingo round from Provider side. Required
roomName string Name of room where the round was played Required
roundDate number Date and time of round start. UNIX time in ms Required
price double Sum of money which was spent by player Required
cardsNumber integer Sum of cards which were bought for round Required
givenCardsNumber Integer The number of cards given to player in addition (relevant for Buy X get Y Required
games).
freeCardsNumber integer The number of cards, which are played by player as free cards from FSB. Required
prize double Sum of money which player won Required
Example response:
{
"error": 0,
"description": "OK",
"bingoRounds": [
{
"bingoRoundID": "71635203",
"roomName": "vcb wwg sky1 75 vcb es",
"roundDate": 1544087429000,
"price": 10,
"cardsNumber": 10,
"givenCardsNumber": 10,
"freeCardsNumber": 10,
"prize": 506.01
}
],
"count": 1
}
NOTE: In this request should be sent at least one of 2 parameters: roundID or bingoRoundID
Example request:
POST /BingoIntegration/BingoGameAPI/BingoRoundHistory HTTP/1.1
Host: [Link]
Content-Type: application/json
x-hash: 448f27e631b836c4549b49d492fb3423
Response parameters
Property Type Description Status
gameName string Name of the game. Optional
gameID Number ID of the game. (Bingo game ID) Required
roomID Number ID of the room. Required
bingoType integer Bingo game type (75 or 90) Required
bingoRoundID number Unique identifier of played bingo round from Provider side. Required
bingoCalls string Called numbers divided by whitespaces up to winning call. Optional
bingoWinners array of BingoWinners The list of objects with information about pattern and winners Required
per game part. For usual game this list contain single object.
boughtCards array of type The list of objects with information about players and cards Required
'BoughtCards' number, bought for specific round.
error number Response status. Required
description string Response status short description.
Structure 'BingoWinner'
Property Type Description Status
partNumber integer Number of part for which winners are returned. Required
pattern string Name of the pattern for current part. Required
winningCallNumber integer Number of call when prize was won. Required
winnerDetails array of Required
‘BingoWinnerDetails
’
Structure BingoWinnerDetails’
Property Type Description Status
Structure 'BoughtCards'
Property Type Description Status
playerID string Unique player identifier. Required
boughtCardsNumber integer The number of cards bought for specific round by player. For free games it Required
is number of cards, given automatically to player during purchase period.
For fixed-price game it will be number of cards in a pack.
givenCardsNumber integer The number of cards given to player in addition (relevant for Buy X get Y Required
games).
freeCardsNumber Integer The number of cards, which are played by player as free cards from FSB. Required
cardCost double Cards cost for specific bingo round. For fixed-price game it will be cost of Required
one card from pack.
currency string Currency of the player (ISO 4217). Examples: EUR' or USD'. Optional
Example response:
{"error":0,"description":"OK","gameName":"vcb wwg sky1 game grid it" ,"bingoType":75,
"bingoRoundID":71635203,"gameID":5800,"roomID":1202,"bingoCalls":"22,68,55,9,73,60,71,25,65,32,39,12,38,
13,28,21,56,61,41,11","bingoWinners":[{"partNumber":1,"pattern":"Crazy Any 3 Corners","winningCallNum-
ber":20,"winnerDetails":
[{"playerID":"16243a2ec4218f2","nickname":"sk_en_65","currency":"USD","prizeAmount":1.67,"jpAmount":167,
"cardID":79000},
{"playerID":"16243a2ec4218f2","nickname":"sk_en_65","currency":"USD","prizeAmount":1.67,"jpAmount":167,"
cardID":79006},
{"playerID":"16243a2ec4218f2","nickname":"sk_en_65","currency":"USD","prizeAmount":1.67,"jpAmount":167,"
cardID":79005}]}],"boughtCards":[{"playerID":"16243a2ec4218f2","boughtCardsNumber":10,"givenCardsNum-
ber":10,"freeCardsNumber":10,"cardCost":1,"currency":"USD"}]}
Error Codes
Tables below contain the error codes that should be returned by PROVIDER in the response.
Shared exceptions:
Code Description
0 "OK"
Bingo exceptions:
Code Description
101 You cannot order cards more than max available number
102 Pre-order of cards is not allowed at this point of time for the selected game
103 This game is not available anymore. Please order cards to another game
1 Insufficient balance
110 Max number of cards are already bought for this round
202 Request problem. Empty mandatory field '%s'. '%s' will contain a field causing an error
203 Room(s) are not supported: %s. '%s' will contain ID of a room / rooms causing an error
204 Game(s) do not support FR bonus: %s. '%s' will contain ID of a game / games causing an error
205 May be raised when Creating a Bonus. Bonus code already exists
206 May be raised when Cancelling a Bonus. Bonus is not found or already released
211 May be raised when Creating a Bonus. Expiration date limit has been exceeded
212 May be raised when Creating a Bonus. Expiration date can't be in the past
214 May be raised when Creating a Bonus. Same bonus already exists (player, rooms, expire_date etc)
215 Request problem. Type mismatch for value '%s'. '%s' will contain a value causing an error
216 Request problem. Wrong json data: '%s'. '%s' will contain a data causing an error
219 Deprecated. Room `%s` does not support %s bonus. '%s' will contain room ID and bonus ID causing an
error
220 Deprecated. May be raised when Creating a Bonus. Bonus does not support selected room
Request parameters
Property Type Description Status
secureLogin string Login to access the API Required
currency string Currency symbol (ISO 4217) Optional
roomID Number Bingo room identifier. Optional
Example of request
POST /BingoIntegration/FreeTicketsAPI/ActiveGameConfigs HTTP/1.1
Host: [Link]
Content-Type: application/json
x-hash: 75b4923eef6667b9833dd2fa6f3fcaab
{
"currency": "USD"
, "roomID": 1582
, "secureLogin": "7casino"
}
Response parameters
Property Type Description
error number Response status.
description string Response status - short description.
rooms array of type 'Rooms' List of Bingo rooms with details
Structure 'Rooms'
Property Type Description
roomName String Bingo room name
standardFT Boolean True or false. True - if standard free tickets can be used to play in
this room
monetaryFT Boolean True or false. True - if monetary free tickets can be used to play in
this room
gameConfigs array of type ' gameConfigs ' List of game configurations for bingo rounds
Structure 'gameConfigs'
Property Type Description
gameConfigID String Unique game configuration ID within the Pragmatic play.
cost Number Cost for a ticket or cost for a pack (depending on the settings)
type String Defines purchase of tickets type (by one or by fixed pack)
prize Number Initial game prize pot for all parts in platform currency
x2goPrizes Array of the type Arrays of Xtogo prizes
‘x2goPrizes’
jackpot Boolean True or false. True If the jackpot is included in this game
rollOnPrizes Array of the type Array of Roll on prizes
‘rollOnPrizes’
prizeType string FRB – for FRB prizes, this value present only when special
prizes
betPerLine Number Value of money for one line in casino games for player currency.
This value present only when FRB prizes
Structure 'rollOnPrizes’'
Property Type Description
rollOn Number Level of Roll on prize
Structure 'x2goPrizes’'
Property Type Description
x2go Number Level of XtoGO prize
NOTE: If currency is not sent in request, in response there will be platform currency
Example of response
{"error":"0","description":"OK","rooms":[{"gameConfigs":[{"gameConfigID":"1522-6505","gameName":"uk
fixed 75","cost":12.58,"type":"One ticket","prize":125.8,"x2goPrizes":[],"jackpot":false},
{"gameConfigID":"1522-6563","gameName":"free_game_uk","cost":0.0,"type":"One
ticket","prize":30.0,"x2goPrizes":[],"jackpot":false},{"gameConfigID":"1522-6623","gameName":"very low
prize","cost":1.25,"type":"One ticket","prize":0.0,"x2goPrizes":[],"jackpot":true},
{"gameConfigID":"1522-6624","gameName":"very low","cost":0.13,"type":"One
ticket","prize":0.0,"x2goPrizes":[{"x2go":1,"prize":12.5}],"jackpot":true},{"gameConfigID":"1522-
6513","gameName":"uk mixed","cost":12.58,"type":"One ticket","prize":2516.0,"x2goPrizes":
[],"jackpot":false}],"roomName":"UK","roomID":1522,"standardFT":true,"monetaryFT":false}]}
CreateFreeTickets
The following method provides the possibility to award players with free tickets.
Request parameters
Property Type Description Status
secureLogin string Login to access the API Required
playerID string Id of the player within the operator’s system Required
string Defines the type of free tickets
"STANDARD" (Free tickets that don’t have cost and
don't participate in prize contribution)
"MONETARY" (Free tickets that don’t have influ-
freeTicketsType ence on player’s balance but contribute and con- Required
sider as normal ticket for reports)
"FLEXIBLE" (Free tickets can have standard or
monetary type, depending on configuration of
Bingo Room where they are used by player)
roomIDList Array List of symbolic unique rooms identifiers in scheduler Required
Required
(Optional for FLEXIBLE
freeTicketsType)
freeTickets Number Number of free tickets awarded. Required
minCostTicket Number Min ticket price in the game where Free tickets can be used Optional
(in platform currency)
maxCostTicket Number Max ticket price in the game where Free tickets can be used Optional
(in platform currency)
bonusCode string Unique bonus identifier within the Casino Operator system. Required
expirationDate Number Date and time of Free Spins expiration. Optional
(timestamp in milliseconds)
Example of request
POST /BingoIntegration/FreeTicketsAPI/CreateFreeTickets/ HTTP/1.1
Host: [Link]
Content-Type: application/json
x-hash: 75b4923eef6667b9833dd2fa6f3fcaab
{"secureLogin":"7casino","playerID":"165f69774e61b","freeTicketsType":"STANDARD","roomIDList":
[1682,1282],"freeTickets":10,"minCostTicket":0.0,"maxCostTicket":100.0,"bonusCode":"BC1587849079708
","expirationDate":1587849079708}
Response parameters
Example of response
{"error":0,"description":"OK","providerPlayerID":453816}
CancelFreeTickets
This method provides the possibility to cancel free tickets.
Request parameters
Property Type Description Status
secureLogin String Login to access the API Required
bonusCode String Unique bonus id within the Casino Operator system. Required
Example of request
POST /BingoIntegration/FreeTicketsAPI/CancelFreeTickets/ HTTP/1.1
Host: [Link]
Content-Type: application/json
x-hash: 75b4923eef6667b9833dd2fa6f3fcaab
{"secureLogin":"7casino","bonusCode":"BC1587849079708"}
Response parameters
Example of response
{"error":0,"description":"OK","status":"Canceled","bonusCode":"BC1587849079708"}
ActiveFreeTickets
This method returns free ticket info per player.
Request parameters
Property Type Description Status
secureLogin String Login to access the API Required
roomID Number Bingo room identifier. Optional
playerID String Unique player identifier. Required
Example of request
POST /BingoIntegration/FreeTicketsAPI/ActiveFreeTickets/ HTTP/1.1
Host: [Link]
Content-Type: application/json
x-hash: 75b4923eef6667b9833dd2fa6f3fcaab
{"secureLogin":"7casino","playerID":"165f69774e61b","roomID":1111}
Response parameters
bonuses Array of the `Bonuses` List of Free tickets owned by the player along with their
statuses
Structure 'Bonuses'
Property Type Description
bonusCode String Unique bonus id within the Casino Operator system.
Example of response
{"error":0,"description":"OK","bonuses":
[{"roomIDList":"1262","bonusCode":"BC23","expirationDate":1587640451179,"freeTicketsType":"STANDARD","st
atus":"P","activeFreeTickets":5,"playedFreeTickets":0,"awardingDate":1586765653150,"minCostTicket":0.0,"
maxCostTicket":2.0},
{"roomIDList":"1576","bonusCode":"BC1587629820144","expirationDate":1587640620144,"freeTicketsType":"MON
ETARY","status":"P","activeFreeTickets":5,"playedFreeTickets":0,"awardingDate":1586765822146,"minCostTic
ket":0.0,"maxCostTicket":2.0}]}
Data feeds
The type of information that will be delivered to an operator through the DGA system will be the following:
Table Name, language specific table info & image.
Table Limits
Table Open/Closed
NewTable(true/false) (if new table is createdand in less than 30 days, will be passed newTable:true , otherwise -
newTable:false)
Dealer Name
Roulette
o Last 20 results
o Updated after each game round
o Number of players in the game
Baccarat
o Shuffle notifications
o Last 21 results
o Updated after every game
o baccaratShoeSummary - Provides the total number of completed games, along with a breakdown of
results: number of Player wins, Banker wins, Tie outcomes, as well as the count of Player Pair and Banker
Pair occurrences
Blackjack
o Seats taken/seats open
One Blackjack
o Number of players in the game
Game Shows
o Last 20 results
Slots of multipliers (if applicable)
o Number of players in the game
Mega Sic Bac
o Last 21 results
o Number of players in the game
Football Blitz Top Card
o Last 21 results
o Number of players in the game
Sic Bo
o Last 20 results with each die value and their total sum
o Number of players in the game
Dragon Tiger
o Last 21 results
o Statistics
o Shuffle notifications
o Number of players in the game
Andar Bahar
o Last 21 Results
o Number of players in the game
JavascriptAPI
Using PP’s javascript API the operator will be able to handle the DGA data much easier. Depending on the chosen push or
pull functionality, the .js file will include functions to subscribe, listen and consume data. The API will include the source
code file(.js) and also how to use the functions provided
Latest js file can be found on:
[Link]
To start consuming the game information from Pragmatic Play’s tables you will need to follow a few steps:
Step1
[Link](‘server’)
Server could be set to live or staging URL. Pragmatic Play will provide this.
1 server connection.
[Link](‘casinoID’)
Request will return all tables available for selected casino. Pragmatic Play will provide the
relevant casinoID once integration of DGA starts.
[Link](‘casinoID', ‘tableID‘, ’currency’);
Multiple subscribe methods. 1 subscribe method for each table you would like to get info from.
Connect to a table to receive table information. tableIDs will be provided.
Currency is optional. When empty EUR values will be sent. Please consult Pragmatic Play for
supported currencies.
[Link]()
When [Link](‘server’) has successfully connected to DGA server, then the [Link]()
method can be invoked. This can then be used to contain all the subscribe methods.
Step 2
[Link](data)
To consume data. Data will be contained as an object for ease of use. Override this method to
start using the response information.
Please see Data format & object example on the next page. Every time the table info updates a
new object will be send with the updated information to be consumed
Step 3
[Link]()
disconnecting from service.
*when player leaves page a socket will normally auto disconnect as well.
Data Format
Data will be send to the operator using JSON format. As part of the API provided JSON format will be consumed as an object
(image on the right) for ease of use.
Andar Bahar
{
"closeTime": "1698285600000",
"currency": "EUR",
"dealer": {
"name": "No dealer"
},
"gameResult": [
{
"cardValue": "4",
"gameId": "3795108300",
"jokerScore": 4,
"result": 1,
"time": "Oct 25, 2023 7:27:48 AM",
"winner": "ANDAR"
},
{
"cardValue": "10",
"gameId": "3795106400",
"jokerScore": 10,
"result": 2,
"time": "Oct 25, 2023 7:27:48 AM",
"winner": "BAHAR"
},
],
"languageSpecificTableInfo": "",
"newTable": false,
"openTime": "1698228000000",
"tableId": "1024",
"tableImage": "[Link]
v0.38990292533435056",
"tableLimits": {
"maxBet": 5000.0,
"maxPlayers": 500,
"minBet": 0.1,
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0]
},
"tableName": "Andar Bahar",
"tableOpen": false,
"tableSubtype": "singletimer",
"tableType": "ANDARBAHAR",
"totalSeatedPlayers": 0
}
"bankerStreak": false,
"oneTwoBanker": false,
"oneTwoPlayer": false,
"playerPingPong": false,
"playerSandwich": false,
"playerStreak": false,
"separatedBanker": false,
"separatedPlayer": false,
"switchBanker": false,
"switchPlayer": false
},
"grTableCount": 4,
"languageSpecificTableInfo": "",
"newTable": false,
"shuffle": false,
"statistics": "[[\"BB1\",\"---\",\"---\",\"---\",\"---\",\"---\"],[\"PN0\",\"---\",\"---\",\"---\",
\"---\",\"---\"],[\"BN0\",\"---\",\"---\",\"---\",\"---\",\"---\"],[\"PN0\",\"---\",\"---\",\"---\",
\"---\",\"---\"],[\"BN0\",\"---\",\"---\",\"---\",\"---\",\"---\"],[\"PN0\",\"---\",\"---\",\"---\",
\"---\",\"---\"],[\"BN0\",\"BB0\",\"BN0\",\"---\",\"---\",\"---\"],[\"PN0\",\"PP2\",\"---\",\"---\",
\"---\",\"---\"],[\"BN0\",\"BN0\",\"BN0\",\"BN1\",\"BN0\",\"BN0\"],[\"PN0\",\"PB1\",\"---\",\"---\",
\"---\",\"BN0\"],[\"BN0\",\"---\",\"---\",\"---\",\"---\",\"---\"],[\"PN0\",\"---\",\"---\",\"---\",
\"---\",\"---\"],[\"BN1\",\"---\",\"---\",\"---\",\"---\",\"---\"],[\"PB0\",\"PN0\",\"PB0\",\"---\",
\"---\",\"---\"],[\"BN0\",\"BN0\",\"---\",\"---\",\"---\",\"---\"],[\"PN0\",\"PN0\",\"---\",\"---\",
\"---\",\"---\"],[\"BN0\",\"BN0\",\"BP0\",\"BN0\",\"---\",\"---\"],[\"PN0\",\"---\",\"---\",\"---\",
\"---\",\"---\"],[\"BN0\",\"---\",\"---\",\"---\",\"---\",\"---\"],[\"PB0\",\"PP0\",\"---\",\"---\",
\"---\",\"---\"],[\"BB0\",\"BN0\",\"BN1\",\"BN0\",\"---\",\"---\"],[\"PN0\",\"PN0\",\"PN0\",\"PN0\",
\"---\",\"---\"],[\"BN0\",\"BN0\",\"BN0\",\"BP0\",\"---\",\"---\"],[\"PB0\",\"PN0\",\"---\",\"---\",
\"---\",\"---\"],[\"BN0\",\"---\",\"---\",\"---\",\"---\",\"---\"],[\"PN0\",\"---\",\"---\",\"---\",
\"---\",\"---\"],[\"BN0\",\"---\",\"---\",\"---\",\"---\",\"---\"],[\"PP0\",\"---\",\"---\",\"---\",
\"---\",\"---\"],[\"BN0\",\"---\",\"---\",\"---\",\"---\",\"---\"]]",
"tableId": "402",
"tableImage": "[Link]
v0.38990292533435056",
"tableLimits": {
"maxBet": 5000.0,
"maxPlayers": 1200,
"minBet": 0.2,
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0]
},
"tableName": "Speed Baccarat 1",
"tableOpen": true,
"tableSubtype": "speedbaccarat",
"tableType": "BACCARAT",
"totalSeatedPlayers": 404
}
Blackjack
{
"availableSeats": 3,
"betbehind": true,
"currency": "EUR",
"currentUserId": "",
"dealer": {
"name": "Kurtis"
},
"languageSpecificTableInfo": "",
"multiseat": true,
"multiseatLimit": 2,
"newTable": false,
"playerCount": 2,
"seat1": true,
"seat2": false,
"seat3": true,
"seat4": true,
"seat5": false,
"seat6": false,
"seat7": true,
"sidebets": true,
"tableId": "301",
"tableImage": "[Link]
v0.38990292533435056",
"tableLimits": {
"maxBet": 2500.0,
"maxPlayers": 500,
"minBet": 10.0,
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0]
},
"tableName": "Blackjack 11",
"tableOpen": true,
"tableSubtype": "bj2",
"tableType": "BLACKJACK",
"tableVariant": "bj2",
"totalSeatedPlayers": 4
}
Speed Blackjack
{
"availableSeats": 7,
"betbehind": true,
"currency": "EUR",
"currentUserId": "",
"dealer": {
"name": "Cip"
},
"languageSpecificTableInfo": "",
"multiseat": false,
"multiseatLimit": 1,
"newTable": false,
"playerCount": 0,
"seat1": false,
"seat2": false,
"seat3": false,
"seat4": false,
"seat5": false,
"seat6": false,
"seat7": false,
"sidebets": true,
"tableId": "569",
"tableImage": "[Link]
v0.38990292533435056",
"tableLimits": {
"maxBet": 5000.0,
"maxPlayers": 500,
"minBet": 50.0,
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0]
},
"tableName": "SPEED BLACKJACK 4 RUBY",
"tableOpen": true,
"tableSubtype": "speedblackjack",
"tableType": "BLACKJACK",
"totalSeatedPlayers": 0
}
One Blackjack
{
"currency": "EUR",
"dealer": {
"name": "Cas"
},
"languageSpecificTableInfo": "",
"newTable": false,
"tableId": "901",
"tableImage": "[Link]
v0.38990292533435056",
"tableLimits": {
"maxBet": 5000.0,
"maxPlayers": 600,
"minBet": 1.0,
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0]
},
"tableName": "ONE Blackjack",
"tableOpen": true,
"tableSubtype": "OneBJ",
"tableType": "ONEBJ",
"tableVariant": "bj2",
"totalSeatedPlayers": 99
}
Boom City
{
"currency": "EUR",
"dealer": {
"name": "Cédric"
},
"gameResult": [
{
"gameId": "3063322612",
"mr": 2.0,
"pe": false,
"powerUp": false,
"powerUpList": [],
"powerUpTotal": 2.0,
"pr": 1.0,
"rc": 1,
"result": "2x",
"time": "Oct 25, 2023 9:45:20 AM"
},
{
"gameId": "3063322512",
"mr": 1.0,
"pe": false,
"powerUp": false,
"powerUpList": [],
"powerUpTotal": 1.0,
"pr": 1.0,
"rc": 1,
"result": "BLANK",
"time": "Oct 25, 2023 9:44:52 AM"
},
{
"gameId": "3063322012",
"mr": 1.0,
"pe": false,
"powerUp": false,
"powerUpList": [],
"powerUpTotal": 1.0,
"pr": 1.0,
"rc": 1,
"result": "1x",
"time": "Oct 25, 2023 9:43:27 AM"
},
{
"gameId": "3063321812",
"mr": 1.0,
"pe": false,
"powerUp": false,
"powerUpList": [],
"powerUpTotal": 1.0,
"pr": 1.0,
"rc": 3,
"result": "BG2",
"time": "Oct 25, 2023 9:42:59 AM"
},
{
"gameId": "3063321512",
"mr": 1.0,
"pe": false,
"powerUp": false,
"powerUpList": [],
"powerUpTotal": 1.0,
"pr": 1.0,
"rc": 4,
"result": "BG3",
"time": "Oct 25, 2023 9:41:01 AM"
},
{
"gameId": "3063321312",
"mr": 5.0,
"pe": false,
"powerUp": false,
"powerUpList": [],
"powerUpTotal": 5.0,
"pr": 1.0,
"rc": 1,
"result": "5x",
"time": "Oct 25, 2023 9:39:30 AM"
},
{
"gameId": "3063321012",
"mr": 6.0,
"pe": true,
"powerUp": true,
"powerUpList": [
"3.0"
],
"powerUpTotal": 6.0,
"pr": 3.0,
"rc": 1,
"result": "2x",
"time": "Oct 25, 2023 9:38:33 AM"
},
{
"gameId": "3063320312",
"mr": 1.0,
"pe": false,
"powerUp": false,
"powerUpList": [],
"powerUpTotal": 1.0,
"pr": 1.0,
"rc": 2,
"result": "BG1",
"time": "Oct 25, 2023 9:37:17 AM"
},
{
"gameId": "3063319312",
"mr": 40.0,
"pe": true,
"powerUp": true,
"powerUpList": [
"40.0"
],
"powerUpTotal": 40.0,
"pr": 40.0,
"rc": 1,
"result": "1x",
"time": "Oct 25, 2023 9:31:25 AM"
},
{
"gameId": "3063319112",
"mr": 2.0,
"pe": false,
"powerUp": false,
"powerUpList": [],
"powerUpTotal": 2.0,
"pr": 1.0,
"rc": 1,
"result": "2x",
"time": "Oct 25, 2023 9:30:36 AM"
}
],
"languageSpecificTableInfo": "",
"newTable": false,
"tableId": "1401",
"tableImage": "[Link]
v0.38990292533435056",
"tableLimits": {
"maxBet": 3000.0,
"maxPlayers": 3000,
"minBet": 0.1,
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0]
},
"tableName": "BOOM CITY",
"tableOpen": true,
"tableSubtype": "BoomOrBust",
"tableType": "BOOMORBUST",
"totalSeatedPlayers": 295
}
Dragon Tiger
{
"currency": "EUR",
"dealer": {
"name": "Lilly-Rose"
},
"dragonTigerShoeSummary": {
"dragonWinCounter": "17",
"tieCounter": "3",
"tigerWinCounter": "21",
"totalGames": "41"
},
"gameResult": [
{
"gameId": "3325819603",
"gameResult": 7,
"tableId": "ge49e4os88bp4bi5",
"time": "Oct 25, 2023 9:10:04 AM",
"winner": "DRAGON"
},
{
"gameId": "3325821003",
"gameResult": 12,
"tableId": "ge49e4os88bp4bi5",
"time": "Oct 25, 2023 9:11:39 AM",
"winner": "TIGER"
},
{
"gameId": "3325825303",
"gameResult": 9,
"tableId": "ge49e4os88bp4bi5",
"time": "Oct 25, 2023 9:16:48 AM",
"winner": "TIE"
},
…
],
"languageSpecificTableInfo": "",
"newTable": false,
"shuffle": false,
"statistics": "[[\"G0\",\"G0\",\"---\",\"---\",\"---\",\"---\"],[\"D0\",\"D0\",\"---\",\"---\",\"---
\",\"---\"],[\"G0\",\"G0\",\"---\",\"---\",\"---\",\"---\"],[\"D1\",\"---\",\"---\",\"---\",\"---\",
\"---\"],[\"G0\",\"G0\",\"G0\",\"---\",\"---\",\"---\"],[\"D0\",\"D0\",\"D0\",\"D0\",\"---\",\"---
\"],[\"G0\",\"---\",\"---\",\"---\",\"---\",\"---\"],[\"D0\",\"---\",\"---\",\"---\",\"---\",\"---
\"],[\"G0\",\"---\",\"---\",\"---\",\"---\",\"---\"],[\"D1\",\"D0\",\"D0\",\"D0\",\"D0\",\"---\"],
[\"G0\",\"G0\",\"---\",\"---\",\"---\",\"---\"],[\"D0\",\"D0\",\"---\",\"---\",\"---\",\"---\"],
[\"G0\",\"G0\",\"G0\",\"G0\",\"---\",\"---\"],[\"D0\",\"---\",\"---\",\"---\",\"---\",\"---\"],
[\"G0\",\"G0\",\"G0\",\"---\",\"---\",\"---\"],[\"D1\",\"---\",\"---\",\"---\",\"---\",\"---\"],
[\"G0\",\"G0\",\"G0\",\"---\",\"---\",\"---\"]]",
"tableId": "1001",
"tableImage": "[Link]
v0.38990292533435056",
"tableLimits": {
"maxBet": 5000.0,
"maxPlayers": 5000,
"minBet": 0.1,
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0]
},
"tableName": "Dragon Tiger",
"tableOpen": true,
"tableType": "DRAGONTIGER",
"totalSeatedPlayers": 208
}
PowerUp Roulette
{
"currency": "EUR",
"dealer": {
"name": "Keanu"
},
"languageSpecificTableInfo": "",
"last20Results": [
{
"color": "red",
"gameId": "3063327712",
"powerUpList": [
"33 Black"
],
"powerUpMultipliers": [
25.0
],
"result": 18,
"resultMultiplier": 75.0,
"time": "Oct 25, 2023 10:02:07 AM"
},
{
"color": "black",
"gameId": "3063327512",
"powerUpList": [],
"powerUpMultipliers": [],
"result": 28,
"resultMultiplier": 25.0,
"time": "Oct 25, 2023 10:00:53 AM"
},
{
"color": "red",
"gameId": "3063324012",
"powerUpList": [
"30 Red",
"32 Red"
],
"powerUpMultipliers": [
25.0,
25.0
],
"result": 27,
"resultMultiplier": 175.0,
"time": "Oct 25, 2023 9:50:45 AM"
},
],
"newTable": false,
"tableId": "240",
"tableImage": "[Link]
v0.38990292533435056",
"tableLimits": {
"maxBet": 5000.0,
"maxPlayers": 2000,
"minBet": 0.1,
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0]
},
"tableName": "PowerUp Roulette",
"tableOpen": true,
"tableSubtype": "poweruproulette",
"tableType": "ROULETTE",
"totalSeatedPlayers": 388
}
Lucky 6 Roulette
{
"currency": "EUR",
"dealer": {
"name": "Emeline"
},
"languageSpecificTableInfo": "",
"last20Results": [
{
"color": "black",
"gameId": "3606329917",
"result": 33,
"slots": {
"4": 50,
"7": 50,
"15": 50,
"16": 1188,
"23": 50,
"34": 188
},
"time": "Oct 25, 2023 10:06:39 AM"
},
{
"color": "black",
"gameId": "3606329417",
"result": 33,
"slots": {
"0": 50,
"16": 50,
"29": 88,
"32": 50,
"34": 50,
"36": 50
},
"time": "Oct 25, 2023 10:02:46 AM"
},
{
"color": "red",
"gameId": "3606329317",
"multiplier": 50,
"result": 14,
"slots": {
"10": 50,
"14": 50,
"20": 50,
"24": 88,
"25": 88,
"31": 88
},
"time": "Oct 25, 2023 10:01:57 AM"
},
{
"color": "red",
"gameId": "3606328217",
"multiplier": 50,
"result": 27,
"slots": {
"3": 50,
"12": 50,
"18": 50,
"21": 50,
"27": 50,
"31": 50
},
"time": "Oct 25, 2023 9:53:20 AM"
}
],
"newTable": false,
"tableId": "211",
"tableImage": "[Link]
v0.38990292533435056",
"tableLimits": {
"maxBet": 5000.0,
"maxPlayers": 4500,
"minBet": 0.1,
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0]
},
"tableName": "Lucky 6 Roulette",
"tableOpen": true,
"tableSubtype": "megaroulette",
"tableType": "ROULETTE",
"tableVariant": "lucky6roulette",
"totalSeatedPlayers": 107
}
"powerUpMultipliers": [],
"result": 2,
"slots": {
"2": 150,
"34": 150,
"36": 100
},
"time": "Oct 25, 2023 9:50:18 AM"
},
],
"newTable": false,
"tableId": "204",
"tableImage": "[Link]
v0.38990292533435056",
"tableLimits": {
"maxBet": 5000.0,
"maxPlayers": 4500,
"minBet": 0.1,
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0]
},
"tableName": "Mega Roulette",
"tableOpen": true,
"tableSubtype": "megaroulette",
"tableType": "ROULETTE",
"totalSeatedPlayers": 765
}
Mega Wheel
{
"currency": "EUR",
"dealer": {
"name": "Maliha"
},
"languageSpecificTableInfo": "",
"last20Results": [
{
"gameId": "3147147509",
"multiplier": 88,
"result": 30,
"slot": 10,
"time": "Oct 25, 2023 10:25:04 AM"
},
{
"gameId": "3147147409",
"multiplier": 8,
"result": 2,
"slot": 1,
"time": "Oct 25, 2023 10:24:20 AM"
},
{
"gameId": "3147145909",
"multiplier": 20,
"result": 1,
"slot": 8,
"time": "Oct 25, 2023 10:12:18 AM"
},
{
"gameId": "3147145809",
"multiplier": 15,
"result": 10,
"slot": 5,
"time": "Oct 25, 2023 10:11:32 AM"
},
{
"gameId": "3147145709",
"multiplier": 88,
"result": 5,
"slot": 8,
"time": "Oct 25, 2023 10:10:45 AM"
}
],
"newTable": false,
"tableId": "801",
"tableImage": "[Link]
v0.38990292533435056",
"tableLimits": {
"maxBet": 1000.0,
"maxPlayers": 20000,
"minBet": 0.1,
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0]
},
"tableName": "Mega Wheel",
"tableOpen": true,
"tableSubtype": "jackpotwheel",
"tableType": "MEGAWHEEL",
"totalSeatedPlayers": 3636
}
Sic Bo
{
"currency": "EUR",
"dealer": {
"name": "Aesha"
},
"languageSpecificTableInfo": "",
"last20Results": [
{
"die1": 1,
"die2": 1,
"die3": 6,
"gameId": "4014748416",
"time": "Oct 25, 2023 10:23:08 AM",
"totalSum": 8
},
{
"die1": 1,
"die2": 1,
"die3": 3,
"gameId": "4014748116",
"time": "Oct 25, 2023 10:22:42 AM",
"totalSum": 5
},
{
"die1": 2,
"die2": 3,
"die3": 5,
"gameId": "4014747816",
"time": "Oct 25, 2023 10:22:16 AM",
"totalSum": 10
}
],
"newTable": false,
"shuffle": false,
"tableId": "701",
"tableImage": "[Link]
v0.38990292533435056",
"tableLimits": {
"maxBet": 5000.0,
"maxPlayers": 2000,
"minBet": 0.1,
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0]
},
"tableName": "Mega Sic Bo",
"tableOpen": true,
"tableSubtype": "standard_sicbo",
"tableType": "SicBO",
"totalSeatedPlayers": 501
}
{
"bonusType": "TOTM",
"gameId": "3860352108",
"time": "Oct 25, 2023 9:44:04 AM",
"winBets": [
{"bc": "107", "mul": 7.0}
]
}
],
"languageSpecificTableInfo": "",
"newTable": false,
"tableId": "1601",
"tableImage": "[Link]
v0.38990292533435056",
"tableLimits": {
"maxBet": 4500.0,
"maxPlayers": 10000,
"minBet": 0.1,
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0]
},
"tableName": "Snakes & Ladders Live",
"tableOpen": true,
"tableSubtype": "snakeladder",
"tableType": "SNAKESANDLADDERSLIVE",
"totalSeatedPlayers": 60
}
Spaceman
{
"currency": "EUR",
"dealer": {
"name": "spaceman"
},
"gameResult": [
{
"gameId": "2095541511",
"result": "2.48",
"time": "Oct 25, 2023 9:43:00 AM"
},
{
"gameId": "2095541411",
"result": "1.6",
"time": "Oct 25, 2023 9:42:34 AM"
},
{
"gameId": "2095541211",
"result": "5.75",
"time": "Oct 25, 2023 9:42:14 AM"
}
],
"languageSpecificTableInfo": "",
"newTable": false,
"tableId": "1301",
"tableImage": "[Link]
v0.38990292533435056",
"tableLimits": {
"maxBet": 100.0,
"maxPlayers": 15000,
"minBet": 1.0,
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0]
},
"tableName": "Spaceman",
"tableOpen": true,
"tableType": "SPACEMAN",
"totalSeatedPlayers": 728
}
High Flyer
{
"gameResult": [
{
"gameId": "4631802501",
"result": "1.84",
"time": "Jul 2, 2024 9:55:37 AM"
},
{
"gameId": "4631802401",
"result": "1.18",
"time": "Jul 2, 2024 9:55:19 AM"
},
{
"gameId": "4631802301",
"result": "2.46",
"time": "Jul 2, 2024 9:55:06 AM"
}
],
"totalSeatedPlayers": 2,
"tableId": "2201",
"tableName": "High Flyer",
"newTable": true,
"dedicatedLanguage": "en",
"tableImage": "[Link]
v0.044068826948495676",
"tableLimits": {
"ranges": [0.1, 0.2, 0.25, 0.4, 0.5, 1.0],
"minBet": 0.1,
"maxBet": 200.0,
"maxPlayers": 500
},
"dealer": {"name": "HighFlyer"},
"tableOpen": true,
"tableType": "HIGHFLYER",
"tableSubtype": "HighFlyer",
"gameLoaderKey": "highflyer",
"currency": "EUR"
}
Sweet Bonanza
{
"currency": "EUR",
"dealer": {
"name": "Izabele"
},
"gameResult": [
{
"gameId": "3280409914",
"multiplier": 1.0,
"payout": [3.0],
"rc": 1,
"result": "2",
"sbmul": [],
"sugarbomb": false,
"time": "Oct 25, 2023 9:29:34 AM",
"winner": "TWO"
},
{
"gameId": "3280409814",
"multiplier": 1.0,
"payout": [2.0],
"rc": 1,
"result": "1",
"sbmul": [],
"sugarbomb": false,
"time": "Oct 25, 2023 9:28:49 AM",
"winner": "ONE"
},
{
"gameId": "3280409414",
"multiplier": 1.0,
"payout": [6.0],
"rc": 1,
"result": "5",
"sbmul": [],
"sugarbomb": false,
"time": "Oct 25, 2023 9:25:31 AM",
"winner": "FIVE"
},
{
"gameId": "3280409314",
"multiplier": 1.0,
"payout": [16.5],
"rc": 2,
"result": "Sweet Spins",
"sbmul": [],
"sugarbomb": false,
"time": "Oct 25, 2023 9:24:36 AM"
},
{
"gameId": "3280408414",
"multiplier": 1.0,
"payout": [10.0],
"rc": 4,
18.2 Flow of placing and sending bets for Seamless Wallet API
Due to the fact that on some Live Casino tables it is possible to place additional bets (bet behind, side bets) we would like to
give an example list of such scenarios and what will be sent to the operator’s API.
Scenario 1: Player placed one main bet on one seat and no bet behind
We will send only one /[Link] and one /[Link] (if there was a winning) call
Scenario 2: Player placed main bets on several seats and no bet behinds
We will send only one /[Link] and one /[Link] (if there was a winning) call
Scenario 3: Player placed one main bet and one bet behind
We will send two /[Link] calls (one for main bet and one for bet behind) and one /[Link] call (as total and in case
there are any winnings)
Scenario 4: Player placed main bets on several seats and one bet behind
We will send two /[Link] calls (one is for all main bets and one for bet behind) and one /[Link] call (as total and in
case there are any winnings)
Scenario 5: Player placed main bets on several seats and several bet behinds
We will send multiple /[Link] calls (one for main bet and one bet for each bet behind) and one /[Link] call (as total
and in case there are any winnings). Therefore, if there’s one main bet and seven bet behinds, we will send eight bets.
Scenario 6: Player placed one main bet with one side bet
We will send one /[Link] calls and one /[Link] call (if there was a winning). The side bet is always a part of a main
bet.
secureLogin=ext_test1&symbol=101&language=en¤cy=EUR&platform=WEB&technology=H5&token=
dsgfssdf5g4dfg&stylename=ext_test1&cashierUrl=[Link]
&lobbyFilter=BJ_FS:FS$BJ_MB:1$BJ_TYPE:S&lobbyUrl=
[Link]
secureLogin=username&externalPlayerId=test_player&gameId=101&language=en&platform=WEB&cashierURL=ht
tp://[Link]/&lobbyFilter=BJ_FS:FS$BJ_MB:1$BJ_TYPE:S&lobbyURL=[Link]
&hash=438fea0a68a0e9ab49df756cc20eda8f
Filter
Category Blackjack:
FS FS Free seats
Min bets
1 €1-10
MB
25 €25-50
100 €100+
Table type
S Speed
R Regular
BJ TYPE U Unlimited
P Prive
VIP VIP
X Blackjack X
Blackjack League
BBJT Bronze tournament
LG SBJT Silver Tournament
PRBJT Prive tournament
GBJT Gold tournament
PROMO PROMO Promotions
Category Roulette
Table type
N Native
V Variants
RL TYPE A Auto
R Regular
VIP VIP
S Speed
PROMO PROMO Promotions
Category Game Shows
GS
PROMO PROMO Promotions
Category Baccarat
BC PROMO PROMO Promotions
GR GR Good roads
Table type
N Native
V Variants
TYPE
P Prive
S Speed
R Regular
Category Promotions
Promotions
PROMO DW Drops & Wins
OP Other Promos
PR Blackjack League
BBJT Bronze Tournament
LG SBJT Silver Tournament
GBJT Gold Tournament
PRBJT Prive Tournament
Example: use cases (without encoding). This needs to be used with encoding for actual use case.
Number Description Value
1 Create a BJ Lobby with pre-filter options: All BJ tables with available seats, min "BJ_FS:FS$BJ_MB:1$BJ_TYPE:S"
bet 1-10 euros and speed tables
2 IBJ Lobby with pre-filters 25-50 EUR and regular seats "BJ_MB:25$BJ_TYPE:R"
Important:
For Seamless Wallet integration, in order to receive countOfFreeChips value in wallet requests for each round, an
operator should accept enhanced format of roundDetails (Please see section 3.3 Data Types), and ask the Pragmatic
Play’s Technical Support for additional configuration.
Note:
URL of the FC HTTP service will be provided by Pragmatic Play for the production and test environments and looks
like: [Link] service domain}/IntegrationService/v3/http/ FreeChipsAPI/LC/
Note:
Free Chips HTTP service is securely protected hence please be sure:
player’s browser (end) must NOT be used as an initiator of requests to the service;
proper IPs are supplied to Pragmatic Play for whitelisting
The bonusCode is unique and can be used only one time for the same playerId. Please make sure you’ve integrated
the FC in the proper way and won't reuse/award the same bonusCode values in your logic. In case the Casino
Operator needs to make the bonusCode reusable, they should ask Pragmatic Play’s Technical Support for additional
configuration.
10. Compare with hash parameter. In the case of failure Casino Operator should send the error code 5.
19.2 Data types
maxBetLimit Number Maximum number of free chips that can be placed in a round. Should be a natural
number greater than 0.
maxWinLimit Number Maximum winning limit that a player can receive in a bonus. Should be a natural
number greater than 0.
maxWinLimitPlayerCur Number Maximum winning limit in player’s currency that a player can receive in a bonus.
Should be a natural number greater than 0.
bonusCode String Bonus unique identifier within the Operator system. Should be 1-100 character
long.
Max length of this parameter depends on requestId. The sum of their length has to
be 252 symbols or less.
requestId String Unique identifier of FC credit request (for specific player). It has to be passed to re-
use the same bonusCode value again for the player.
Max length of this parameter depends on bonusCode. The sum of their length has
to be 252 symbols or less.
startDate, Long Date and time when the bonus will start, expire or until it is valid - timestamp in
seconds.
expirationDate,
Start date must be a valid future date. Expiration date should be after start date
validityDate,
but no more than 45 days.
expirationPeriod, (Unix epoch time in seconds, for example : 1470926605)
validityPeriod
error Integer Error code.
Note:
To specify Expiration and Validity for FC, either expirationDate and validityDate (as timestamps in seconds) OR
expirationPeriod and validityPeriod (as {N} minutes) parameters can be specified. If expirationPeriod is specified,
validityPeriod must be specified as well.
Expiration date/period cannot be more than 45 days after start time. The bonus validity period must not be longer than
45 days.
Note:
If the chip value or max win limit in the player currency is not provided, the EUR value or other currency value from the
list (if EUR is missing) will be converted to the player currency using the beautified currency rates.
Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service. Required
Name Description
chipValue Value of a single free chip in the specified currency.
currency Currency of a chip value.
Type: Games
Name Description
gameId Id of the game associated with the free chips campaign.
Name Description
maxWinLimit Maximum winning limit in the specified currency that a player can receive in a bonus.
currency Currency of a max win limit value.
Response parameters
Name Description
{"gameList":[ {"gameId":"1611"},
{"gameId":"329"}],
"chipValuePerCur":[ {"chipValue":1,"currency":"EUR"},
{"chipValue":1,"currency":"USD"},
{"chipValue":5,"currency":"BRL"}],
"maxWinLimitPerCur":[
{"maxWinLimit":5000,"currency":"EUR"},
{"maxWinLimit":5000,"currency":"USD"},
{"maxWinLimit":25000,"currency":"BRL"}
]}
Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service. Required
bonusCode Bonus id within the Casino Operator’s system. Should be unique within the brand. Required
Response parameters
Name Description
secureLogin User name for authentication in the Casino Game API service. Required
Response parameters
Name Description
error Error code.
List of information about all not finished FC that were awarded to the player. See below FC type
bonuses
description of the objects in the list
Type: FC
bonusCode Bonus id within the Operator system. Should be unique within the brand. Required
expirationDate Date and time when the free chips will expire. Required
Content-Type: application/json
secureLogin User name for authentication in the Casino Game API service. Required
bonusCode Bonus id within the Operator system. Should be unique within the brand. Required
playerList List of player id to add to the existing Free Chips campaign, comma separated. Required
Unique identifier of FC credit request (for specific player). It has to be passed to re-use the Optional
same bonusCode value again for the player.
requestId The field is optional and is not sent to the Casino Operator by default. In case Casino Operator
needs this parameter to be sent with request they should ask the Pragmatic Play’s Technical
Support for additional configuration.
hash Hash code of the request. Required
Response parameters
Name Description
error Error code.
{
"playerList": ["449986","450013","450509","437070"]
}
secureLogin User name for authentication in the Casino Game API service. Required
bonusCode Bonus id within the Operator system. Should be unique within the brand. Required
Maximum winning limit in player currency that a player can receive in a Optional
maxWinLimitPlayerCur
bonus.
Response parameters
Name Description
error Error code.
{
"config": {
"expirationDate": 1722240000,
"validityDate": 1722412800,
"chipsNumber": 1234
"maxBetLimit": 5,
"maxWinLimitPlayerCur": 5000
}
}
Request parameters
Name Description Status
secureLogin User name for authentication in the Casino Game API service. Required
bonusCode Bonus id within the Operator system. Should be unique within the brand. Required
playerList List of player id to remove from the existing Free Chips campaign, comma separated. Required
Unique identifier of FC credit request (for specific player). It has to be passed to re-use the Optional
same bonusCode value again for the player.
requestId The field is optional and is not sent to the Casino Operator by default. In case Casino
Operator needs this parameter to be sent with request they should ask the Pragmatic Play’s
Technical Support for additional configuration.
hash Hash code of the request. Required
Response parameters
Name Description
error Error code.
{
"playerList": ["449986","450013","450509","437070"]
}
Request parameters
secureLogin User name for authentication in the Casino Game API service. Required
List of live casino game IDs. If not provided, all existing FC chips for all games will be
gameList Optional
[Link] data must be sent as JSON in the body of the request.
List of currency abbreviations for which the chip values in the chipValuePerCur object will
currencyList be returned. At least one currency should be [Link] data must be sent as JSON in Required
the body of the request.
hash Hash code of the request. Required
Name Description
currency Currency of chip values.
chipValues List of chip values.
{
"gameList": ["1611","329"],
"currencyList": ["EUR","BRL"]
}
Code Description
0 OK
1000 Internal server error. Pragmatic Play will return this error code if their system has internal problem and cannot
process the request.
Code Description
4003 Campaign does not exist
4005 Campaign cannot be cancelled due to the status
4011 Bonus Code cannot be empty
4012 Bonus Code must be 1-100 characters long
4013 Bonus Code cannot contain the / symbol
4014 Campaign with this bonus code already exists
4032 Max winning limit should be greater than 0
4033 Max bet limit should be a natural number greater than 0
4034 The following tables have minimum bet limit larger than the given maximum bet limit
4042 Number of chips cannot be empty
4043 Number of chips value should be a natural number
4044 Chip value must be greater than 0
4045 Chip value cannot be lower than the lowest min bet limit of the selected tables
4046 Chip value cannot be higher than the highest max bet limit of the selected tables
4047 Chip value is not in the given set
4056 GameID not present for the casinoId
4091 Free chip bonus does not exist
4094 Bonus is already either expired, cancelled or wagered
4100 The Player/s already exists with same request ID
4101 The player/s already has a bonus for this campaign using the provided bonus code. To issue additional bonuses,
please include a Request ID
Both the 'GetBalance' and 'Cancel Free Spins' methods share common error-handling parameters such as 'error' which is the error code, and 'description' which provides a textual description of the error for troubleshooting .
Security in Pragmatic Play API requests is implemented using secureLogin and a hash code. The secureLogin authenticates the user, while the hash ensures data integrity and authenticity of the requests by preventing unauthorized alterations. These parameters are required in various methods such as 'StartGame', 'GetBalance', and 'Cancel Free Spins' .
The handling of player's bonuses during a cancellation of a Free Spins Bonus campaign depends on the status of the bonus. Not-started bonuses are entirely canceled. If the bonus has started but not finished, remaining spins and free seconds are canceled while completed spins and wins remain. Finished, canceled, or expired bonuses are not affected by the cancellation process .
The 'GetPlayersFSB' API method allows the Casino Operator's system to retrieve all Free Spins Bonuses (FSB) awarded to a particular player. The response includes a list of these bonuses, detailing currency, gameIDs, number of rounds awarded, rounds played, bonusCode, and expirationDate. This method requires secureLogin, playerId, and hash as parameters .
For bonuses that have been started but not finished, the 'Cancel Free Spins' method cancels any remaining spins and free seconds. However, spins that have already been played and their awarded wins remain unaffected. Any single unfinished rounds will not be canceled, allowing the player to complete them later .
The 'roundId' parameter in the 'bonusWin' request method specifies the identifier of the last played round during a Free Spins Bonus. It plays a critical role in tracking the gaming session linked to the win, though it is optional and not always sent to the Casino Operator. If needed, it is configured through Pragmatic Play's Technical Support .
The 'minBetList' parameter ensures that players meet a minimum betting threshold to qualify for tournament participation, thus motivating increased player engagement and securing greater revenue potential for operators. It lists the minimum bet amounts across different currencies, ensuring consistent tournament conditions and broader player inclusivity across regions .
The 'Tournament Prizes' API method manages prize distribution by returning a list of prizes for a specific tournament. This includes information on positions for prize allocation, prize types, and amounts if applicable. The method restricts requests to one per tournament ID and ensures that requests pertain to prize drops that ended no more than 31 days ago. The structured prize information allows operators to accurately allocate rewards as per the tournament rankings .
The essential request parameters for initiating a "StartGame" API call in the Pragmatic Play system include secureLogin, externalPlayerId, gameId, language, and hash. The platform, cashierURL, lobbyURL, playMode, jurisdiction, ctlgroup, and lobbyFilter are optional parameters .
The 'bonusWin' method ensures idempotency by allowing the same transaction results to be sent multiple times without creating duplicate transactions. If a result is sent again with the same reference number, it will not cause the balance to be updated more than once, ensuring that only one transaction is recognized despite multiple attempts .