Integration API Specification 3.85
Integration API Specification 3.85
API specification
28-Nov-14 Iryna 3.0 1. Added GetCasinoGames method on the Pragmatic Play side.
2. Fields “secureLogin” and “securePassword” added to all methods on the
Operator side except GetVersion.
9-Dec-14 Iryna 3.1 API will support player id within Operator system for Option 2 (Authenticate
method + player auto-registration) and within Pragmatic Play system for
Option 1 (StartGame method, compatible with the v2).
29-Jan-15 Iryna 3.2 If player is not authenticated, 404 error will not appear anymore.
19-Mar-15 Iryna 3.3 1. Added Simple HTTP service chapter.
2. Added Error code chapter.
26-Mar-15 Iryna 3.4 Parameter “platform” for CasinoGame type will be detailed by “iOS” and
“Android” values.
7-Apr-15 Iryna 3.5 Added timestamp in GMT to Bet and BetResult methods.
Added round details field GMT to Bet and BetResult methods.
14-Apr-15 Iryna 3.6 Added Data Feeds section.
15-May-15 Iryna 3.7 Added new Authenticate2 method (only for casino client integration).
2-Jun-15 Iryna 3.7 Added Game Opening chapter (just for information, no changes in the API).
9-Jul-15 Iryna Sh. 3.8 Added Free Bonus Round API section.
Added bonusWin method to the Wallet API on Operator side.
16-July-15 Ira K 3.8 Added new UpdateBalance method to Integration API
5-Aug-15 Iryna Sh. 3.10 Added error codes for FR Bonus API
13-Aug-15 Iryna Sh. 3.11 UserId type changed to String instead of Long (http API only).
16-Sep-15 Iryna Sh. 3.12 Free rounds bonus API -> Added GetPlayersFRB method (available only for http
service)
21-Sep-15 Iryna Sh. 3.13 Added aspectRatio and demoGameAvailable fields to Integration API ->
GetCasinoGames method.
21-Sep-15 Iryna Sh. 3.14 Added new History API (HTTP service).
29-Sep-15 Iryna Sh. 3.15 Updated the list of error codes for Free Rounds Bonus Http service.
Expiration date type has been replaced by Long (timestamp in sec.)
30-Sep-15 Iryna Sh. 3.15 FR Bonus Http service -> Expiration date is mandatory, 30 days max.
Added originalSessionID (SOAP), originalRoundID (http service) to Bet, Result and
End round methods.
13-Oct-15 Iryna Sh. 3.16 Added Integration http service -> Download statistics method.
11-Dec-15 Iryna Sh. 3.19 Added Wallet API -> JackpotWin method to both SOAP and http services
15-Dec-15 Iryna Sh. 3.20 Added Data feeds -> Actual Jackpots, Jackpot winnings.
26-Jan-16 Iryna Sh. 3.21 Optional “amount”, “gameID”, “roundId”, “timestamp”, “roundDetails”,
“bonusCode”, “originalRoundID” fields have been added to Wallet Http
Service -> Refund.
17-Mar-16 Iryna Sh. 3.30 Simple Integration http API -> Added methods for single wallet: CreatePlayer,
GetBalance, Transfer, StartGame and TerminateSession method for kicking
player out of the games.
22-Apr-16 Iryna Sh. 3.31 Wallet Simple http service -> Withdraw method has been added for
downloadable client.
2-Jun-16 Iryna Sh. 3.32 Error codes: 50 error code has been added for regulated markets.
21-Mar-17 Iryna Sh. 3.50 Status “Closed” in History http service -> Round Status was renamed to
“Cancelled”.
22-Mar-17 Alex N. 3.51 Update Free Rounds Bonus API Error codes
27-Apr-17 Iryna Sh. 3.53 GetBalancePerGame method has been added to Seamless Wallet API.
The “currency” field was removed from GetRoundStatus response.
28-Apr-17 Iryna Sh. 3.54 CloseSession method has been added to Integration API.
12-May-17 Iryna Sh. 3.56 Statuses “CompleteInProcess” and “CancelInProcess” have been added to
GetRoundStatus method in History API.
19-May-17 Alex N. 3.57 userId parameter is case-sensitive.
Reality check response: request/response examples.
23-Jun-17 Iryna Sh. 3.58 1. FRB simple service has been renamed to Simple Free Rounds API
2. New Variable Free Rounds API has been added.
3. The document was slightly reformatted.
11-Jul-17 Alex B. 3.59+zh Optional token parameter added into Seamless Wallet API methods
19-Jul-17 Iryna Sh. 3.60 Reality check chapter has been divided into two parts – server side and client
side implementations.
9-Aug-17 Iryna Sh. 3.61+zh Added new Balance Transfer API -> GetTransferStatus method.
10-Aug-17 Iryna Sh. 3.62 Added country and jurisdiction parameters to the Seamless Wallet API ->
Authenticate response.
18-Aug-17 Iryna Sh. 3.63+zh Added new Data Feeds API -> Game Rounds method.
22-Aug-17 Iryna Sh. 3.64 Added new Integration API -> CancelRound method.
23-Aug-17 Iryna Sh. 3.65 Added new Data Feeds -> Daily Totals method.
31-Aug-17 Iryna Sh. 3.66 1. Added finished game rounds option to Data Feeds -> Game Rounds.
2. CSV format of Data Feeds -> Daily totals report has been replaced by JSON.
3. Added new report Data Feeds -> Player’s Incomplete Rounds.
6-Sep-17 Alex F. 3.67 Updated send Reconciliation retry call for Seamless Wallet API Error Codes
16-Nov-17 Iryna Sh. 3.69 Added optional jackpotContribution and jackpotId fields to Seamless Wallet
API -> Bet. Configurable per brand.
7-Dec-17 Iryna Sh. 3.70 Free Rounds can be cancelled regardless of whether the player started to play
them or not.
24-Jan-18 Iryna Sh. 3.71 Tournament API has been added.
30-Jan-18 Iryna Sh. 3.72 Date-time format was added to the Tournament API specs and examples.
27-Feb-18 Iryna Sh. 3.73 New betLimit parameter has been added to Seamless Wallet API ->
Authenticate response, game Id is added to Authenticate request.
5-Mar-18 Iryna sh. 3.74 Error code 310 has been added to Seamless Wallet API.
26-Apr-18 Alex Ch. 3.75 Data Feeds -> Daily Totals. Added "totalFreeSpinRounds" response parameter
4-May-18 Alex Ch. 3.75 Added: ipAddress to 3.3 Data Types, 3.4 Authenticate, 3.7 Bet
Added: usedPromo to 3.3 Data Types
17-May-18 Iryna Sh. 3.76 Method Result: added parameters for Mystery Race winnings got by player
during game round.
24-May-18 Iryna Sh. 3.77 Added Custom Messages chapter.
04-Oct-18 Sergiy Bul. 3.80 Seamless Wallet API - Added Language parameter to bet method.
Renamed Mystery Race >>> Prize Drop
11-Nov-18 Alex Ch. 3.81 Added new section: “Responsible gaming – Sweden”
24-Dec-18 Iryna Sh. 3.82 Custom messages: new “open” link type was added for opening a new/blank
tab in the browser, with the link specified for the action.
23-Jan-19 Iryna Sh. 3.83 Optional roundId and gameId parameters have been added to Seamless Wallet
API -> bonusWin request, for compliance with the Spanish regulation.
31-Jan-19 Sergiy B 3.84 Adding section “XVI. Bingo Integration API”
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 rounds are over and player’s balance should be Optional2
increased with bonus amount.
JackpotWin Using this method a Pragmatic Play system will notify Casino Operator about Jackpot Optional3
winning.
EndRound Notifies the Casino Operator that the game round is over, for transactions finalization Optional
purpose.
Withdraw4 Notifies the Casino Operator that a player clicked the Withdraw button in the lobby of Optional
downloadable client.
GetBalancePerGame Returns the balance of a player per game. Optional
1
Authenticate2 for downloadable client
2
Is required in case of Free Round Bonuses API is implemented
3
Is required in case of Jackpot functionality is implemented
4
for downloadable client only
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 player’s Required
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 browser. Required
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
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.
DownloadStatistics5* This method may be used by Operator to store on the Pragmatic Play side the Optional
information about downloads and installations of the downloaded client.
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
5
for downloadable client only
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
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”.
technologyID String(10) Technologies in which the game is available, comma separated. Possible values are:
H5 - HTML5 games
F – Flash (only for desktop)
Example: “H5”, “F,H5”
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
DOWNLOAD – if game can be opened in downloaded gaming client
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
secureLogin=username&hash=da77af8d0ba97eaa033682466b87f569
Example of response:
To get reliable download statistics Operator should send only unique download events. This may be achieved by
using cookies on Operator’s site.
For example, when player downloads the client for the first time, a cookie can be saved on the player’s computer.
Every time player clicks “Download” button the site should check the “download cookie” and send download event
only if the cookie is not found.
secureLogin=username&playerId=421&refererUrl=domain.com&ipAddress=1.1.1.1&clientOS=W&eventType=D&ha
sh=5fd31717ba4da9e78ac19730212925c2
secureLogin=username&externalPlayerId=421&gameId=vs7monkeys&clearHistory=1&hash=5fd31717ba4da9e78ac
19730212925c2
secureLogin=username&externalPlayerId=421&roundId=123456&hash=5fd31717ba4da9e78ac19730212925c2
URL of the Seamless Wallet API should be provided by Casino Operator for the production and test environments.
As a result of function call Operator gets an URL for game opening. The link will look like:
https://{game_server_domain}/gs2c/playGame.do?key=token%3D{token}%26symbol%3D{symbol}%26technolo
gy%3D{technology}%26platform%3D{platform}%26language%3D{language}%26cashierUrl%3DcashierUrl
%26lobbyURL%3DlobbyURL&stylename={secureLogin}
where all values in {…} are equal to GameLib.gameUrl function call parameters.
Also game opening link can be composed explicitly, in any other convenient for Operator way.
https://{game_server_domain}/playGame.do?key=token%3Drgk1r4d5b6%26symbol%3Dvs20bl%26technology%3DH5
%26platform%3D%26language%3Den%26cashierUrl%3Dhttp%3A%2F%2Fvs20bl%26lobbyUrl%3D&stylename=username
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 Optional
calls 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 Optional
details.
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 Optional
of the element:
defaultBet – the default bet value
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)
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.
providerId=pragmaticplay&hash=e1467eb30743fb0a180ed141a26c58f7&token=5v93mto7jr
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
The currency of the player is set up when the player opens a game for the first time, and the player account is
created in the Pragmatic Play database, with the userId and currency received in the response on the Authentication
request.
providerId=pragmaticplay&username=testuser&password=testpassword&hash=ccc7e0436f56b9d04c0a5fed92c05
be9
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
providerId=pragmaticplay&userId=421&hash=b4672931ee1d78e4022faaadf58e37db
Important: The call is idempotent, i.e. sending bet again only creates one transaction.
Request 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
Important: The call is idempotent, i.e. sending result again with the same reference number creates only one
transaction.
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 Pragmatic Play 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
bonusCode Id of the bonus in Casino Operator system. Optional*
(*is mandatory in case of FRB 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.
platform The platform type (channel) on which the game is played. Optional
Possible values:
“MOBILE” – mobile device
“WEB” – desktop device
“DOWNLOAD” – downloadable client
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=DOWNLOAD&hash=533c609c6a74b533efb870b806f00732&tim
estamp=1482429805138
Important: The call is idempotent, i.e. sending result again with the same reference number creates only one
transaction.
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 Pragmatic Play 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. Optional*
(*is mandatory in case of FRB 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 Round Bonus Optional
gameId Id of the game for the last played round within Free Round Bonus Optional
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.
reference=585d0257f89c56f5ed6b2e37&bonusCode=test_pp_frb1&amount=1.0&providerId=pragmaticplay&userI
d=421&hash=242d4d029c20e6e4692a4b88398f4fdc×tamp=1482490455354
Important: The call is idempotent, i.e. sending result again with the same reference number creates only one
transaction.
Request parameters
Name Description Status
hash Hash code of the request Required
providerId Game Pragmatic Play 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)
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
amount Amount of the jackpot winning. 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
“DOWNLOAD” – downloadable client
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.
reference=585d0b2af89c56f5ed6f0d1f&gameId=vs30catz_jp&amount=55.0&jackpotId=568&providerId=pragmati
cplay&userId=421&roundId=5109164607&hash=8ef28798d5b3e523528bdb61ada939a7×tamp=1482492714431
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 Pragmatic Play id. Required
platform The platform type (channel) on which the game is played. Optional
Possible values:
“MOBILE” – mobile device
“WEB” – desktop device
“DOWNLOAD” – downloadable client
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
gameId=vs50hercules&providerId=pragmaticplay&userId=421&roundId=5103579948&platform=DOWNLOAD&hash=0
755b1f739655f4d394b20575a7570df
Important: The call is idempotent, i.e. sending refund for existing bet again only creates one transaction.
Important: If bet 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 bet transaction. Required
providerId Game Pragmatic Play id. Required
platform The platform type (channel) on which the game is played. Optional
Possible values:
“MOBILE” – mobile device
“WEB” – desktop device
“DOWNLOAD” – downloadable client
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.
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
reference=585c2692f89c56f5ed083692&providerId=pragmaticplay&userId=421&platform=DOWNLOAD&hash=0078a
afb64b316a05c91124e4411541a
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 Pragmatic Play Id. Required
Response parameters
Name Description
userId Identifier of the user within the Casino Operator’s system.
currency Currency of the player.
cash Real balance of the player.
bonus Bonus balance of the player.
userId=421&providerId=pragmaticplay&hash=b4672931ee1d78e4022faaadf58e37db
Possible values:
“MOBILE” – mobile device
“WEB” – desktop device
“DOWNLOAD” – downloadable client
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
providerId=....&userId=...&gameIdList=vs20cd,vs20bl,vs7monkeys
Important: The call is idempotent, i.e. sending result again with the same reference number creates only one
transaction.
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
amount Prize amount that the player is awarded with. Required
currency Player’s currency. Required
reference Unique reference of the transaction within the Pragmatic Play system. Required
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
URL of the HTTP service will be provided by Pragmatic Play for the production and test environments and looks like:
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.
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.
Error Error code.
description Description of the error for troubleshooting.
secureLogin=username&externalPlayerId=test_player¤cy=USD&hash=620a4016ae32ea0efbebfe1b3544571
c
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
Important: This method will return player’s balance after successful transaction for all transactions that was created
not earlier than August 3, 2017. For older transactions player’s balance in the response will be null. Description 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
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
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
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%2Fdomain.com%2F&lobbyURL=http%3A%2F%2Fdomain.com%2F&hash=438fea0a68a0e9ab49df756cc
20eda8f
Response parameters
Name Description
error Error code.
description Description of the error for troubleshooting.
secureLogin=username&externalPlayerId=test_player&hash=405281156fc4cace4d2385a8ead83290
URL of the FRB HTTP service will be provided by Pragmatic Play for the production and test environments and looks like:
Free Rounds Bonus HTTP service is securely protected, hence please be sure:
- player’s browser (end) must NOT be used as initiator of requests to the service;
- proper IPs are supplied to Pragmatic Play for whitelisting
playerId String(100) Id of the player within the Operator system. Examples: 1000, 2644987.
currency String Player's ISO 4217 currency code. Examples: 'EUR' or 'USD'.
gameID String Unique identifier of the game.
rounds Integer Number of free rounds
bonusCode String Bonus unique identifier within the Operator system.
expirationDate Long Date and time when the bonus will expire - timestamp in seconds.
(Unix epoch time in seconds, for example : 1470926605)
error Integer Error code.
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
playerId Id of the player within the Casino Operator system. Required
currency Currency of the player. Required
gameIDList List of symbolic unique identifiers of the game that the FR is awarded for, comma Required
separated. Example: vs25a, vs9c, vs20s.
rounds Number of free game rounds awarded. Required
bonusCode Bonus id within the Casino Operator system. Should be unique within the brand. Required
expirationDate Date and time when the free rounds will expire. Required
hash Hash code of the request. Required
Response parameters
Name Description
providerPlayerId Id of the player within the Pragmatic Play system.
error Error code.
description Description of the error for troubleshooting.
secureLogin=username&playerId=421¤cy=USD&gameIDList=vs20bl&rounds=10&bonusCode=421_frb&expira
tionDate=1482588510&hash=1d319398565e48dc635c3c621475d0ac
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_frb&hash=39554fed4f41132eb8fe75e9a7ba3df6
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 FRB that were awarded to the player. See below FRB 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 FR 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 rounds will expire.
secureLogin=username&playerId=421&hash=b623382e6dd3219d63b7ed1979408856
URL of the FRB HTTP service will be provided by Pragmatic Play for the production and test environments and looks
like: https://{API service domain}/IntegrationService/v3/http/FreeRoundsBonusAPI/v2/
Note:
1. Expiration date is mandatory. It should be sent as timestamp in seconds, and the bonus validity period must
not be longer than 30 days.
2. 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 service Required
bonusCode Bonus id within the Casino Operator’s system. Should be unique within the Required
brand.
startDate Date and time when free rounds bonus will start. Required
expirationDate Date and time when the free rounds will expire. Required
validityDate Date and time when the bonus gets invalid and is unavailable for the player. Optional
rounds Number of free game rounds awarded. Required
hash Hash code of the request. Required
gameList List of the games associated with the bonus, with bet per line values for each Required
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: VariableFRBetValue
Name Description
currency Currency code.
betPerLine Value of bet per line in the specified currency, which will be applied during free rounds
Response parameters
Name Description
error Error code.
description Description of the error for troubleshooting.
secureLogin=username&bonusCode=421&startDate=1482588510&expirationDate=1482598510&rounds=10&
hash=1d319398565e48dc635c3c621475d0ac
{
"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"}
]
}
]
}
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
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 Round Bonus, comma separated. Required
This data must be sent as a JSON in the body of the request.
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"]
}
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 Round Bonus, comma Required
separated.
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"]
}
URL of the history HTTP service will be provided by Pragmatic Play for the production and test environments and
looks like:
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
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 A number of hour then rounds were played (optional). Required
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.
secureLogin=username&playerId=421&datePlayed=2016-12-
23&timeZone=GMT+00:00&gameId=vs50aladdin&hour=10&hash=0179f75a37274337f9aefe2c3108db0f
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
historyUrl 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
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 Cancelled – 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 Cancelled in the db; Refund is in asynchronous
queue and being sent to Operator.
error Error code.
description Description of the error for troubleshooting.
Response parameters
Name Description
url Report page URL.
error Error code.
description Description of the error for troubleshooting.
secureLogin=username&playerId=123123&roundId=111222&hash=5fd31717ba4da9e78ac19730212925c2
For each API account, frequency of any particular "Data feeds and reports" method requests, should be not more
than one call per minute.
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.
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 Required
Play API.
timepoint Long Time point starting from which data will be transferred. If time point Optional
is empty, the new time point will be returned.
(Unix epoch time in milliseconds, for example : 1470926696715)
gameID String(20) Symbolic unique identifier of the game provided by Pragmatic Play.
playSessionID Number(15) Id of the player’s session for particular game (unique number of the game round).
parentSessionID Number(15) Id of the play session, in which the feature was triggered (unique number of the
parent 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 DateTime Date and time when the game round started.
(Will be returned in yyyy-mm-dd HH:mm:ss format, for example: “2017-08-28
02:14:13”)
endDate DateTime Date and time when the game round ended. Will be null if the game round is not
finished yet.
(Will be returned in yyyy-mm-dd HH:mm:ss format, for example: “2017-08-28
02:14:13”)
Example of response:
timepoint=1482510809258
playerID,extPlayerID,gameID,playSessionID,parentSessionID,startDate,endDate,status,type,bet,win,cur
rency, jackpot
6638030,bobtest,vs50aladdin,51126041,51126041,"2017-08-15 02:12:49","2017-08-15 02:18:14",C,R,
2.50,0.25,USD,0.00
6638030,bobtest,vs50aladdin,51126042,51126041,"2017-08-15 02:14:35",”2017-08-15 02:14:40",C,F,
0.00,0.00,USD,0.00
6638030,bobtest,vs50aladdin,51126590,51126041,"2017-08-15 02:14:43","2017-08-15 02:14:46",C,F,
0.00,0.00,USD,0.00
6638030,bobtest,vs50aladdin,51127141,51126041,"2017-08-15 02:14:51","2017-08-15 02:14:55",C,F,
0.00,0.00,USD,0.00
login String(30) API user name (secureLogin value) for authentication in the Required
Pragmatic Play API.
password String(30) API password (secret key value) for authentication in the Required
Pragmatic Play API.
timepoint Long Time point starting from which data will be transferred. If time Optional
point is empty, the new time point will be returned.
(Unix epoch time in milliseconds, for example :
1470926696715)
gameID String(20) Symbolic unique identifier of the game provided by Pragmatic Play.
playSessionID Number(15) Id of the player’s session for particular game (unique number of the game
round).
timestamp DateTime Date and time when the transaction is processed on the Pragmatic Play
side.
(Unix epoch time in milliseconds, for example : 1470926696715)
referenceID String(100) Unique id for reference of this transaction on the Pragmatic Play side.
Example of response:
timepoint=1482510809258
playerID,extPlayerID,gameID,playSessionID,timestamp,referenceID,type,amount,currency
6638030,421,vs50aladdin,5111126041,1482510741000,585d5195f89c56f5ed95012e,B,2.50,USD
6638030,421,vs50aladdin,5111126041,1482510742000,585d5196f89c56f5ed950159,W,0.50,USD
6638030,421,vs50aladdin,5111126590,1482510745000,585d5199f89c56f5ed950344,B,2.50,USD
6638030,421,vs50aladdin,5111127141,1482510748000,585d519cf89c56f5ed95054e,B,2.50,USD
login String(30) API user name (secureLogin value) for authentication in the Required
Pragmatic Play API.
password String(30) API password (secret key value) for authentication in the Required
Pragmatic Play API.
timepoint Long Timepoint starting from which data will be transferred. If Optional
timepoint is empty, the new timepoint will be returned.
(Unix epoch time in milliseconds, for example :
1470926696715)
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 HTTP service.
playSessionID Number(15) Id of the player’s session for particular game (unique number of the game
round).
referenceID String(100) Unique id for reference of this transaction on the Pragmatic Play side.
timestamp Long Date and time when the transaction is processed on the Pragmatic Play
side.
roundDetails String(50) Additional information about the current game round, comma separated.
Example: “spin,bonus”
Example of response:
timepoint=1482510979767
playerID,extPlayerID,referenceID,gameID,playSessionID,betAmount,winAmount,timestamp,roundDetails
login String(30) API user name (secureLogin value) for authentication in the Required
Pragmatic Play API.
password String(30) API password (secret key value) for authentication in the Required
Pragmatic Play API.
jackpotID Number(15) Unique identifier of the Jackpot within Pragmatic Play system.
games String(255) The list of the games participating in the Jackpot. It contains gameId
(game symbols), comma separated.
Example: vs25safari_jp,vs30catz_jp,vs7monkeys_jp
login String(30) API user name (secureLogin value) for authentication in the Required
Pragmatic Play API.
password String(30) API password (secret key value) for authentication in the Required
Pragmatic Play API.
jackpotID Number(15) Unique identifier of the Jackpot within the Pragmatic Play Required
system.
jackpotID Number(15) Unique identifier of the Jackpot within Pragmatic Play system.
dateTime DateTime Date and time when the Jackpot was won.
gameID String(20) Symbolic unique identifier of the game where Jackpot was won.
login String(30) API user name (secureLogin value) for authentication in the Pragmatic Play API. Required
password String(30) API password (secret key value) for authentication in the Pragmatic Play API. Required
startDate DateTime Start date and time of the period for which the data should be loaded Required
endDate DateTime End date and time of the period for which the data should be loaded Required
totalRounds Integer Total number of game rounds completed during the reporting period, including free spin
rounds number
totalFreeSpinRounds Integer Total number of free spin rounds completed during reporting period
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 Required
Play API.
playerId String Id of the player within the Casino Operator’s system. Required
playSessionID Number(15) Id of the player’s session for particular game (unique number of the game round).
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.
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.
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 reslut of player authentication. If authetication 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.
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
(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 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 requests will be added to the Transaction queue and sent independently of the game
session, according to the Reconciliation mechanism.
End round
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 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
Definitions
List of definitions for the OPERATOR:
1. Bingo room – specific theme for web client.
2. Bingo game session – order of bingo games for specific hour and bingo room.
3. Bingo game – specific settings in game for bingo game round.
In order to retrieve URL for game launching, the Operator needs to call JS function ‘BingoLib.js.gameUrl’ (which is available
via BingoLib.js at https://<bingo_game server domain>/bingohtml5/BingoLib.js) with the following parameters:
serverURL – domain name for bingo game opening and playing;
domain – specific setting to put OPERATOR URLs inside bingo rooms
token – secure one-time token is generated by OPERATOR for specific player;
room – unique identifier for bingo room;
function receiveMessage(event)
{
if (event.origin !== "http://example.org:8080")
return;
// ...
}
NOTE: External link from the Operator side should always begin with HTTPS. CORS headers should always be present.
source - A reference to the window object that sent the message; you can use this to establish two-way communication
between two windows with different origins.
Samples which Bingo web client expects to get:
window.parent.postMessage('open-lobby', '<site domain of lobby page>') - when lobby page opened in iframe
window.parent.postMessage('open-game', '<site domain of lobby page>') – when game is launching from lobby page
window.parent.postMessage('close-game', '<site domain of lobby page>') – when game is closed page should be redirect for
lobby page again and notify bingo client.
For more information use the following documentation:
https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage
To connect player’s wallet at operator side, methods and specification which are described in section
III Seamless Wallet 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.
Request parameters
Property Type Description Status
playerID string Unique player identifier on operator's side Optional
language string Player’s language Optional
secureLogin string Login to access the API Required
Example request
https://{bingo API domain}/BingoIntegration/BingoGameAPI/RoomList HTTP/1.1
{
"playerID": "playerID",
"language": "en",
"secureLogin": "login1526992641791"
}
Response parameters
Property Type Description Status
error number Response status. Required
description string Response status short description. Required
activeRoomList array of 'ActiveRoom' type List of active bingo rooms. Required
upcomingRoomList array of 'UpcomingRoom' type List of upcoming bingo rooms. Required
Request parameters
Property Type Description Status
secureLogin String Login to access the API Required
Date number Date (in UNIX timestamp in ms) Required
Hour number Hour in 24h format .Example: 01 means 01 AM; 16 means 04 PM. Required
Example request
https://{bingo API domain}/BingoIntegration/BingoGameAPI/AvailableGames
{
"secureLogin":"securelogin",
"playerID":"91446987",
"language":"en",
"date":1544603284186
}
Response parameters
Property Type Description Status
error Number Response status. Required
description String Response status short description. Required
roomList array of type 'Room' All rooms which are scheduled for current brand. Required
Structure 'Room'
Property Type Description Status
roomID Number ID of the room Required
roomName String Name of the room. Required
bingoType Integer Bingo game type (75 or 90) Required
gameListByHours array of type 'Game' The list of games in the room at the specified hour. Required
Example response
{"description":"OK","error":0,"roomList":[{"bingoType":75,"gameListByHours":{"0":[{"boughtCardsNumber":0
,"cardCost":[{"symbol":"AUD","value":6.08},{"symbol":"EUR","value":4.23}],"gameID":5880,"gameName":"stri
p_fixed","givenCardsNumber":0,"maxCardsNumber":2,"players":0,"purchaseMode":"S","serialGameIdx":1,"total
Amount":[{"symbol":"AUD","value":0},{"symbol":"EUR","value":0}]}]},"roomID":1282,"roomName":"strip_fixed
"}]}
Request parameters
Property Type Description Status
secureLogin String Login to access the API Required
Date Number Date for preordering cards. UNIX time in ms Required
Hour Integer Hour for preordering cards in 24h format. Required
Example: 01 means 01 AM; 16 means 04 PM.
playerID String Unique player identifier. Required
nickname string Player's nickname. Optional
currency String Player's currency. Required
roomID Number ID of the room. Required
preorderCardList array of type List of pre-ordered cards for chosen games. Required
'PreorderCard'
Example request
https://{bingo API domain}/BingoIntegration/BingoGameAPI/PreorderCards
{
"secureLogin":"securelogin",
"playerID":"16243a2ec4218f2",
"date":1544606366093,
"currency":"EUR",
"roomID":1442,
"preorderCardList":
[{"hour":10,"gameID":6000,"serialGameIdx":1,"cardNumber":20},
{"hour":11,"gameID":6000,"serialGameIdx":1,"cardNumber":20},
{"hour":12,"gameID":6000,"serialGameIdx":1,"cardNumber":20}]
}
Structure 'PreorderCard'
Property Type Description Status
Error integer Response status. Required
description string Response status short description. Required
gameID number ID of the game. (Bingo game ID) Required
serialGameIdx integer Serial index of the game at the requested hour. This parameter is Required
required for the accurate determination of game queue position
in an hour, as the game can be played many times in same hour.
cardNumber integer Number of pre-ordered cards. Required
givenCardsNumber integer The number of cards given to player in addition (relevant for Buy Required
X get Y games).
Hour integer Hour for preordering cards in 24h format.Example: 01 means 01 Required
AM; 16 means 04 PM.
Example response
{
"error": 0,
"description": "OK",
"preorderCardList": [
{
"error": 0,
"description": "OK",
"gameID": 6000,
"serialGameIdx": 1,
"cardNumber": 20,
"givenCardsNumber": 0,
"hour": 10
}
]
}
Request parameters
Property Type Description Status
secureLogin string Login to access the API Required
playerID string Unique player identifier. Required
dateFrom Number Start date of the report. UNIX time in ms Required
dateTo Number End date of the report. UNIX time in ms Required
language string Player’s language Optional
roomID Number ID of the room Optional
Example request
https://{bingo API domain}/BingoIntegration/BingoGameAPI/PreorderedReport
{
"secureLogin":"securelogin",
"playerID":"16243a2ec4218f2",
"dateFrom":1544433758165,
"dateTo":1544606558165,
"language":"no",
"roomID":1442
}
Response parameters
Property Type Description Status
error number Response status. Required
description string Response status short description. Required
preorderedList array of type 'PreorderedReport' Required
Structure 'PreorderedReport'
Property Type Description Status
Example response
{"error":0,"description":"OK","preorderedList":[{"sessionStartDate":1544608800000,"gameID":6000,"gameNam
e":"bingo_90_jp","bingoType":90,"roomID":1442,"roomName":"for test with 90",
"cardNumbers":20,"cardCost":1,"purchaseMode":"C","roundID":20007000207,"currency":"USD","transactionID":
20001661407,"bingoRoundID":71761061,"givenCardsNumber":0,"prize":100.11,"jackpot":0},{"sessionStartDate"
:1544608800000,"gameID":6000,"gameName":"bingo_90_jp","bingoType":90,"roomID":1442,"roomName":"for test
with 90",
"cardNumbers":20,"cardCost":1,"purchaseMode":"C","roundID":20007000207,"currency":"USD","transactionID":
20001661607,"bingoRoundID":71761061,"givenCardsNumber":0,"prize":100.11,"jackpot":0}]}
Request parameters
Property Type Description Status
secureLogin String Login to access the API Required
playerID String Unique player identifier. Required
cancelPreorderedList array of type 'CancelPreordered' List of cards to cancel the pre-order. Required
Example request
https://{bingo API domain}/BingoIntegration/BingoGameAPI/CancelPreorderedCards
{
"cancelPreorderedList": [
{
"transactionID": 10001000
}
],
"playerID": "16243a2ec4218f2",
"secureLogin": "securelogin"
}
Structure 'CancelPreordered'
Property Type Description Status
error string Response status for each canceled transaction. Required
description string Response status short description. Required
transactionID number Reference of bet request in wallet API. Required
Response parameters
Property Type Description Status
error string Response status for request. Required
description string Response status short description. Required
cancelPreorderedList array of type 'CancelPreordered' The resulting list of pre-order cancellation. Required
Example response
{
"cancelPreorderedList": [
{
"description": "OK",
"error": "0",
"transactionID": 20001661407
}
],
"description": "OK",
"error": 0
}
Request parameters
Property Type Description Staus
secureLogin String Login to access the API Required
date Number Day for requesting bingo jackpot winners. UNIX time in ms. Required
language string Player’s language Optional
Example request
https://{bingo API domain}/BingoIntegration/BingoGameAPI/JackpotWinners
{
"date": 1526992641791,
"language": "en",
"secureLogin": "login1526992641791"
}
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 or 90) 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
{"jackpotWinners":[{"playerID":"playerID","nickname":"player566322","amount":110.5,"dateTime":0,"ja
ckpotName":"Jackpot 2","roomID":200,"bingoType":75,"gameName":"Game 122" ,"roundID":50175,
"currency":"USD"}],"error":0,"description":"OK"}
Request parameters
Property Type Description Status
Example request
https://{bingo API domain}/BingoIntegration/BingoGameAPI/ChangeNickname
{
"playerID": "playerID",
"nickname": "NewNickname",
"secureLogin": "login1526992641791"
}
Response parameters
Property Type Description Status
Error number Response status. Required
description string Response status short description. Required
Example response
{
"error": 0,
"description": "OK"
}
Request parameters
Property Type Description Status
secureLogin string Login to access the API Required
playerID string Unique player identifier Required
startDate number Starting date of request period. UNIX time in ms Required
endDate number End date for request period. UNIX time in ms Required
Language string Player’s language Required
roundid Number Round ID for player transaction from common API. Optional
bingoRoundID Number Unique identifier of played bingo round from Provider side. Optional
fromIndex number Starting index for result order in response Required
pageOffset integer Number of result on page (limit 50 items) Required
NOTE: In this request can be sent one of 2 parameters: roundID or bingoRoundID or without in case search for
timeframe
Example request:
https://{bingo API domain}/BingoIntegration/BingoGameAPI/BingoPlayerHistory
{
"secureLogin":"securelogin",
"playerID":"16243a2ec4218f2",
"startDate":1543660263791,
"endDate":1544610663791,
"language":"es",
"roundID":20006700607,
"fromIndex":0,
"pageOffset":50
}
Response values
Property Type Description Status
error string Number of error. Required
description string Description of error Required
bingoRounds array of type List of rounds. Required
'Rounds'
count long Number of founded results Optional
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:
https://{bingo API domain}/BingoIntegration/BingoGameAPI/BingoRoundHistory
{
"roundID": 1000,
"language": "en",
"secureLogin": "login1526992641791"
}
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 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 FRB. Required
cardCost double Cards cost for specific bingo round. For fixed-price game it will be cost of Required
one cards 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","winningCallNumber":20,"winnerDetails":[{"playerID":"16243a2ec4218f2","nickname":"sk_en_65","cu
rrency":"USD","prizeAmount":1.67,"jpAmount":167,"cardID":79000},{"playerID":"16243a2ec4218f2","nickname"
:"sk_en_65","currency":"USD","prizeAmount":1.67,"jpAmount":167,"cardID":79006},{"playerID":"16243a2ec421
8f2","nickname":"sk_en_65","currency":"USD","prizeAmount":1.67,"jpAmount":167,"cardID":79005}]}],"bought
Cards":[{"playerID":"16243a2ec4218f2","boughtCardsNumber":10,"givenCardsNumber":10,"freeCardsNumber":10,
"cardCost":1,"currency":"USD"}]}
0 Success.
1 Insufficient balance. The error should be returned in the response on the Bet request.
5 Invalid hash code. Should be returned in the response on any request sent by OPERATOR if Incorrect
secureLogin or/and securePassword.
7 Empty mandatory field. Should be returned in the response if required field is empty.
8 Invalid parameter. Should be returned in the response if field is used with incorrect name, data type or
value.
9 Duplicate nickname. Should be returned in the response on change nickname if same nickname already
is used in system for current casino.
10 Player not found. Should be returned if player is not found at provider side
105 The requested data not found. Returned when any data could be found by received request (for example
incorrect timestamp and/or bingo roundid in request was received)
106 Cancel preorder cards not found. The cards were not found according to the criteria.
107 Incorrect number of cards. Should be returned when number of cards for fixed price game is less than
value which was set for this game
109 Wallet transaction failed. Should be returned when BET transaction to operator side fails on some
reason
URL of the FRB HTTP service will be provided by Pragmatic Play for the production and test environments and looks like:
Free Rounds Bonus HTTP service is securely protected, hence please be sure:
- player’s browser (end) must NOT be used as initiator of requests to the service;
- proper IPs are supplied to Pragmatic Play for whitelisting
Needed methods and specification are described in chapters 5.1–5.6 in section V. Simple Free Rounds API of current
document