SlideShare a Scribd company logo
1 of 40
Download to read offline
Skywind Live Games
Integration guide
V.1.5
July 2022
The information presented herein is confidential information of Skywind Holdings Ltd. It is also protected subject matter of copyrights owned by
Skywind Holdings Ltd. and of agreements between Skywind Holdings Ltd. and its licensees and other parties. Copying, transmission and disclosure
of such information can only be done within the strict scope of a governing Skywind Holdings Ltd. agreement. In the absence of any specific
agreement to the contrary, reverse engineering, decompilation and disassembly are prohibited in any event as to any software content. While all
efforts have been made to ensure that the content of this document is accurate at the time of publication, the data upon which this document is
based is subject to future change. Updated versions of this document will be released when necessary, resources permitting.
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
2 of 40
PREFACE
Purpose
To describe how to set up Skywind Live Games on the Operator’s website
Scope
The document describes 3 options to set up Skywind Live Games along with the
relevant API methods
Related Documents
Document Version Description
Skywind Seamless Integration
Guide 4.88
Describes the basic API
commands and gives
instructions for Seamless
Integration.
Skywind Operator API 4.88
Provides an overview of
Skywind’s Falcon Integration
System API and gives
instructions on third-party
integration.
Intended Audience
Skywind Licensees
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
3 of 40
Table of Contents
Introduction...............................................................................................................................5
1. Direct launch........................................................................................................................5
2. 1. Skywind Lobby solution (Seamless Integration) .................................................................5
2.2. Skywind Lobby Solution (iWallet Integration) .....................................................................5
3. Implement Your Own Lobby Solution....................................................................................5
Direct Launch.............................................................................................................................6
Get Player Game URL ...............................................................................................................6
Ticket Validation ......................................................................................................................8
Validate Ticket......................................................................................................................8
Refresh Session Token ........................................................................................................ 10
Error Responses ................................................................................................................. 11
Skywind Lobby Solution (Seamless Integration)....................................................................13
Overview............................................................................................................................... 13
Flow ...................................................................................................................................... 14
1. Lobby Link.......................................................................................................................... 14
2. Login Page Setup................................................................................................................ 14
Directing the Player to the Specific Game Category in the Lobby ........................................... 15
Directing the Player to the Lobby in the Specified Language .................................................. 15
Player Ticket Requirements (for both login options) ............................................................. 16
3. Ticket Validation ................................................................................................................ 16
Validate Ticket.................................................................................................................... 16
Refresh Session Token ........................................................................................................ 18
Error Responses ................................................................................................................. 19
Skywind Lobby Solution (iWallet Integration).......................................................................21
Overview............................................................................................................................... 21
Flow ...................................................................................................................................... 22
1. Lobby Link.......................................................................................................................... 22
2.1. Login Setup for Players with Password ............................................................................. 22
2.1. Login Setup for Players with/without Password ............................................................... 22
Directing the Player to the Specific Game Category in the Lobby ........................................... 23
Directing the Player to the Lobby in the Specified Language .................................................. 23
Player Ticket Requirements (for the second login option)...................................................... 24
3. Ticket Validation ................................................................................................................ 25
Validate Ticket.................................................................................................................... 25
Refresh Session Token ........................................................................................................ 26
Error Responses ................................................................................................................. 28
Implement Your Own Lobby Solution....................................................................................29
Overview............................................................................................................................... 29
Integration Setup Flow........................................................................................................... 29
REST API ................................................................................................................................ 30
Get Live Manager URL......................................................................................................... 30
Get List of Games ............................................................................................................... 31
Get Fun Mode Game URL .................................................................................................... 32
Player Login........................................................................................................................ 33
Get Game URL.................................................................................................................... 34
Get List of Game Categories ................................................................................................ 35
Get List of Live Tables Statuses ............................................................................................ 36
Socket Message Definitions.................................................................................................... 37
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
4 of 40
Player Login........................................................................................................................ 37
Subscribe to Game Events................................................................................................... 37
Unsubscribe from Game Events........................................................................................... 38
Live Table Open.................................................................................................................. 38
Live Table Info .................................................................................................................... 38
Live Table Dealer Changed .................................................................................................. 39
Live Table Status Changed................................................................................................... 39
Live Table Blackjack Seat Selected ....................................................................................... 39
Document History ...................................................................................................................40
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
5 of 40
INTRODUCTION
This document is aimed at the operators who have already completed Integration
with Skywind and want to move on to Live Lobby configuration.
There are 3 options how you can proceed. Please read about each of them, decide
on the one that is preferable for you and proceed to the dedicated chapter.
1. Direct launch
This option requires zero development on top of general integration from your side.
The idea is that clicking on the static game icon or a link on your website calls the
Get Player Game URL method, same as for Skywind slot games.
Limitations: you can’t benefit from the add-ons developed specifically for live
games such as dynamic table preview icons, etc.
2. 1. Skywind Lobby solution (Seamless Integration)
This option implies that you use the Live Lobby theme provided by Skywind. It will
have filters specific to Live games (Commission/No-Commission for Live Baccarat
games) and will display game limits on the icons. Also, this lobby solution offers
display customization options.
2.2. Skywind Lobby Solution (iWallet Integration)
Same as above, but for the operators who implemented iWallet Integration.
3. Implement Your Own Lobby Solution
This option is preferable for you if you have the design and developer resources to
build your own lobby. We from our side can provide the API which will let you get
information such as the current dealer’s name, table status (online/offline), etc. This
requires more time and development effort for implementation from the operator’s
side.
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
6 of 40
DIRECT LAUNCH
This option implies that the player accesses live games the same ways as regular
slot or arcade games. Whenever the player clicks on the live game icon in the lobby,
the Get Player Game URL method is called.
Get Player Game URL
Request:
GET api.operatorapi.com/players/{playerCode}/games/{gameCode} HTTP/1.1
The user can get a particular game URL for a specific player.
To do this, the game code, the player code (to get the URL for a particular player)
and the play mode (‘real’ by default) should be entered according to the schema
below.
This method is used when the server-to-server communication is enabled between
Skywind and the operator (the integration to Skywind slot games is set up) and
requires IP whitelisting.
Parameters to enter
Name
Located
In
Required Schema
Notes
cashier query yes/no string
The site of the cashier
playerCode path yes string (32)
Player’s code of a player that is
fetched.
gameCode path yes string (32)
Game code of a game that is
fetched.
ticket query no string(64)
This is an external ticket with
customer data used to recognise
us a customer in the provider’s
system.
For registered customers, tickets
can be provided either for real or
for fun play mode. This
parameter provides a quick
means of switching to real mode
via the mode button in a
game/lobby without redirecting
to merch_login_url.
The ticket will be validated by the
API command: validate ticket.
type query no string(32) Type of the game.
playmode query no
string| “fun”
or “real”
A play mode used for a ‘real’ or
‘fun’ game.
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
7 of 40
If the play mode is not specified,
the customer will be asked to
choose a play mode at the start
of the game.
language query no string(2)
The language used by a
customer.
If no language is defined, then a
language will be selected based
on customer data. If a customer
is anonymous, the language
must be defined.
lobby query yes/no string The site of the lobby.
ip query no string Internet IP Address (Ipv4)
The System responds to the parameters entered according to the following schema:
Response
Code Schema Example
200 {
url: string (1024) – game URL
for specific player,
token: string (512) player
token to access game
}
{
"url":
"http://super_live_roulette.com
/",
"token":
"oJqXX2tkAADKn3MpcM9kVbVk53neuI
YI62dEkYdYubl+9lyXRECjQww3VsmEP
fMoUkO6uqB56WDPhPGdS3aGnQ"
}
Note:
The returned url is the URL that should be used for launching the game. The
returned token value can be ignored by the operator.
If any issues occur while retrieving the game URL, the System responds with the
following error codes:
HTTP Code Error Code Description
400
40 Validation error
62
One of the parents is
suspended
101 Not a brand
306 Game is suspended
703 IP address cannot be resolved
708
It is forbidden to start game
from unauthorized site
712 Player is suspended
736
Entity is under maintenance,
but maintenance url is not
defined
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
8 of 40
HTTP Code Error Code Description
751 Referrer is missing
401
10 Access Token is missing
204 Access token error
205 Access token has expired
792 Access Session is expired
403
206
User doesn’t have permission to
execute the operation
701
Country {country} of IP:{ip} is
restricted
404
51 Could not find entity
102 Player is not found
213 Game is not available for entity|
240 Game is not found
502 Merchant not found
500 506 Merchant internal error
Ticket Validation
Please contact your Integration Manager to find out whether ticket
validation is required in your case.
The preferrable request and response format of API is JSON.
On receiving the player ticket from you, Skywind will send you the /validate_ticket or
/validate_terminal_ticket call.
Validate Ticket
/validate_ticket is used for opening normal games including slots and for opening
the lobby.
/validate_terminal_ticket is used only for opening the lobby.
You need to inform Skywind which method you will be using so that we can proceed
with the configuration.
Request: POST api.playerapi.com/api/validate_ticket HTTP/1.1
Request: POST api.playerapi.com/api/validate_terminal_ticket HTTP/1.1
This method sends a received ticket from Skywind to the operator’s system for
validation.If the ticket is valid, the operator’s server will reply with the player’s specific
account data. If not, it will send an error.
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
9 of 40
Below are the parameters that Skywind will send in the request:
Parameters
Name Located in Required Type Notes
ticket body yes string (64) Operator’s ticket, used for
authentication and getting session ID.
merch_id body yes string (32) This parameter refers to the operator’s
ID (set up on the Integration phase).
merch_pwd body yes string (48) This parameter refers to the operator’s
password (set up on the Integration
phase).
ip body no string (16) This parameter shows the player’s IP
address.
Example of JSON Request
{
"ticket": "aXc2!f",
"merch_id": "gcxMerch",
"merch_pwd": "merchPassword"
}
The System responds to such requests according to the following schema:
Response
Code Schema Example
200 {
error_code: number,
cust_session_id: string,
cust_id: string,
currency_code: string,
test_cust: string ("true"|
"false") or
boolean(true|false,
country: string,
game_group: string
}
{
"error_code": 0,
"cust_session_id": "custSessId",
"cust_id": 1234,
"currency_code": "GBP",
"test_cust": false,
"country": "GB",
"game_group": "Double Bets Group"
}
Notes:
- The optional game_group parameter is used to override game limits. To update
player’s game group and limits, operator needs to create game groups by following
the Skywind ‘Game Group API’ document and set a name of the game group in the
validate_ticket response in the game_group field.
- The cust_id refers to the customer’s ID and includes numbers, letters, special
characters, except a colon.
- If you use terminals and use the same endpoint for the terminal user login as for the
validate_ticket method, it’s mandatory for you to add the language parameter to your
validate_ticket response.
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
10 of 40
- By default, one cust_session_id should be used for several different games (you
should not have in place a validation that cust_session_id is assigned to a specific
game code). If your system cannot support it and you have unique tokens for each
played game, you should implement Refresh Session Token method and request
Skywind L2 Technical Integration team to enable this option for your entity.
For information on error responses, please see Error Responses.
Refresh Session Token
Request: POST api.playerapi.com/api/refresh_session HTTP/1.1
This method is used for merchant systems that require implementation of ticket
validation but do not allow a player to play different games with the same session
token. Skywind will call this method to obtain a new token (new_cust_session_id)
when a player opens a new game on the provider’s website after having played
another game.
Please contact Skywind L2 Technical Integration team to enable this option for your
entity.
Request Parameters
Name Located
in
Required Type Notes
merch_id body yes string (32) The merchant’s ID (set up on the
Integration phase).
merch_pwd body yes string (48) The merchant’s password (set up on the
Integration phase).
old_game_code body yes string (32) The code of the game the player opened
prior to opening the new game.
new_game_code body yes string (32) The code of the new game that the
player opens.
cust_id body yes string (32) The id of the customer (player).
cust_session_id body yes string (64) The id of the customer’s (player’s)
session preceding the launch of a new
game.
Example of JSON Request
Example
{
"merch_id": "EB",
"merch_pwd": "SoMEpassw",
"old_game_code": "sw_mrmnky",
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
11 of 40
"new_game_code": "sw_dc",
"cust_id": "1234",
"cust_session_id": "SoMeSeSsionId" //
old customer session id
}
The System responds to such requests according to the following schema:
Response
Code Schema Example
200 {
error_code: 0,
new_cust_session_id: string
(64)
}
{
"error_code": 0,
"new_cust_session_id": "NewSessionId"
}
For information on error responses, please see Error Responses.
Error Responses
If any issues occur while performing one of the operations, the merchant’s system
should respond with the error codes from the table below. If the System has an error
code that doesn’t equal -1 or 0, we expect to receive HTTP status 200 to parse the
error code and the message.
If the System has an error code that doesn’t equal 0 in the response, it should be
explained in the error_msg.
General Errors
Seamless
Error Code
Text Description
0 No errors
-1 Merchant internal error An unexpected error was encountered
while processing the request. It can be
caused by a validation error, for example,
if the merchant doesn’t exist. Operator
can use this error when they don’t expect
such behavior from the provider’s side.
-2 Player not found Returned when the game is launched with
the playerCode which doesn’t exist on the
merchant’s side or if the playerCode has
an invalid value, for example, is empty or
has a number value type.
-3 Game token expired Player session has expired or has invalid
value.
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
12 of 40
Notes:
- For the response with the HTTP status 200 we apply the mapping of errors depending
on the error_code in the response.
- For the response with the HTTP status which is greater than or equals 400 and is less
than 500 (400 ≤ statusCode < 500) we send MerchantInternalError HTTP: 500,
code: 506, message: ‘Merchant internal error’.
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
13 of 40
SKYWIND LOBBY SOLUTION (SEAMLESS
INTEGRATION)
Overview
This option implies that you use the Live Lobby theme provided by Skywind. The tables
in this lobby will be grouped by games. There will be an option to access favorite
tables in My Lobby tab. Also, the table icons will display the minimum bet required to
play and the table limits if the player clicks on the minimum bet size.
It is possible to change the logo, the color scheme and other UI parameters. To do
this, please contact your Account Manager.
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
14 of 40
Flow
1. Lobby Link
Skywind will provide the Operator with a static link to Skywind Live Lobby with
standard display settings.
2. Login Page Setup
There are 2 options to set up the login process: the first one will require the player to
log in when accessing Live Lobby, the second one doesn’t.
First option:
The operator is required to set up a login page on their website that will authorize the
player in the operator’s system.
The operator needs to insert the following code on their login page. The operator is
supposed to replace <PLAYER_TICKET> with the player’s authorization ticket number
(please see the operator ticket requirements) and keep the type value unchanged.
window.top.postMessage(
{
type: "tokenInfo",
ticket: "<PLAYER_TICKET>"
}, "*");
Once the login page is configured, the link to this page will be placed into lobby
settings in Skywind System.
This way when the player clicks the link to the Live Lobby on the operator’s website,
they will see the previously configured login page. The login page will receive the
player ticket from the operator’s website and execute the postMessage. The lobby will
get the postMessage and send the player ticket to Skywind. Skywind will verify the
player with Validate Ticket method and receive the required player information.
Second option:
For better user experience, instead of placing a static link on their website, the
operator may provide a dynamic link to the player by appending their authorization
ticket to the base Lobby link according to the example below:
Example:
https://lobby_id-lobby.skywindgroup.com/#/ticket/<PLAYER_TICKET>
https://abcd1234-lobby.skywindgroup.com/#/ticket/1234567890
Clicking this link will send the player ticket to Skywind for validation. After the
validation, the player will appear on the lobby page without having to log in again.
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
15 of 40
Skywind will verify the player with Validate Ticket method and receive the required
player information.
Directing the Player to the Specific Game Category in the Lobby
This will work only if you opt for the second login setup option.
To provide the operator with the ability to open the Lobby directly at the page of the
desired game category, the new dynamic URL parameter category has been
introduced. The value of the parameter should be the hashed id of the desired game
category. The category id can be provided by your Integration Manager.
Example:
https://lobby_id-lobby.skywindgroup.com/#/ticket/1234567890?category=<categoryID>
https://abcd1234-lobby.skywindgroup.com/#/ticket/1234567890?category=6ca78adf
Directing the Player to the Lobby in the Specified Language
This will work only if you opt for the second login setup option.
The Merchant can open the lobby in a specific language supported by the Lobby by using the
dynamic URL parameter language. The parameter value must be the code of the language
that is supported by the Lobby.
Example:
https://lobby_id-lobby.skywindgroup.com/#/ticket/1234567890?language=<code>
https://abcd1234-lobby.skywindgroup.com/#/ticket/1234567890?language=en
Below is the list of the supported languages and their codes:
Language Language code
English en
Simplified Chinese zh-cn
Traditional Chinese zh-tw
Japanese ja
Malay ms
Korean ko
Thai th
Vietnamese vi
Indonesian id
Romanian ro
Italian it
Greek el
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
16 of 40
Player Ticket Requirements (for both login options)
For the Skywind System to receive the player’s information in its proper format, the
player ticket needs to meet the following requirements:
• The ticket string length shouldn’t exceed 64 characters.
• The recommended minimum inactivity time after which the ticket session
expires is 30 minutes. After the specified inactivity timeout period the player is
logged out of the Live Lobby. This value is not mandatory and can be set in
accordance with your preference. However, a very short inactivity timeout
period (1-2 minutes) is not advisable as it may negatively impact user
experience.
3. Ticket Validation
On receiving the player ticket from you, Skywind will send you the /validate_ticket or
/validate_terminal_ticket call.
Validate Ticket
/validate_ticket is used for opening normal games including slots and for opening
the lobby.
/validate_terminal_ticket is used only for opening the lobby.
You need to inform Skywind which method you will be using so that we can proceed
with the configuration.
Request: POST api.playerapi.com/api/validate_ticket HTTP/1.1
Request: POST api.playerapi.com/api/validate_terminal_ticket HTTP/1.1
These methods send a received ticket from Skywind to the operator’s system for
validation.If the ticket is valid, the operator’s server will reply with the player’s specific
account data. If not, it will send an error.
Below are the parameters that Skywind will send in the request:
Parameters
Name Located in Required Type Notes
ticket body yes string (64) Operator’s ticket, used for
authentication and getting session ID.
merch_id body yes string (32) This parameter refers to the operator’s
ID (set up on the Integration phase).
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
17 of 40
Name Located in Required Type Notes
merch_pwd body yes string (48) This parameter refers to the operator’s
password (set up on the Integration
phase).
ip body no string (16) This parameter shows the player’s IP
address.
Example of JSON Request
Example
{
"ticket": "aXc2!f",
"merch_id": "gcxMerch",
"merch_pwd": "merchPassword"
}
The System responds to such requests according to the following schema:
Response
Code Schema Example
200 {
error_code: number,
cust_session_id: string,
cust_id: string,
currency_code: string,
test_cust: string ("true"|
"false") or
boolean(true|false,
country: string,
game_group: string
}
{
"error_code": 0,
"cust_session_id": "custSessId",
"cust_id": 1234,
"currency_code": "GBP",
"test_cust": false,
"country": "GB",
"game_group": "Double Bets Group"
}
Notes:
- The optional game_group parameter is used to override game limits. To update
player’s game group and limits, operator needs to create game groups by following
the Skywind ‘Game Group API’ document and set a name of the game group in the
validate_ticket response in the game_group field.
- The cust_id refers to the customer’s (player’s) ID and includes numbers, letters,
special characters, except a colon.
- If you use terminals and use the same endpoint for the terminal user login as for the
validate_ticket method, it’s mandatory for you to add the language parameter to your
validate_ticket response.
- By default, one cust_session_id should be used for several different games (you
should not have in place a validation that cust_session_id is assigned to a specific
game code). If your system cannot support it and you have unique tokens for each
played game, you should implement Refresh Session Token method and request
Skywind L2 Technical Integration team to enable this option for your entity.
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
18 of 40
Please refer to Error Responses for the information about the errors.
Refresh Session Token
Request: POST api.playerapi.com/api/refresh_session HTTP/1.1
This method is used for merchant systems that require implementation of ticket
validation but do not allow a player to play different games with the same session
token. Skywind will call this method to obtain a new token (new_cust_session_id)
when a player opens a new game on the provider’s website after having played
another game.
Please contact Skywind L2 Technical Integration team to enable this option for your
entity.
Request Parameters
Name Located
in
Required Type Notes
merch_id body yes string (32) The merchant’s ID (set up on the
Integration phase).
merch_pwd body yes string (48) The merchant’s password (set up on the
Integration phase).
old_game_code body yes string (32) The code of the game the player opened
prior to opening the new game.
new_game_code body yes string (32) The code of the new game that the
player opens.
cust_id body yes string (32) The id of the customer (player).
cust_session_id body yes string (64) The id of the customer’s (player’s)
session preceding the launch of a new
game.
Example of JSON Request
Example
{
"merch_id": "EB",
"merch_pwd": "SoMEpassw",
"old_game_code": "sw_mrmnky",
"new_game_code": "sw_dc",
"cust_id": "1234",
"cust_session_id": "SoMeSeSsionId" //
old customer session id
}
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
19 of 40
The System responds to such requests according to the following schema:
Response
Code Schema Example
200 {
error_code: 0,
new_cust_session_id: string
(64)
}
{
"error_code": 0,
"new_cust_session_id": "NewSessionId"
}
Please refer to Error Responses below for the information about the errors.
Error Responses
If any issues occur while performing one of the operations, the merchant’s system
should respond with the error codes from the table below. If the System has an error
code that doesn’t equal -1 or 0, we expect to receive HTTP status 200 to parse the
error code and the message.
If the System has an error code that doesn’t equal 0 in the response, it should be
explained in the error_msg.
General Errors
Seamless
Error Code
Text Description
0 No errors
-1 Merchant internal error An unexpected error was encountered
while processing the request. It can be
caused by a validation error, for example,
if the merchant doesn’t exist. Operator
can use this error when they don’t expect
such behavior from the provider’s side.
-2 Player not found Returned when the game is launched with
the playerCode which doesn’t exist on the
merchant’s side or if the playerCode has
an invalid value, for example, is empty or
has a number value type.
-3 Game token expired Player session has expired or has invalid
value.
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
20 of 40
Notes:
- For the response with the HTTP status 200 we apply the mapping of errors depending
on the error_code in the response.
- For the response with the HTTP status which is greater than or equals 400 and is less
than 500 (400 ≤ statusCode < 500) we send MerchantInternalError HTTP: 500,
code: 506, message: ‘Merchant internal error’.
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
21 of 40
SKYWIND LOBBY SOLUTION (IWALLET INTEGRATION)
Overview
This option implies that you use the Live Lobby theme provided by Skywind. The tables
in this lobby will be grouped by games. There will be an option to access favorite
tables in My Lobby tab. Also, the table icons will display the minimum bet required to
play and the table limits if the player clicks on the minimum bet size.
It is possible to change the logo, the color scheme and other UI parameters. To do
this, please contact your Account Manager.
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
22 of 40
Flow
1. Lobby Link
Skywind will provide the Operator with a static link to Skywind Live Lobby with
standard display settings.
2.1. Login Setup for Players with Password
No additional configuration is required for this user type. The player will click on the
lobby link (see point 1) and see the login form like the one below.
2.1. Login Setup for Players with/without Password
This method can be used for both types of players: with and without password, but it
requires implementation of the Validate ticket method on the operator’s side.
The operator is required to develop the API for establishing communication between
their system and Skywind system. The described API must support the following
method:
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
23 of 40
• Validate Ticket – the method which enables sending the received ticket to
the operator’s platform for validation.If the ticket is valid, the operator’s server
will reply with the customer’s specific account data. If not, it will send an error.
Once the API with the method described above has been established on the operator’s
side, the operator must provide Skywind with the link according to the example below:
• https://api.example.com/api/validate_ticket
Provided that the Validate Ticket method is implemented, the operator may provide a
dynamic link to the player by appending their authorization ticket to the base Lobby
link according to the example below.
Example:
https://lobby_id-lobby.skywindgroup.com/#/ticket/<PLAYER_TICKET>
https://abcd1234-lobby.skywindgroup.com/#/ticket/1234567890
Clicking this link will send the player ticket to Skywind for validation. After the
validation, the player will appear on the lobby page without having to log in again.
Skywind will verify the player with Validate Ticket method and receive the required
player information.
Directing the Player to the Specific Game Category in the Lobby
This will work only if you opt for the second login setup for players with/without
password option.
To provide the operator with the ability to open the Lobby directly at the page of the
desired game category, the new dynamic URL parameter category has been
introduced. The value of the parameter should be the hashed id of the desired game
category. The category id can be provided by your Integration Manager.
Example:
https://lobby_id-lobby.skywindgroup.com/#/ticket/1234567890?category=<categoryID>
https://abcd1234-lobby.skywindgroup.com/#/ticket/1234567890?category=6ca78adf
Directing the Player to the Lobby in the Specified Language
This will work only if you opt for the second login setup for players with/without
password option.
The Merchant can open the lobby in a specific language supported by the Lobby by using the
dynamic URL parameter language. The parameter value must be the code of the language
that is supported by the Lobby.
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
24 of 40
Example:
https://lobby_id-lobby.skywindgroup.com/#/ticket/1234567890?language=<code>
https://abcd1234-lobby.skywindgroup.com/#/ticket/1234567890?language=en
Below is the list of the supported languages and their codes:
Language Language code
English en
Simplified Chinese zh-cn
Traditional Chinese zh-tw
Japanese ja
Malay ms
Korean ko
Thai th
Vietnamese vi
Indonesian id
Romanian ro
Italian it
Greek el
Player Ticket Requirements (for the second login option)
For the Skywind System to receive the player’s information in its proper format, the
player ticket needs to meet the following requirements:
• The ticket string length shouldn’t exceed 64 characters.
• The recommended minimum inactivity time after which the ticket session
expires is 30 minutes. After the specified inactivity timeout period the player is
logged out of the Live Lobby. This value is not mandatory and can be set in
accordance with your preference. However, a very short inactivity timeout
period (1-2 minutes) is not advisable as it may negatively impact user
experience.
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
25 of 40
3. Ticket Validation
Please contact your Integration Manager to find out whether ticket
validation is required in your case.
The preferrable request and response format of API is JSON.
On receiving the player ticket from you, Skywind will send you the /validate_ticket or
/validate_terminal_ticket call.
Validate Ticket
/validate_ticket is used for opening normal games including slots and for opening
the lobby.
/validate_terminal_ticket is used only for opening the lobby.
You need to inform Skywind which method you will be using so that we can proceed
with the configuration.
Request: POST api.playerapi.com/api/validate_ticket HTTP/1.1
Request: POST api.playerapi.com/api/validate_terminal_ticket HTTP/1.1
This method sends a received ticket from Skywind to the operator’s system for
validation.If the ticket is valid, the operator’s server will reply with the player’s specific
account data. If not, it will send an error.
Below are the parameters that Skywind will send in the request:
Parameters
Name Located in Required Type Notes
ticket body yes string (64) Operator’s ticket, used for
authentication and getting session ID.
merch_id body yes string (32) This parameter refers to the operator’s
ID (set up on the Integration phase).
merch_pwd body yes string (48) This parameter refers to the operator’s
password (set up on the Integration
phase).
ip body no string (16) This parameter shows the player’s IP
address.
Example of JSON Request
{
"ticket": "aXc2!f",
"merch_id": "gcxMerch",
"merch_pwd": "merchPassword"
}
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
26 of 40
The System responds to such requests according to the following schema:
Response
Code Schema Example
200 {
error_code: number,
cust_session_id: string,
cust_id: string,
currency_code: string,
test_cust: string ("true"|
"false") or
boolean(true|false,
country: string,
game_group: string
}
{
"error_code": 0,
"cust_session_id": "custSessId",
"cust_id": 1234,
"currency_code": "GBP",
"test_cust": false,
"country": "GB",
"game_group": "Double Bets Group"
}
Notes:
- The optional game_group parameter is used to override game limits. To update
player’s game group and limits, operator needs to create game groups by following
the Skywind ‘Game Group API’ document and set a name of the game group in the
validate_ticket response in the game_group field.
- The cust_id refers to the customer’s ID and includes numbers, letters, special
characters, except a colon.
- If you use terminals and use the same endpoint for the terminal user login as for the
validate_ticket method, it’s mandatory for you to add the language parameter to your
validate_ticket response.
- By default, one cust_session_id should be used for several different games (you
should not have in place a validation that cust_session_id is assigned to a specific
game code). If your system cannot support it and you have unique tokens for each
played game, you should implement Refresh Session Token method and request
Skywind L2 Technical Integration team to enable this option for your entity.
For information on error responses, please see Error Responses.
Refresh Session Token
Request: POST api.playerapi.com/api/refresh_session HTTP/1.1
This method is used for merchant systems that require implementation of ticket
validation but do not allow a player to play different games with the same session
token. Skywind will call this method to obtain a new token (new_cust_session_id)
when a player opens a new game on the provider’s website after having played
another game.
Please contact Skywind L2 Technical Integration team to enable this option for your
entity.
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
27 of 40
Request Parameters
Name Located
in
Required Type Notes
merch_id body yes string (32) The merchant’s ID (set up on the
Integration phase).
merch_pwd body yes string (48) The merchant’s password (set up on the
Integration phase).
old_game_code body yes string (32) The code of the game the player opened
prior to opening the new game.
new_game_code body yes string (32) The code of the new game that the
player opens.
cust_id body yes string (32) The id of the customer (player).
cust_session_id body yes string (64) The id of the customer’s (player’s)
session preceding the launch of a new
game.
Example of JSON Request
Example
{
"merch_id": "EB",
"merch_pwd": "SoMEpassw",
"old_game_code": "sw_mrmnky",
"new_game_code": "sw_dc",
"cust_id": "1234",
"cust_session_id": "SoMeSeSsionId" //
old customer session id
}
The System responds to such requests according to the following schema:
Response
Code Schema Example
200 {
error_code: 0,
new_cust_session_id: string
(64)
}
{
"error_code": 0,
"new_cust_session_id": "NewSessionId"
}
For information on error responses, please see Error Responses.
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
28 of 40
Error Responses
If any issues occur while performing one of the operations, the merchant’s system
should respond with the error codes from the table below. If the System has an error
code that doesn’t equal -1 or 0, we expect to receive HTTP status 200 to parse the
error code and the message.
If the System has an error code that doesn’t equal 0 in the response, it should be
explained in the error_msg.
General Errors
Seamless
Error Code
Text Description
0 No errors
-1 Merchant internal error An unexpected error was encountered
while processing the request. It can be
caused by a validation error, for example,
if the merchant doesn’t exist. Operator
can use this error when they don’t expect
such behavior from the provider’s side.
-2 Player not found Returned when the game is launched with
the playerCode which doesn’t exist on the
merchant’s side or if the playerCode has
an invalid value, for example, is empty or
has a number value type.
-3 Game token expired Player session has expired or has invalid
value.
Notes:
- For the response with the HTTP status 200 we apply the mapping of errors depending
on the error_code in the response.
- For the response with the HTTP status which is greater than or equals 400 and is less
than 500 (400 ≤ statusCode < 500) we send MerchantInternalError HTTP: 500,
code: 506, message: ‘Merchant internal error’.
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
29 of 40
IMPLEMENT YOUR OWN LOBBY SOLUTION
Overview
Skywind can provide the operator with a set of API methods and socket messages
which will let them receive all the required information for setting up Live Games
previews on their website and launch the live games in fun and real modes.
Integration Setup Flow
1) Start by requesting terminal token (terminalToken) and the list of game codes from
your Account Manager.
2) Get playerUrl and terminalUrl by decoding the received terminalToken.
Token decoding example
const {terminalUrl, playerUrl} = jwt_decode(terminalToken);
3) To display the thumbnail images of the live games, follow the steps below:
a. Send Get List of Games call specifying the codes of the games you wish to
display.
b. In the response, you’ll receive features, tableId and provider.
c. Get the socket endpoint by sending Get Live Manager URL call.
d. Get list of online tables by sending Get List of Live Tables Statuses call.
4) To receive game information via socket, send login message
5) For online table send live-subscribe message. On sending live-subscribe
message, you’ll immediately get the message with the game information in live-
table message.
When the table status changes to “online”, you’ll receive live-table-open message
and can send live-subscribe message
6) When the dealer or the table status changes, you’ll receive live-table-dealer and
live-table-state messages respectively.
7) When the game thumbnail is no longer needed to be displayed for the player, send
live-unsubscribe to stop receiving this type of messages.
Each message contains tableId and provider which correspond to particular game
codes. See point 3)a and b.
8) live-table-dealer and live-table and live-table-open socket messages will
contain a link to the dealer image. You can request the up-to-date image with the
intervals that you define in your system.
The game can be launched in 2 modes: fun and real.
9)
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
30 of 40
a. To launch the game in fun mode, you need to get the game launch URL using
Get Fun Mode Game URL method specifying the game code.
b. Alternatively, if you have already set up integration to Skywind slot games, you
can use a regular Get Player Game URL method to get the URLs from the
server.
Both options may require Ticket Validation.
10)
a. To launch the game in real mode, you need to generate the player ticket
meeting the ticket requirements and then call Player Login method. Use the
player token received in the response to send Get Game URL.
b. Alternatively, if you have already set up integration to Skywind slot games, you
can use a regular Get Player Game URL method
Both options may require Ticket Validation.
REST API
Get Live Manager URL
Request: GET [terminalUrl]/v1/terminals/live-manager/url HTTP/1.1
Gets Live Manager URL for the entity.
Parameters
Name Located in Required Type Notes
x-terminal-
token
header yes string Terminal token provided by Skywind
Account Manager
Response
Code Schema Example
200 {
url: string,
path: string
}
{
"url": "http://someurl",
"path": "live-manager"
}
HTTP Code Error Code Description
400 903 Dynamic domain is not defined
401
11
Terminal Access Token is
missing
204 Access token error
208 Terminal token error
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
31 of 40
Get List of Games
Request: GET [terminalUrl]/v1/terminals/games HTTP/1.1
Gets list of games for the entity filtered by the specified parameters
Parameters
Name Located in Required Type Notes
x-terminal-
token
header yes string Terminal token provided by Skywind AM
code query yes string Game code
currency query no string Currency code according to ISO 4217.
The request will only fetch the limits for
the specified currency.
Response
Code Schema Example
200 [
{
features: {
live: {
tableId: string,
provider: string
}
}
]
[
{
"features": {
"live": {
"tableId": "some_tableId",
"provider": "some_provider"
}
}
]
HTTP Code Error Code Description
401
11
Terminal Access Token is
missing
208 Terminal token error
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
32 of 40
Get Fun Mode Game URL
Request: GET [terminalUrl]/v1/terminals/fun/games/{gameCode} HTTP/1.1
Returns an URL which allows any player to play the specified game in fun mode.
Parameters
Name Located in Required Type Notes
x-terminal-
token
header yes string Terminal token provided by Skywind
Account Manager
language query no string Language code according to ISO 639-1
Response
Code Schema Example
200 {
url: string,
token: string
}
{
"url": "http://some-url.com",
"token":
"oJqXX2tkAADKf7n3MpcM9kVbVk53n"
}
HTTP Code Error Code Description
400
62
One of the parents is
suspended
101 Not a brand
401
11
Terminal Access Token is
missing
208 Terminal token error
404
51 Could not find entity
300 Game not found
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
33 of 40
Player Login
Request: POST [terminalUrl]/v1/terminals/players/external/login HTTP/1.1
Logs in the specified player (defined by player ticket).
Parameters
Name Located in Required Type Notes
x-terminal-
token
header yes string Terminal token provided by Skywind
Account Manager
ticket body yes string Player’s ticket
Response
Code Schema Example
200 {
url: string,
token: string
}
{
"url": "http://live_game.com/",
"token":
"cM9kVbVk53neuIYI62dEkYdYu"
}
HTTP Code Error Code Description
400
40 Validation error
62
One of the parents is
suspended
712 Player is suspended
401
11
Terminal Access Token is
missing
208 Terminal token error
404
51 Could not find entity
502 Merchant not found
500
505
Merchant should have url and
password in parameters
505 Merchant internal error
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
34 of 40
Get Game URL
Request: GET [playerUrl]/v1/games/{gameCode} HTTP/1.1
Returns an URL which allows the specified player to play the specified game in real
mode.
Parameters
Name Located in Required Type Notes
x-player-
token
header yes string Player token
language query no string Language code according to ISO 639-1
Response
Code Schema Example
200 {
url: string,
token: string
}
{
"url": "http://live_game.com/",
"token":
"cM9kVbVk53neuIYI62dEkYdYu"
}
HTTP Code Error Code Description
400
40 Validation error
62
One of the parents is
suspended
306 Game is suspended
703 IP address cannot be resolved
708
It is forbidden to start game
from unauthorized site
712 Player is suspended
736
Entity is under maintenance,
but maintenance url is not
defined
751 Referrer is missing
902 Static domain is not defined
903 Dynamic domain is not defined
401 11 Player Token is missing
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
35 of 40
HTTP Code Error Code Description
208 Player Token error
404
51 Could not find entity
502 Merchant not found
500
505
Merchant should have url and
password in parameters
505 Merchant internal error
Get List of Game Categories
Request: GET [playerUrl]/v1/gamecategories HTTP/1.1
Gets list of game categories for the entity filtered by the specified parameters.
Parameters
Name Located in Required Type Notes
x-player-token header yes string Player token
includeGames query no boolean Include games available for entity in
game category
currency query no string Currency code according to ISO 4217.
The request will only fetch the limits
for the specified currency.
gameGroup query no string Game group of player
Response
Code Schema Example
200 [
{
id: string,
title: string,
games: [
{
code: string,
limits: {
[currency_code]: {}
},
features: {
live: {
tableId: string,
provider: string
}
}
}
[
{
"id": "some_category_code",
"title": "some_category",
"games": [
{
"code": "some_game_code",
"limits": {
[currency_code]: {}
},
"features": {
"live": {
"tableId":
"some_tableId",
"provider":
"some_provider"
}
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
36 of 40
]
}
]
}
}
]
}
]
HTTP Code Error Code Description
400 40 Validation error
401
11 Player Token is missing
208 Player Token error
404
51 Could not find entity
502 Merchant not found
Get List of Live Tables Statuses
Request: GET [liveManagerURL]/v2/tables HTTP/1.1
Where liveManagerURL = ${url}/${path}
Gets list of online live tables for the entity.
Parameters
Name Located in Required Type Notes
x-terminal-
token
header yes string Terminal token provided by Skywind
AM
Response
Code Schema Example
200 [
{
id: string,
provider: string,
type: string,
dealer: {
name: string,
picture: string
},
language: string (2)
}
]
[
{
"id": "some_table_id”,
"provider": "some_provider",
"type": "some_game_type",
"dealer": {
"name": "some_dealer_name",
"picture": "some_url"
},
"language": "en"
}
]
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
37 of 40
HTTP Code Error Code Description
401
11
Terminal Access Token is
missing
208 Terminal token error
Socket Message Definitions
Player Login
Player Login Event example:
{
"event": "login",
"payload": {
"token": "cM9kVbVk53neuIYI62dEkYdYu"
}
}
Field Description
token terminalTokenprovided by the Account
Manager
Subscribe to Game Events
Subscribe to Game Event example:
{
"event": "live-subscribe",
"payload": {
"feature": "GameFeature",
"tableId": "some_table_id",
"provider": "some_provider"
}
}
Field Description
feature Parameters received in Get List of Games
tableId
provider
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
38 of 40
Unsubscribe from Game Events
Subscribe to Game Event example:
{
"event": "live-unsubscribe",
"payload": {
"tableId": "some_table_id",
"provider": "some_provider"
}
}
Live Table Open
Live Table Open Event example:
{
"event": "live-table-open",
"payload": {
"provider": "some_provider",
"tableId": "some_table_id",
"tableType": 2,
"dealer": {
"name": "some_name",
"picture": "some_picture_url"
},
"language": "en",
"status": "online" | "offline"
}
}
Live Table Info
Live Table Info Event example:
{
"event": "live-table",
payload: {
"provider": "some_provider",
"tableId": "some_table_id",
"tableType": 2,
"dealer": {
"name": "some_name",
"picture": "some_picture_url"
},
"language": "en",
"status": "online" | "offline",
"seats": {
"seat": "P1" | "P2" | "P3" | "P4" | "P5" | "P6" | "P7" | "D",
"isActive": true,
"playerCode": "some_player_code",
"playerHash": "hash"
}[]
}
}
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
39 of 40
Live Table Dealer Changed
Live Table Dealer Changed Event example:
{
"event": "live-table-dealer",
"payload": {
"provider": "some_provider",
"tableId": "some_table_id",
"tableType": 2,
"dealer": {
"name": "some_name",
"picture": "some_picture_url"
},
"language": "en"
}
}
Live Table Status Changed
Live Table Status Changed Event example:
{
"event": "live-table-state",
"payload": {
"provider": "some_provider",
"tableId": "some_table_id",
"tableType": 2,
"status": "online" | "offline"
}
}
Live Table Blackjack Seat Selected
Live Table Blackjack Seat Selected Event example:
{
"event": "live-table-seat",
"payload": {
"provider": "some_provider",
"tableId": "some",
"tableType": 2,
"seat": "P1" | "P2" | "P3" | "P4" | "P5" | "P6" | "P7" | null,
"previousSeat": "P1" | "P2" | "P3" | "P4" | "P5" | "P6" | "P7",
"playerCode": "some_player_code",
"playerHash": "hash"
}
}
Copyright © 2022 Skywind Holdings Ltd.
All Rights Reserved
40 of 40
DOCUMENT HISTORY
Version Date Author Change Description
1.0 07.05.2021 Viktoria Buhtarevich Initial Document Created
1.1 09.06.2021 Viktoria Buhtarevich Added ‘Direct launch: Advanced
Live Games Integration’ chapter.
1.2 19.10.2021 Viktoria Buhtarevich Added method Refresh Session
Token for Wallet and Seamless
integration and for Direct
Launch.
Added a note about the
possibility to implement Refresh
Session Token method by the
operators that require unique
tokens for different games to
Validate Ticket method for
Wallet and Seamless integration
and for Direct Launch.
1.4 18.02.2022 Vladimir Minakov Added Get List of Game
Categories and Get List of Live
Tables Statuses methods in
REST API.
Added Live Table Open and Live
Table Blackjack Seat Selected
Event examples; updated Live
Table Info Event example in
Socket Message Definitions.
1.5 12.07.2022 Yevheniia Liashenko Added a note about
liveManagerURL in Get List of
Live Tables Statuses.

More Related Content

Similar to Skywind Live Lobby Integration 1.5.pdf

Red hat enterprise_linux-5-installation_guide-en-us
Red hat enterprise_linux-5-installation_guide-en-usRed hat enterprise_linux-5-installation_guide-en-us
Red hat enterprise_linux-5-installation_guide-en-usahmady
 
01 28008-0004-20050204 forti-gate-200_administration guide
01 28008-0004-20050204 forti-gate-200_administration guide01 28008-0004-20050204 forti-gate-200_administration guide
01 28008-0004-20050204 forti-gate-200_administration guidesarpro
 
ARQUIVO ROUBADO
ARQUIVO ROUBADOARQUIVO ROUBADO
ARQUIVO ROUBADOD813061988
 
Red hat enterprise_linux-7-beta-installation_guide-en-us
Red hat enterprise_linux-7-beta-installation_guide-en-usRed hat enterprise_linux-7-beta-installation_guide-en-us
Red hat enterprise_linux-7-beta-installation_guide-en-usmuhammad adeel
 
Plesk 8.0 for Linux/UNIX
Plesk 8.0 for Linux/UNIXPlesk 8.0 for Linux/UNIX
Plesk 8.0 for Linux/UNIXwebhostingguy
 
Plesk 8.0 for Linux/UNIX
Plesk 8.0 for Linux/UNIXPlesk 8.0 for Linux/UNIX
Plesk 8.0 for Linux/UNIXwebhostingguy
 
Zenoss administration
Zenoss administrationZenoss administration
Zenoss administrationlibros007
 
Getting Started Guide
Getting Started GuideGetting Started Guide
Getting Started Guidewebhostingguy
 
Yahoo Web Analytics API Reference Guide
Yahoo Web Analytics API Reference GuideYahoo Web Analytics API Reference Guide
Yahoo Web Analytics API Reference GuideAndrew Talcott
 
Inter-Tel Web Conferencing and Remote Support User Guide
Inter-Tel Web Conferencing and Remote Support User GuideInter-Tel Web Conferencing and Remote Support User Guide
Inter-Tel Web Conferencing and Remote Support User GuideVideoguy
 
Ibm virtual disk system quickstart guide sg247794
Ibm virtual disk system quickstart guide sg247794Ibm virtual disk system quickstart guide sg247794
Ibm virtual disk system quickstart guide sg247794Banking at Ho Chi Minh city
 
Ibm virtual disk system quickstart guide sg247794
Ibm virtual disk system quickstart guide sg247794Ibm virtual disk system quickstart guide sg247794
Ibm virtual disk system quickstart guide sg247794Banking at Ho Chi Minh city
 
Protel 99 se_traning_manual_pcb_design
Protel 99 se_traning_manual_pcb_designProtel 99 se_traning_manual_pcb_design
Protel 99 se_traning_manual_pcb_designhoat6061
 
Protel 99 se_traning_manual_pcb_design
Protel 99 se_traning_manual_pcb_designProtel 99 se_traning_manual_pcb_design
Protel 99 se_traning_manual_pcb_designemmansraj
 

Similar to Skywind Live Lobby Integration 1.5.pdf (20)

Solidworkls 2020
Solidworkls 2020Solidworkls 2020
Solidworkls 2020
 
Red hat enterprise_linux-5-installation_guide-en-us
Red hat enterprise_linux-5-installation_guide-en-usRed hat enterprise_linux-5-installation_guide-en-us
Red hat enterprise_linux-5-installation_guide-en-us
 
Novell login documentation and troubleshooting
Novell login documentation and troubleshootingNovell login documentation and troubleshooting
Novell login documentation and troubleshooting
 
01 28008-0004-20050204 forti-gate-200_administration guide
01 28008-0004-20050204 forti-gate-200_administration guide01 28008-0004-20050204 forti-gate-200_administration guide
01 28008-0004-20050204 forti-gate-200_administration guide
 
ARQUIVO ROUBADO
ARQUIVO ROUBADOARQUIVO ROUBADO
ARQUIVO ROUBADO
 
Ctfile
CtfileCtfile
Ctfile
 
Red hat enterprise_linux-7-beta-installation_guide-en-us
Red hat enterprise_linux-7-beta-installation_guide-en-usRed hat enterprise_linux-7-beta-installation_guide-en-us
Red hat enterprise_linux-7-beta-installation_guide-en-us
 
Plesk 8.0 for Linux/UNIX
Plesk 8.0 for Linux/UNIXPlesk 8.0 for Linux/UNIX
Plesk 8.0 for Linux/UNIX
 
Plesk 8.0 for Linux/UNIX
Plesk 8.0 for Linux/UNIXPlesk 8.0 for Linux/UNIX
Plesk 8.0 for Linux/UNIX
 
Zenoss administration
Zenoss administrationZenoss administration
Zenoss administration
 
Getting Started Guide
Getting Started GuideGetting Started Guide
Getting Started Guide
 
Yahoo Web Analytics API Reference Guide
Yahoo Web Analytics API Reference GuideYahoo Web Analytics API Reference Guide
Yahoo Web Analytics API Reference Guide
 
Inter-Tel Web Conferencing and Remote Support User Guide
Inter-Tel Web Conferencing and Remote Support User GuideInter-Tel Web Conferencing and Remote Support User Guide
Inter-Tel Web Conferencing and Remote Support User Guide
 
Ibm virtual disk system quickstart guide sg247794
Ibm virtual disk system quickstart guide sg247794Ibm virtual disk system quickstart guide sg247794
Ibm virtual disk system quickstart guide sg247794
 
Ibm virtual disk system quickstart guide sg247794
Ibm virtual disk system quickstart guide sg247794Ibm virtual disk system quickstart guide sg247794
Ibm virtual disk system quickstart guide sg247794
 
Vrs User Guide
Vrs User GuideVrs User Guide
Vrs User Guide
 
Tortoise svn 1.7-en
Tortoise svn 1.7-enTortoise svn 1.7-en
Tortoise svn 1.7-en
 
Crystal ball installation guide
Crystal ball installation guideCrystal ball installation guide
Crystal ball installation guide
 
Protel 99 se_traning_manual_pcb_design
Protel 99 se_traning_manual_pcb_designProtel 99 se_traning_manual_pcb_design
Protel 99 se_traning_manual_pcb_design
 
Protel 99 se_traning_manual_pcb_design
Protel 99 se_traning_manual_pcb_designProtel 99 se_traning_manual_pcb_design
Protel 99 se_traning_manual_pcb_design
 

Recently uploaded

Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdfKamal Acharya
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdfKamal Acharya
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICSUNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICSrknatarajan
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLManishPatel169454
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...roncy bisnoi
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptDineshKumar4165
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...SUHANI PANDEY
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdfankushspencer015
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756dollysharma2066
 

Recently uploaded (20)

Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICSUNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
 
NFPA 5000 2024 standard .
NFPA 5000 2024 standard                                  .NFPA 5000 2024 standard                                  .
NFPA 5000 2024 standard .
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 

Skywind Live Lobby Integration 1.5.pdf

  • 1. Skywind Live Games Integration guide V.1.5 July 2022 The information presented herein is confidential information of Skywind Holdings Ltd. It is also protected subject matter of copyrights owned by Skywind Holdings Ltd. and of agreements between Skywind Holdings Ltd. and its licensees and other parties. Copying, transmission and disclosure of such information can only be done within the strict scope of a governing Skywind Holdings Ltd. agreement. In the absence of any specific agreement to the contrary, reverse engineering, decompilation and disassembly are prohibited in any event as to any software content. While all efforts have been made to ensure that the content of this document is accurate at the time of publication, the data upon which this document is based is subject to future change. Updated versions of this document will be released when necessary, resources permitting.
  • 2. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 2 of 40 PREFACE Purpose To describe how to set up Skywind Live Games on the Operator’s website Scope The document describes 3 options to set up Skywind Live Games along with the relevant API methods Related Documents Document Version Description Skywind Seamless Integration Guide 4.88 Describes the basic API commands and gives instructions for Seamless Integration. Skywind Operator API 4.88 Provides an overview of Skywind’s Falcon Integration System API and gives instructions on third-party integration. Intended Audience Skywind Licensees
  • 3. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 3 of 40 Table of Contents Introduction...............................................................................................................................5 1. Direct launch........................................................................................................................5 2. 1. Skywind Lobby solution (Seamless Integration) .................................................................5 2.2. Skywind Lobby Solution (iWallet Integration) .....................................................................5 3. Implement Your Own Lobby Solution....................................................................................5 Direct Launch.............................................................................................................................6 Get Player Game URL ...............................................................................................................6 Ticket Validation ......................................................................................................................8 Validate Ticket......................................................................................................................8 Refresh Session Token ........................................................................................................ 10 Error Responses ................................................................................................................. 11 Skywind Lobby Solution (Seamless Integration)....................................................................13 Overview............................................................................................................................... 13 Flow ...................................................................................................................................... 14 1. Lobby Link.......................................................................................................................... 14 2. Login Page Setup................................................................................................................ 14 Directing the Player to the Specific Game Category in the Lobby ........................................... 15 Directing the Player to the Lobby in the Specified Language .................................................. 15 Player Ticket Requirements (for both login options) ............................................................. 16 3. Ticket Validation ................................................................................................................ 16 Validate Ticket.................................................................................................................... 16 Refresh Session Token ........................................................................................................ 18 Error Responses ................................................................................................................. 19 Skywind Lobby Solution (iWallet Integration).......................................................................21 Overview............................................................................................................................... 21 Flow ...................................................................................................................................... 22 1. Lobby Link.......................................................................................................................... 22 2.1. Login Setup for Players with Password ............................................................................. 22 2.1. Login Setup for Players with/without Password ............................................................... 22 Directing the Player to the Specific Game Category in the Lobby ........................................... 23 Directing the Player to the Lobby in the Specified Language .................................................. 23 Player Ticket Requirements (for the second login option)...................................................... 24 3. Ticket Validation ................................................................................................................ 25 Validate Ticket.................................................................................................................... 25 Refresh Session Token ........................................................................................................ 26 Error Responses ................................................................................................................. 28 Implement Your Own Lobby Solution....................................................................................29 Overview............................................................................................................................... 29 Integration Setup Flow........................................................................................................... 29 REST API ................................................................................................................................ 30 Get Live Manager URL......................................................................................................... 30 Get List of Games ............................................................................................................... 31 Get Fun Mode Game URL .................................................................................................... 32 Player Login........................................................................................................................ 33 Get Game URL.................................................................................................................... 34 Get List of Game Categories ................................................................................................ 35 Get List of Live Tables Statuses ............................................................................................ 36 Socket Message Definitions.................................................................................................... 37
  • 4. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 4 of 40 Player Login........................................................................................................................ 37 Subscribe to Game Events................................................................................................... 37 Unsubscribe from Game Events........................................................................................... 38 Live Table Open.................................................................................................................. 38 Live Table Info .................................................................................................................... 38 Live Table Dealer Changed .................................................................................................. 39 Live Table Status Changed................................................................................................... 39 Live Table Blackjack Seat Selected ....................................................................................... 39 Document History ...................................................................................................................40
  • 5. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 5 of 40 INTRODUCTION This document is aimed at the operators who have already completed Integration with Skywind and want to move on to Live Lobby configuration. There are 3 options how you can proceed. Please read about each of them, decide on the one that is preferable for you and proceed to the dedicated chapter. 1. Direct launch This option requires zero development on top of general integration from your side. The idea is that clicking on the static game icon or a link on your website calls the Get Player Game URL method, same as for Skywind slot games. Limitations: you can’t benefit from the add-ons developed specifically for live games such as dynamic table preview icons, etc. 2. 1. Skywind Lobby solution (Seamless Integration) This option implies that you use the Live Lobby theme provided by Skywind. It will have filters specific to Live games (Commission/No-Commission for Live Baccarat games) and will display game limits on the icons. Also, this lobby solution offers display customization options. 2.2. Skywind Lobby Solution (iWallet Integration) Same as above, but for the operators who implemented iWallet Integration. 3. Implement Your Own Lobby Solution This option is preferable for you if you have the design and developer resources to build your own lobby. We from our side can provide the API which will let you get information such as the current dealer’s name, table status (online/offline), etc. This requires more time and development effort for implementation from the operator’s side.
  • 6. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 6 of 40 DIRECT LAUNCH This option implies that the player accesses live games the same ways as regular slot or arcade games. Whenever the player clicks on the live game icon in the lobby, the Get Player Game URL method is called. Get Player Game URL Request: GET api.operatorapi.com/players/{playerCode}/games/{gameCode} HTTP/1.1 The user can get a particular game URL for a specific player. To do this, the game code, the player code (to get the URL for a particular player) and the play mode (‘real’ by default) should be entered according to the schema below. This method is used when the server-to-server communication is enabled between Skywind and the operator (the integration to Skywind slot games is set up) and requires IP whitelisting. Parameters to enter Name Located In Required Schema Notes cashier query yes/no string The site of the cashier playerCode path yes string (32) Player’s code of a player that is fetched. gameCode path yes string (32) Game code of a game that is fetched. ticket query no string(64) This is an external ticket with customer data used to recognise us a customer in the provider’s system. For registered customers, tickets can be provided either for real or for fun play mode. This parameter provides a quick means of switching to real mode via the mode button in a game/lobby without redirecting to merch_login_url. The ticket will be validated by the API command: validate ticket. type query no string(32) Type of the game. playmode query no string| “fun” or “real” A play mode used for a ‘real’ or ‘fun’ game.
  • 7. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 7 of 40 If the play mode is not specified, the customer will be asked to choose a play mode at the start of the game. language query no string(2) The language used by a customer. If no language is defined, then a language will be selected based on customer data. If a customer is anonymous, the language must be defined. lobby query yes/no string The site of the lobby. ip query no string Internet IP Address (Ipv4) The System responds to the parameters entered according to the following schema: Response Code Schema Example 200 { url: string (1024) – game URL for specific player, token: string (512) player token to access game } { "url": "http://super_live_roulette.com /", "token": "oJqXX2tkAADKn3MpcM9kVbVk53neuI YI62dEkYdYubl+9lyXRECjQww3VsmEP fMoUkO6uqB56WDPhPGdS3aGnQ" } Note: The returned url is the URL that should be used for launching the game. The returned token value can be ignored by the operator. If any issues occur while retrieving the game URL, the System responds with the following error codes: HTTP Code Error Code Description 400 40 Validation error 62 One of the parents is suspended 101 Not a brand 306 Game is suspended 703 IP address cannot be resolved 708 It is forbidden to start game from unauthorized site 712 Player is suspended 736 Entity is under maintenance, but maintenance url is not defined
  • 8. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 8 of 40 HTTP Code Error Code Description 751 Referrer is missing 401 10 Access Token is missing 204 Access token error 205 Access token has expired 792 Access Session is expired 403 206 User doesn’t have permission to execute the operation 701 Country {country} of IP:{ip} is restricted 404 51 Could not find entity 102 Player is not found 213 Game is not available for entity| 240 Game is not found 502 Merchant not found 500 506 Merchant internal error Ticket Validation Please contact your Integration Manager to find out whether ticket validation is required in your case. The preferrable request and response format of API is JSON. On receiving the player ticket from you, Skywind will send you the /validate_ticket or /validate_terminal_ticket call. Validate Ticket /validate_ticket is used for opening normal games including slots and for opening the lobby. /validate_terminal_ticket is used only for opening the lobby. You need to inform Skywind which method you will be using so that we can proceed with the configuration. Request: POST api.playerapi.com/api/validate_ticket HTTP/1.1 Request: POST api.playerapi.com/api/validate_terminal_ticket HTTP/1.1 This method sends a received ticket from Skywind to the operator’s system for validation.If the ticket is valid, the operator’s server will reply with the player’s specific account data. If not, it will send an error.
  • 9. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 9 of 40 Below are the parameters that Skywind will send in the request: Parameters Name Located in Required Type Notes ticket body yes string (64) Operator’s ticket, used for authentication and getting session ID. merch_id body yes string (32) This parameter refers to the operator’s ID (set up on the Integration phase). merch_pwd body yes string (48) This parameter refers to the operator’s password (set up on the Integration phase). ip body no string (16) This parameter shows the player’s IP address. Example of JSON Request { "ticket": "aXc2!f", "merch_id": "gcxMerch", "merch_pwd": "merchPassword" } The System responds to such requests according to the following schema: Response Code Schema Example 200 { error_code: number, cust_session_id: string, cust_id: string, currency_code: string, test_cust: string ("true"| "false") or boolean(true|false, country: string, game_group: string } { "error_code": 0, "cust_session_id": "custSessId", "cust_id": 1234, "currency_code": "GBP", "test_cust": false, "country": "GB", "game_group": "Double Bets Group" } Notes: - The optional game_group parameter is used to override game limits. To update player’s game group and limits, operator needs to create game groups by following the Skywind ‘Game Group API’ document and set a name of the game group in the validate_ticket response in the game_group field. - The cust_id refers to the customer’s ID and includes numbers, letters, special characters, except a colon. - If you use terminals and use the same endpoint for the terminal user login as for the validate_ticket method, it’s mandatory for you to add the language parameter to your validate_ticket response.
  • 10. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 10 of 40 - By default, one cust_session_id should be used for several different games (you should not have in place a validation that cust_session_id is assigned to a specific game code). If your system cannot support it and you have unique tokens for each played game, you should implement Refresh Session Token method and request Skywind L2 Technical Integration team to enable this option for your entity. For information on error responses, please see Error Responses. Refresh Session Token Request: POST api.playerapi.com/api/refresh_session HTTP/1.1 This method is used for merchant systems that require implementation of ticket validation but do not allow a player to play different games with the same session token. Skywind will call this method to obtain a new token (new_cust_session_id) when a player opens a new game on the provider’s website after having played another game. Please contact Skywind L2 Technical Integration team to enable this option for your entity. Request Parameters Name Located in Required Type Notes merch_id body yes string (32) The merchant’s ID (set up on the Integration phase). merch_pwd body yes string (48) The merchant’s password (set up on the Integration phase). old_game_code body yes string (32) The code of the game the player opened prior to opening the new game. new_game_code body yes string (32) The code of the new game that the player opens. cust_id body yes string (32) The id of the customer (player). cust_session_id body yes string (64) The id of the customer’s (player’s) session preceding the launch of a new game. Example of JSON Request Example { "merch_id": "EB", "merch_pwd": "SoMEpassw", "old_game_code": "sw_mrmnky",
  • 11. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 11 of 40 "new_game_code": "sw_dc", "cust_id": "1234", "cust_session_id": "SoMeSeSsionId" // old customer session id } The System responds to such requests according to the following schema: Response Code Schema Example 200 { error_code: 0, new_cust_session_id: string (64) } { "error_code": 0, "new_cust_session_id": "NewSessionId" } For information on error responses, please see Error Responses. Error Responses If any issues occur while performing one of the operations, the merchant’s system should respond with the error codes from the table below. If the System has an error code that doesn’t equal -1 or 0, we expect to receive HTTP status 200 to parse the error code and the message. If the System has an error code that doesn’t equal 0 in the response, it should be explained in the error_msg. General Errors Seamless Error Code Text Description 0 No errors -1 Merchant internal error An unexpected error was encountered while processing the request. It can be caused by a validation error, for example, if the merchant doesn’t exist. Operator can use this error when they don’t expect such behavior from the provider’s side. -2 Player not found Returned when the game is launched with the playerCode which doesn’t exist on the merchant’s side or if the playerCode has an invalid value, for example, is empty or has a number value type. -3 Game token expired Player session has expired or has invalid value.
  • 12. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 12 of 40 Notes: - For the response with the HTTP status 200 we apply the mapping of errors depending on the error_code in the response. - For the response with the HTTP status which is greater than or equals 400 and is less than 500 (400 ≤ statusCode < 500) we send MerchantInternalError HTTP: 500, code: 506, message: ‘Merchant internal error’.
  • 13. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 13 of 40 SKYWIND LOBBY SOLUTION (SEAMLESS INTEGRATION) Overview This option implies that you use the Live Lobby theme provided by Skywind. The tables in this lobby will be grouped by games. There will be an option to access favorite tables in My Lobby tab. Also, the table icons will display the minimum bet required to play and the table limits if the player clicks on the minimum bet size. It is possible to change the logo, the color scheme and other UI parameters. To do this, please contact your Account Manager.
  • 14. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 14 of 40 Flow 1. Lobby Link Skywind will provide the Operator with a static link to Skywind Live Lobby with standard display settings. 2. Login Page Setup There are 2 options to set up the login process: the first one will require the player to log in when accessing Live Lobby, the second one doesn’t. First option: The operator is required to set up a login page on their website that will authorize the player in the operator’s system. The operator needs to insert the following code on their login page. The operator is supposed to replace <PLAYER_TICKET> with the player’s authorization ticket number (please see the operator ticket requirements) and keep the type value unchanged. window.top.postMessage( { type: "tokenInfo", ticket: "<PLAYER_TICKET>" }, "*"); Once the login page is configured, the link to this page will be placed into lobby settings in Skywind System. This way when the player clicks the link to the Live Lobby on the operator’s website, they will see the previously configured login page. The login page will receive the player ticket from the operator’s website and execute the postMessage. The lobby will get the postMessage and send the player ticket to Skywind. Skywind will verify the player with Validate Ticket method and receive the required player information. Second option: For better user experience, instead of placing a static link on their website, the operator may provide a dynamic link to the player by appending their authorization ticket to the base Lobby link according to the example below: Example: https://lobby_id-lobby.skywindgroup.com/#/ticket/<PLAYER_TICKET> https://abcd1234-lobby.skywindgroup.com/#/ticket/1234567890 Clicking this link will send the player ticket to Skywind for validation. After the validation, the player will appear on the lobby page without having to log in again.
  • 15. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 15 of 40 Skywind will verify the player with Validate Ticket method and receive the required player information. Directing the Player to the Specific Game Category in the Lobby This will work only if you opt for the second login setup option. To provide the operator with the ability to open the Lobby directly at the page of the desired game category, the new dynamic URL parameter category has been introduced. The value of the parameter should be the hashed id of the desired game category. The category id can be provided by your Integration Manager. Example: https://lobby_id-lobby.skywindgroup.com/#/ticket/1234567890?category=<categoryID> https://abcd1234-lobby.skywindgroup.com/#/ticket/1234567890?category=6ca78adf Directing the Player to the Lobby in the Specified Language This will work only if you opt for the second login setup option. The Merchant can open the lobby in a specific language supported by the Lobby by using the dynamic URL parameter language. The parameter value must be the code of the language that is supported by the Lobby. Example: https://lobby_id-lobby.skywindgroup.com/#/ticket/1234567890?language=<code> https://abcd1234-lobby.skywindgroup.com/#/ticket/1234567890?language=en Below is the list of the supported languages and their codes: Language Language code English en Simplified Chinese zh-cn Traditional Chinese zh-tw Japanese ja Malay ms Korean ko Thai th Vietnamese vi Indonesian id Romanian ro Italian it Greek el
  • 16. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 16 of 40 Player Ticket Requirements (for both login options) For the Skywind System to receive the player’s information in its proper format, the player ticket needs to meet the following requirements: • The ticket string length shouldn’t exceed 64 characters. • The recommended minimum inactivity time after which the ticket session expires is 30 minutes. After the specified inactivity timeout period the player is logged out of the Live Lobby. This value is not mandatory and can be set in accordance with your preference. However, a very short inactivity timeout period (1-2 minutes) is not advisable as it may negatively impact user experience. 3. Ticket Validation On receiving the player ticket from you, Skywind will send you the /validate_ticket or /validate_terminal_ticket call. Validate Ticket /validate_ticket is used for opening normal games including slots and for opening the lobby. /validate_terminal_ticket is used only for opening the lobby. You need to inform Skywind which method you will be using so that we can proceed with the configuration. Request: POST api.playerapi.com/api/validate_ticket HTTP/1.1 Request: POST api.playerapi.com/api/validate_terminal_ticket HTTP/1.1 These methods send a received ticket from Skywind to the operator’s system for validation.If the ticket is valid, the operator’s server will reply with the player’s specific account data. If not, it will send an error. Below are the parameters that Skywind will send in the request: Parameters Name Located in Required Type Notes ticket body yes string (64) Operator’s ticket, used for authentication and getting session ID. merch_id body yes string (32) This parameter refers to the operator’s ID (set up on the Integration phase).
  • 17. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 17 of 40 Name Located in Required Type Notes merch_pwd body yes string (48) This parameter refers to the operator’s password (set up on the Integration phase). ip body no string (16) This parameter shows the player’s IP address. Example of JSON Request Example { "ticket": "aXc2!f", "merch_id": "gcxMerch", "merch_pwd": "merchPassword" } The System responds to such requests according to the following schema: Response Code Schema Example 200 { error_code: number, cust_session_id: string, cust_id: string, currency_code: string, test_cust: string ("true"| "false") or boolean(true|false, country: string, game_group: string } { "error_code": 0, "cust_session_id": "custSessId", "cust_id": 1234, "currency_code": "GBP", "test_cust": false, "country": "GB", "game_group": "Double Bets Group" } Notes: - The optional game_group parameter is used to override game limits. To update player’s game group and limits, operator needs to create game groups by following the Skywind ‘Game Group API’ document and set a name of the game group in the validate_ticket response in the game_group field. - The cust_id refers to the customer’s (player’s) ID and includes numbers, letters, special characters, except a colon. - If you use terminals and use the same endpoint for the terminal user login as for the validate_ticket method, it’s mandatory for you to add the language parameter to your validate_ticket response. - By default, one cust_session_id should be used for several different games (you should not have in place a validation that cust_session_id is assigned to a specific game code). If your system cannot support it and you have unique tokens for each played game, you should implement Refresh Session Token method and request Skywind L2 Technical Integration team to enable this option for your entity.
  • 18. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 18 of 40 Please refer to Error Responses for the information about the errors. Refresh Session Token Request: POST api.playerapi.com/api/refresh_session HTTP/1.1 This method is used for merchant systems that require implementation of ticket validation but do not allow a player to play different games with the same session token. Skywind will call this method to obtain a new token (new_cust_session_id) when a player opens a new game on the provider’s website after having played another game. Please contact Skywind L2 Technical Integration team to enable this option for your entity. Request Parameters Name Located in Required Type Notes merch_id body yes string (32) The merchant’s ID (set up on the Integration phase). merch_pwd body yes string (48) The merchant’s password (set up on the Integration phase). old_game_code body yes string (32) The code of the game the player opened prior to opening the new game. new_game_code body yes string (32) The code of the new game that the player opens. cust_id body yes string (32) The id of the customer (player). cust_session_id body yes string (64) The id of the customer’s (player’s) session preceding the launch of a new game. Example of JSON Request Example { "merch_id": "EB", "merch_pwd": "SoMEpassw", "old_game_code": "sw_mrmnky", "new_game_code": "sw_dc", "cust_id": "1234", "cust_session_id": "SoMeSeSsionId" // old customer session id }
  • 19. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 19 of 40 The System responds to such requests according to the following schema: Response Code Schema Example 200 { error_code: 0, new_cust_session_id: string (64) } { "error_code": 0, "new_cust_session_id": "NewSessionId" } Please refer to Error Responses below for the information about the errors. Error Responses If any issues occur while performing one of the operations, the merchant’s system should respond with the error codes from the table below. If the System has an error code that doesn’t equal -1 or 0, we expect to receive HTTP status 200 to parse the error code and the message. If the System has an error code that doesn’t equal 0 in the response, it should be explained in the error_msg. General Errors Seamless Error Code Text Description 0 No errors -1 Merchant internal error An unexpected error was encountered while processing the request. It can be caused by a validation error, for example, if the merchant doesn’t exist. Operator can use this error when they don’t expect such behavior from the provider’s side. -2 Player not found Returned when the game is launched with the playerCode which doesn’t exist on the merchant’s side or if the playerCode has an invalid value, for example, is empty or has a number value type. -3 Game token expired Player session has expired or has invalid value.
  • 20. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 20 of 40 Notes: - For the response with the HTTP status 200 we apply the mapping of errors depending on the error_code in the response. - For the response with the HTTP status which is greater than or equals 400 and is less than 500 (400 ≤ statusCode < 500) we send MerchantInternalError HTTP: 500, code: 506, message: ‘Merchant internal error’.
  • 21. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 21 of 40 SKYWIND LOBBY SOLUTION (IWALLET INTEGRATION) Overview This option implies that you use the Live Lobby theme provided by Skywind. The tables in this lobby will be grouped by games. There will be an option to access favorite tables in My Lobby tab. Also, the table icons will display the minimum bet required to play and the table limits if the player clicks on the minimum bet size. It is possible to change the logo, the color scheme and other UI parameters. To do this, please contact your Account Manager.
  • 22. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 22 of 40 Flow 1. Lobby Link Skywind will provide the Operator with a static link to Skywind Live Lobby with standard display settings. 2.1. Login Setup for Players with Password No additional configuration is required for this user type. The player will click on the lobby link (see point 1) and see the login form like the one below. 2.1. Login Setup for Players with/without Password This method can be used for both types of players: with and without password, but it requires implementation of the Validate ticket method on the operator’s side. The operator is required to develop the API for establishing communication between their system and Skywind system. The described API must support the following method:
  • 23. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 23 of 40 • Validate Ticket – the method which enables sending the received ticket to the operator’s platform for validation.If the ticket is valid, the operator’s server will reply with the customer’s specific account data. If not, it will send an error. Once the API with the method described above has been established on the operator’s side, the operator must provide Skywind with the link according to the example below: • https://api.example.com/api/validate_ticket Provided that the Validate Ticket method is implemented, the operator may provide a dynamic link to the player by appending their authorization ticket to the base Lobby link according to the example below. Example: https://lobby_id-lobby.skywindgroup.com/#/ticket/<PLAYER_TICKET> https://abcd1234-lobby.skywindgroup.com/#/ticket/1234567890 Clicking this link will send the player ticket to Skywind for validation. After the validation, the player will appear on the lobby page without having to log in again. Skywind will verify the player with Validate Ticket method and receive the required player information. Directing the Player to the Specific Game Category in the Lobby This will work only if you opt for the second login setup for players with/without password option. To provide the operator with the ability to open the Lobby directly at the page of the desired game category, the new dynamic URL parameter category has been introduced. The value of the parameter should be the hashed id of the desired game category. The category id can be provided by your Integration Manager. Example: https://lobby_id-lobby.skywindgroup.com/#/ticket/1234567890?category=<categoryID> https://abcd1234-lobby.skywindgroup.com/#/ticket/1234567890?category=6ca78adf Directing the Player to the Lobby in the Specified Language This will work only if you opt for the second login setup for players with/without password option. The Merchant can open the lobby in a specific language supported by the Lobby by using the dynamic URL parameter language. The parameter value must be the code of the language that is supported by the Lobby.
  • 24. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 24 of 40 Example: https://lobby_id-lobby.skywindgroup.com/#/ticket/1234567890?language=<code> https://abcd1234-lobby.skywindgroup.com/#/ticket/1234567890?language=en Below is the list of the supported languages and their codes: Language Language code English en Simplified Chinese zh-cn Traditional Chinese zh-tw Japanese ja Malay ms Korean ko Thai th Vietnamese vi Indonesian id Romanian ro Italian it Greek el Player Ticket Requirements (for the second login option) For the Skywind System to receive the player’s information in its proper format, the player ticket needs to meet the following requirements: • The ticket string length shouldn’t exceed 64 characters. • The recommended minimum inactivity time after which the ticket session expires is 30 minutes. After the specified inactivity timeout period the player is logged out of the Live Lobby. This value is not mandatory and can be set in accordance with your preference. However, a very short inactivity timeout period (1-2 minutes) is not advisable as it may negatively impact user experience.
  • 25. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 25 of 40 3. Ticket Validation Please contact your Integration Manager to find out whether ticket validation is required in your case. The preferrable request and response format of API is JSON. On receiving the player ticket from you, Skywind will send you the /validate_ticket or /validate_terminal_ticket call. Validate Ticket /validate_ticket is used for opening normal games including slots and for opening the lobby. /validate_terminal_ticket is used only for opening the lobby. You need to inform Skywind which method you will be using so that we can proceed with the configuration. Request: POST api.playerapi.com/api/validate_ticket HTTP/1.1 Request: POST api.playerapi.com/api/validate_terminal_ticket HTTP/1.1 This method sends a received ticket from Skywind to the operator’s system for validation.If the ticket is valid, the operator’s server will reply with the player’s specific account data. If not, it will send an error. Below are the parameters that Skywind will send in the request: Parameters Name Located in Required Type Notes ticket body yes string (64) Operator’s ticket, used for authentication and getting session ID. merch_id body yes string (32) This parameter refers to the operator’s ID (set up on the Integration phase). merch_pwd body yes string (48) This parameter refers to the operator’s password (set up on the Integration phase). ip body no string (16) This parameter shows the player’s IP address. Example of JSON Request { "ticket": "aXc2!f", "merch_id": "gcxMerch", "merch_pwd": "merchPassword" }
  • 26. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 26 of 40 The System responds to such requests according to the following schema: Response Code Schema Example 200 { error_code: number, cust_session_id: string, cust_id: string, currency_code: string, test_cust: string ("true"| "false") or boolean(true|false, country: string, game_group: string } { "error_code": 0, "cust_session_id": "custSessId", "cust_id": 1234, "currency_code": "GBP", "test_cust": false, "country": "GB", "game_group": "Double Bets Group" } Notes: - The optional game_group parameter is used to override game limits. To update player’s game group and limits, operator needs to create game groups by following the Skywind ‘Game Group API’ document and set a name of the game group in the validate_ticket response in the game_group field. - The cust_id refers to the customer’s ID and includes numbers, letters, special characters, except a colon. - If you use terminals and use the same endpoint for the terminal user login as for the validate_ticket method, it’s mandatory for you to add the language parameter to your validate_ticket response. - By default, one cust_session_id should be used for several different games (you should not have in place a validation that cust_session_id is assigned to a specific game code). If your system cannot support it and you have unique tokens for each played game, you should implement Refresh Session Token method and request Skywind L2 Technical Integration team to enable this option for your entity. For information on error responses, please see Error Responses. Refresh Session Token Request: POST api.playerapi.com/api/refresh_session HTTP/1.1 This method is used for merchant systems that require implementation of ticket validation but do not allow a player to play different games with the same session token. Skywind will call this method to obtain a new token (new_cust_session_id) when a player opens a new game on the provider’s website after having played another game. Please contact Skywind L2 Technical Integration team to enable this option for your entity.
  • 27. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 27 of 40 Request Parameters Name Located in Required Type Notes merch_id body yes string (32) The merchant’s ID (set up on the Integration phase). merch_pwd body yes string (48) The merchant’s password (set up on the Integration phase). old_game_code body yes string (32) The code of the game the player opened prior to opening the new game. new_game_code body yes string (32) The code of the new game that the player opens. cust_id body yes string (32) The id of the customer (player). cust_session_id body yes string (64) The id of the customer’s (player’s) session preceding the launch of a new game. Example of JSON Request Example { "merch_id": "EB", "merch_pwd": "SoMEpassw", "old_game_code": "sw_mrmnky", "new_game_code": "sw_dc", "cust_id": "1234", "cust_session_id": "SoMeSeSsionId" // old customer session id } The System responds to such requests according to the following schema: Response Code Schema Example 200 { error_code: 0, new_cust_session_id: string (64) } { "error_code": 0, "new_cust_session_id": "NewSessionId" } For information on error responses, please see Error Responses.
  • 28. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 28 of 40 Error Responses If any issues occur while performing one of the operations, the merchant’s system should respond with the error codes from the table below. If the System has an error code that doesn’t equal -1 or 0, we expect to receive HTTP status 200 to parse the error code and the message. If the System has an error code that doesn’t equal 0 in the response, it should be explained in the error_msg. General Errors Seamless Error Code Text Description 0 No errors -1 Merchant internal error An unexpected error was encountered while processing the request. It can be caused by a validation error, for example, if the merchant doesn’t exist. Operator can use this error when they don’t expect such behavior from the provider’s side. -2 Player not found Returned when the game is launched with the playerCode which doesn’t exist on the merchant’s side or if the playerCode has an invalid value, for example, is empty or has a number value type. -3 Game token expired Player session has expired or has invalid value. Notes: - For the response with the HTTP status 200 we apply the mapping of errors depending on the error_code in the response. - For the response with the HTTP status which is greater than or equals 400 and is less than 500 (400 ≤ statusCode < 500) we send MerchantInternalError HTTP: 500, code: 506, message: ‘Merchant internal error’.
  • 29. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 29 of 40 IMPLEMENT YOUR OWN LOBBY SOLUTION Overview Skywind can provide the operator with a set of API methods and socket messages which will let them receive all the required information for setting up Live Games previews on their website and launch the live games in fun and real modes. Integration Setup Flow 1) Start by requesting terminal token (terminalToken) and the list of game codes from your Account Manager. 2) Get playerUrl and terminalUrl by decoding the received terminalToken. Token decoding example const {terminalUrl, playerUrl} = jwt_decode(terminalToken); 3) To display the thumbnail images of the live games, follow the steps below: a. Send Get List of Games call specifying the codes of the games you wish to display. b. In the response, you’ll receive features, tableId and provider. c. Get the socket endpoint by sending Get Live Manager URL call. d. Get list of online tables by sending Get List of Live Tables Statuses call. 4) To receive game information via socket, send login message 5) For online table send live-subscribe message. On sending live-subscribe message, you’ll immediately get the message with the game information in live- table message. When the table status changes to “online”, you’ll receive live-table-open message and can send live-subscribe message 6) When the dealer or the table status changes, you’ll receive live-table-dealer and live-table-state messages respectively. 7) When the game thumbnail is no longer needed to be displayed for the player, send live-unsubscribe to stop receiving this type of messages. Each message contains tableId and provider which correspond to particular game codes. See point 3)a and b. 8) live-table-dealer and live-table and live-table-open socket messages will contain a link to the dealer image. You can request the up-to-date image with the intervals that you define in your system. The game can be launched in 2 modes: fun and real. 9)
  • 30. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 30 of 40 a. To launch the game in fun mode, you need to get the game launch URL using Get Fun Mode Game URL method specifying the game code. b. Alternatively, if you have already set up integration to Skywind slot games, you can use a regular Get Player Game URL method to get the URLs from the server. Both options may require Ticket Validation. 10) a. To launch the game in real mode, you need to generate the player ticket meeting the ticket requirements and then call Player Login method. Use the player token received in the response to send Get Game URL. b. Alternatively, if you have already set up integration to Skywind slot games, you can use a regular Get Player Game URL method Both options may require Ticket Validation. REST API Get Live Manager URL Request: GET [terminalUrl]/v1/terminals/live-manager/url HTTP/1.1 Gets Live Manager URL for the entity. Parameters Name Located in Required Type Notes x-terminal- token header yes string Terminal token provided by Skywind Account Manager Response Code Schema Example 200 { url: string, path: string } { "url": "http://someurl", "path": "live-manager" } HTTP Code Error Code Description 400 903 Dynamic domain is not defined 401 11 Terminal Access Token is missing 204 Access token error 208 Terminal token error
  • 31. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 31 of 40 Get List of Games Request: GET [terminalUrl]/v1/terminals/games HTTP/1.1 Gets list of games for the entity filtered by the specified parameters Parameters Name Located in Required Type Notes x-terminal- token header yes string Terminal token provided by Skywind AM code query yes string Game code currency query no string Currency code according to ISO 4217. The request will only fetch the limits for the specified currency. Response Code Schema Example 200 [ { features: { live: { tableId: string, provider: string } } ] [ { "features": { "live": { "tableId": "some_tableId", "provider": "some_provider" } } ] HTTP Code Error Code Description 401 11 Terminal Access Token is missing 208 Terminal token error
  • 32. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 32 of 40 Get Fun Mode Game URL Request: GET [terminalUrl]/v1/terminals/fun/games/{gameCode} HTTP/1.1 Returns an URL which allows any player to play the specified game in fun mode. Parameters Name Located in Required Type Notes x-terminal- token header yes string Terminal token provided by Skywind Account Manager language query no string Language code according to ISO 639-1 Response Code Schema Example 200 { url: string, token: string } { "url": "http://some-url.com", "token": "oJqXX2tkAADKf7n3MpcM9kVbVk53n" } HTTP Code Error Code Description 400 62 One of the parents is suspended 101 Not a brand 401 11 Terminal Access Token is missing 208 Terminal token error 404 51 Could not find entity 300 Game not found
  • 33. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 33 of 40 Player Login Request: POST [terminalUrl]/v1/terminals/players/external/login HTTP/1.1 Logs in the specified player (defined by player ticket). Parameters Name Located in Required Type Notes x-terminal- token header yes string Terminal token provided by Skywind Account Manager ticket body yes string Player’s ticket Response Code Schema Example 200 { url: string, token: string } { "url": "http://live_game.com/", "token": "cM9kVbVk53neuIYI62dEkYdYu" } HTTP Code Error Code Description 400 40 Validation error 62 One of the parents is suspended 712 Player is suspended 401 11 Terminal Access Token is missing 208 Terminal token error 404 51 Could not find entity 502 Merchant not found 500 505 Merchant should have url and password in parameters 505 Merchant internal error
  • 34. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 34 of 40 Get Game URL Request: GET [playerUrl]/v1/games/{gameCode} HTTP/1.1 Returns an URL which allows the specified player to play the specified game in real mode. Parameters Name Located in Required Type Notes x-player- token header yes string Player token language query no string Language code according to ISO 639-1 Response Code Schema Example 200 { url: string, token: string } { "url": "http://live_game.com/", "token": "cM9kVbVk53neuIYI62dEkYdYu" } HTTP Code Error Code Description 400 40 Validation error 62 One of the parents is suspended 306 Game is suspended 703 IP address cannot be resolved 708 It is forbidden to start game from unauthorized site 712 Player is suspended 736 Entity is under maintenance, but maintenance url is not defined 751 Referrer is missing 902 Static domain is not defined 903 Dynamic domain is not defined 401 11 Player Token is missing
  • 35. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 35 of 40 HTTP Code Error Code Description 208 Player Token error 404 51 Could not find entity 502 Merchant not found 500 505 Merchant should have url and password in parameters 505 Merchant internal error Get List of Game Categories Request: GET [playerUrl]/v1/gamecategories HTTP/1.1 Gets list of game categories for the entity filtered by the specified parameters. Parameters Name Located in Required Type Notes x-player-token header yes string Player token includeGames query no boolean Include games available for entity in game category currency query no string Currency code according to ISO 4217. The request will only fetch the limits for the specified currency. gameGroup query no string Game group of player Response Code Schema Example 200 [ { id: string, title: string, games: [ { code: string, limits: { [currency_code]: {} }, features: { live: { tableId: string, provider: string } } } [ { "id": "some_category_code", "title": "some_category", "games": [ { "code": "some_game_code", "limits": { [currency_code]: {} }, "features": { "live": { "tableId": "some_tableId", "provider": "some_provider" }
  • 36. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 36 of 40 ] } ] } } ] } ] HTTP Code Error Code Description 400 40 Validation error 401 11 Player Token is missing 208 Player Token error 404 51 Could not find entity 502 Merchant not found Get List of Live Tables Statuses Request: GET [liveManagerURL]/v2/tables HTTP/1.1 Where liveManagerURL = ${url}/${path} Gets list of online live tables for the entity. Parameters Name Located in Required Type Notes x-terminal- token header yes string Terminal token provided by Skywind AM Response Code Schema Example 200 [ { id: string, provider: string, type: string, dealer: { name: string, picture: string }, language: string (2) } ] [ { "id": "some_table_id”, "provider": "some_provider", "type": "some_game_type", "dealer": { "name": "some_dealer_name", "picture": "some_url" }, "language": "en" } ]
  • 37. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 37 of 40 HTTP Code Error Code Description 401 11 Terminal Access Token is missing 208 Terminal token error Socket Message Definitions Player Login Player Login Event example: { "event": "login", "payload": { "token": "cM9kVbVk53neuIYI62dEkYdYu" } } Field Description token terminalTokenprovided by the Account Manager Subscribe to Game Events Subscribe to Game Event example: { "event": "live-subscribe", "payload": { "feature": "GameFeature", "tableId": "some_table_id", "provider": "some_provider" } } Field Description feature Parameters received in Get List of Games tableId provider
  • 38. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 38 of 40 Unsubscribe from Game Events Subscribe to Game Event example: { "event": "live-unsubscribe", "payload": { "tableId": "some_table_id", "provider": "some_provider" } } Live Table Open Live Table Open Event example: { "event": "live-table-open", "payload": { "provider": "some_provider", "tableId": "some_table_id", "tableType": 2, "dealer": { "name": "some_name", "picture": "some_picture_url" }, "language": "en", "status": "online" | "offline" } } Live Table Info Live Table Info Event example: { "event": "live-table", payload: { "provider": "some_provider", "tableId": "some_table_id", "tableType": 2, "dealer": { "name": "some_name", "picture": "some_picture_url" }, "language": "en", "status": "online" | "offline", "seats": { "seat": "P1" | "P2" | "P3" | "P4" | "P5" | "P6" | "P7" | "D", "isActive": true, "playerCode": "some_player_code", "playerHash": "hash" }[] } }
  • 39. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 39 of 40 Live Table Dealer Changed Live Table Dealer Changed Event example: { "event": "live-table-dealer", "payload": { "provider": "some_provider", "tableId": "some_table_id", "tableType": 2, "dealer": { "name": "some_name", "picture": "some_picture_url" }, "language": "en" } } Live Table Status Changed Live Table Status Changed Event example: { "event": "live-table-state", "payload": { "provider": "some_provider", "tableId": "some_table_id", "tableType": 2, "status": "online" | "offline" } } Live Table Blackjack Seat Selected Live Table Blackjack Seat Selected Event example: { "event": "live-table-seat", "payload": { "provider": "some_provider", "tableId": "some", "tableType": 2, "seat": "P1" | "P2" | "P3" | "P4" | "P5" | "P6" | "P7" | null, "previousSeat": "P1" | "P2" | "P3" | "P4" | "P5" | "P6" | "P7", "playerCode": "some_player_code", "playerHash": "hash" } }
  • 40. Copyright © 2022 Skywind Holdings Ltd. All Rights Reserved 40 of 40 DOCUMENT HISTORY Version Date Author Change Description 1.0 07.05.2021 Viktoria Buhtarevich Initial Document Created 1.1 09.06.2021 Viktoria Buhtarevich Added ‘Direct launch: Advanced Live Games Integration’ chapter. 1.2 19.10.2021 Viktoria Buhtarevich Added method Refresh Session Token for Wallet and Seamless integration and for Direct Launch. Added a note about the possibility to implement Refresh Session Token method by the operators that require unique tokens for different games to Validate Ticket method for Wallet and Seamless integration and for Direct Launch. 1.4 18.02.2022 Vladimir Minakov Added Get List of Game Categories and Get List of Live Tables Statuses methods in REST API. Added Live Table Open and Live Table Blackjack Seat Selected Event examples; updated Live Table Info Event example in Socket Message Definitions. 1.5 12.07.2022 Yevheniia Liashenko Added a note about liveManagerURL in Get List of Live Tables Statuses.