Revision History
| Version | Date | Changes |
|---|---|---|
1.0.0 |
22 March 2023 |
Initial version |
1.0.1 |
11 April 2023 |
Added casinoId to getGames and gameLaunch requests. Removed clientId and currency from gameLaunch body parameters. |
1.0.2 |
09 May 2023 |
Added NonUniqueGameRound error and validation for game round uniqueness. |
1.0.3 |
11 May 2023 |
Added free spins bonus support. |
1.0.4 |
26 September 2023 |
Extended response for retrieving a list of games with the "currencies" parameter. |
1.0.5 |
29 September 2023 |
Launching game via provider’s in-game lobby. |
1.0.6 |
22 January 2024 |
Added invalid amount exception and validation for amount |
1.0.7 |
04 April 2024 |
Production callback url changed |
2.0.0 |
04 October 2024 |
Added required parameter gameId to getBalance and bet requests. Callback url version upgrade. |
2.0.1 |
03 December 2024 |
Added required parameter gameId to login method |
2.0.2 |
30 June 2025 |
Extended API to support aggregators with subproviders |
2.0.3 |
20 October 2025 |
Extended API to support canceling free spins instance |
2.0.4 |
23 February 2026 |
Improved API documentation with additional explanations and clarifications |
Description
This document is intended to provide a Game Provider (GP) with the necessary information to support a seamless integration with ATLASLIVE Platform (AP). To integrate game communication flow, a Game Provider has to implement the ATLASLIVE Casino Integration API.
This API is a service contract with a collection of REST calls with request and response messages. The format and details of the messages are described below in this document.
Integration setup
-
provider_idthat is used in the callback URL — a single lowercase word uniquely identifying the provider -
secret_keyfor validation requests -
test
client_idandpasswordfor obtaining token and testing endpoints -
login credentials for testing games on site
-
URL for retrieving games and games configurations
-
launch URL that will return a direct link to the running game
-
username and password to authenticate ATLASLIVE Platform (AP) requests to the Game Provider (GP) backend
-
list of
subprovider IDsin case the Game Provider (GP) works as an aggregator and provides games from its subproviders."
Integration callback URL
| Environment | Callback URL | Description |
|---|---|---|
Stage |
https://integration.pl-test.play-platform.com/integration-callback/gs/hive/v2/{provider_id} |
Environment for integration development |
Production |
https://integration.pl-01.play-platform.com/integration-callback/gs/hive/v2/{provider_id} |
Production environment |
|
Callback url v2 When switching to a new callback URL, https://integration.pl-test.play-platform.com/integration-callback/gs/hive/v2/{provider_id}, the gameId parameter should be added to the request payloads when retrieving client balance and placing bets. The Atlas game session stores a token that is created for a specific game and specific client. In the new version, Atlas includes an additional check to verify that the gameId from the request matches the gameId for which the token was created. If there is a mismatch, error 7012 will be returned. See Error codes section. Previous version of callback URL v1: https://integration.pl-test.play-platform.com/integration-callback/gs/hive/v1/{provider_id} will not be supported soon. |
Interaction flow
-
loading site with games
-
initiate game launch
-
generate a session for the user
-
requesting GP game launch URL with all required parameters for running the game
-
obtaining a session token
-
requesting client balance
-
return link for game launch
-
make bet
-
initiate a bet request to AP service
-
receive a successful response
-
update client balance in game iframe with new balance from response
Integration notes
Request and response formats
Request and response messages are sent in JSON format using the HTTPS protocol.
All requests contain the header Content-Type: application/json.
All requests should be passed to the AP with the header Hash with calculated hash value.
All responses are passed along with a 200 HTTP status code, regardless of the response’s content.
Requests to Game Provider are passed via the HTTP POST method with basic authentication.
An authorization token based on the operator’s username and password will be sent in the “Authorization” header.
All field names in requests are case-sensitive.
Error codes
If an error occurs, ATLASLIVE Platform and Game Provider should return a 200 HTTP status code.
Error response has the following format:
{
"error": "Session validation failed",
"errorCode": 7001
}
| Error code | Error message |
|---|---|
4001 |
Hash validation failed |
4003 |
Method not allowed |
4005 |
Required header 'Hash' is not present |
4006 |
Invalid hash format |
4007 |
Invalid amount format |
5001 |
Internal error |
7001 |
Session validation failed |
7002 |
Provider not configured |
7003 |
Currency mismatch exception |
7004 |
Game round wasn’t previously created |
7005 |
Transaction had already processed |
7006 |
Bet transaction not found |
7007 |
Insufficient funds |
7008 |
Transaction already refunded |
7009 |
Game round id is not unique |
7010 |
Client id is missing in request |
7011 |
Game not available |
7012 |
Game id from request doesn’t match game id from session |
7015 |
Game launch error |
7016 |
Register free spins error |
7017 |
Assign free spins error |
| If an error occurs while processing WIN or REFUND actions and our server responds with 5001 or 5xx statuses, the request should be retried. |
Security checks
All requests should be passed to the ATLASLIVE Platform (AP) with the header Hash with calculated hash value.
Hash parameter is used to validate the sender’s identity and prevent data modification in transit.
It is calculated based on the parameters in a request message.
Hash validation is case-insensitive and parameters order insensitive.
-
Compose the string from request body parameters:
-
Calculate HmacSHA512 checksum using the shared secret api key and convert it as a hex-encoded string.
-
Include this hash into the outbound requests as the
Hashheader.
{
"token": "test-P0dXo2je61enukvS6dscWs7kaJjQnB5F",
"amount" : 10,
"transactionId" : "unique-transaction-id",
"currency" : "EUR",
"roundId": "unique-round-id"
}
53943f35-9756-4b9d-8025-51e835ab8170
{"token":"test-P0dXo2je61enukvS6dscWs7kaJjQnB5F","amount":10,"transactionId":"unique-transaction-id","currency":"EUR","roundId":"unique-round-id"}
622D614B4479E8EC2309666439D162265106697E8D668FF6321A5BB138C335EE6664460CA519B01F5BD2A979A60816E740D419A5F46ED871A9B05059788451B5
Wallet operations
Get client balance
This method returns a current balance of the player.
Client balance must be requested by GP while client initiates game start , and it should be shown in the game iframe.
Client balance can be requested periodically if necessary for synchronization.
But no need to request it before each bet.
On receiving a bet request client balance will be validated by AP.
We use integer type representing of a balance amount (in cents), i.e 1 USD or 1 EUR has 100 coins.
If token from wallet request is expired, session validation exception will be returned.
See Error codes section.
| Name | Type | Description |
|---|---|---|
token |
String |
Unique session id of the player that is sent by AP in game launch request |
gameId |
String |
Unique game id within the Game Provider platform. Required for callback url v2. |
POST {callback_url}/wallet HTTP/1.1
Content-Type: application/json;
Hash: 9490E4A06F0E6ECECA6F884933085655C5F6ADCFA8909A181C18211883B6A40DCCD48441F807B6CFFE16916D36751D520714EB37D6BCF655CC2ADBEC80768B09
{
"token" : "test-P0dXo2je61enukvS6dscWs7kaJjQnB5F",
"gameId": "777magic"}
HTTP/1.1 200 OK
Content-Type: application/json
{
"currency": "USD",
"balance": 99999,
"clientId": "43-4312345",
}
Bet
This method withdraws the amount from the player’s wallet.
After receiving bet request player’s balance will be checked to ensure they still have the funds to cover the bet.
Then the amount of the bet will be subtracted from player balance.
Otherwise, insufficient funds exception will be returned.
See Error codes section.
Every bet should have a unique transaction id.
Every bet should be placed within a specific game round.
Game round created for the client and should be unique within Game Provider system.
It is possible to place a few bet for one game round.
The currency must be the same as in the request that initiates the start of the game.
If token from bet request is expired, player balance will not be subtracted.
| Name | Type | Description |
|---|---|---|
token |
String |
Unique session id of the player that is sent by AP in game launch request |
roundId |
String(150) |
Unique game round id within Game Provider system. Limit 150 symbols. |
amount |
Integer |
Amount of the bet (in cents). |
transactionId |
String(150) |
Unique reference of bet transaction within Game Provider system. Limit 150 symbols. |
currency |
String |
Player’s ISO 4217 currency code. Examples: 'EUR' or 'USD' |
bonusInstanceId |
String |
Unique bonus instance identifier for the specific clientId. |
gameId |
String |
Unique game id within the Game Provider platform. Required for callback url v2. |
bonusInstanceId is optional parameter. If the spin is made within the free spin round, the bet request must contain this parameter. Free spins bonus should be previously registered within game provider system and assigned to the player. The value of bonusInstanceId in bet request is the same value as bonusInstanceId from assigning bonus request.
|
POST {callback_url}/bet:place HTTP/1.1
Content-Type: application/json;
Hash: 2DA0178B4E2312B0366A5498048C718105360A0907DDF406A3A72639461595A1A7C4ABC5E9D6648ED512A9061A2F4CEB69E7000ABDEF8A6035311DC203D92D39
{
"token": "test-jYPq0ViUriiubZdha5cJBeVwvRK4rktb",
"roundId": "4d206dd2-2d15-4f03",
"amount": 100,
"transactionId": "316b6958-b746",
"currency": "USD",
"gameId": "777magic"
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"currency": "USD",
"balance": 99999,
"clientId": "43-4312345",
}
Win
This method deposits the amount to the player’s wallet.
Win amount will be added to the client balance even if the session token is expired. It is possible to have a few win for one game round.
Every win request should have a unique transaction id.
Every win should be sent within a specific game round that was previously created for client during bet request.
Otherwise, game round not found exception will bet returned. If an error occurs while processing win request and our server responds with 5001 or 5xx statuses, the request should be retried. All other errors are perceived as expected.
See Error codes section.
| Name | Type | Description |
|---|---|---|
token |
String |
Unique session id of the player that is sent by AP in game launch request |
clientId |
String |
Identifier of the user within ATLASLIVE platform that is sent by AP in game launch request and wallet request. |
roundId |
String(150) |
Unique game round id within Game Provider system. Limit 150 symbols. |
amount |
Integer |
Amount of the win (in cents). |
transactionId |
String(150) |
Unique reference of win transaction within Game Provider system. Limit 150 symbols. |
POST {callback_url}/bet:win HTTP/1.1
Content-Type: application/json;
Hash: DEDA49A5FD3EFE00073E2452C7BAADB18FECE45B66B363E080AAC3E3F8DF6EAC8B869DA934F2D90DAFFE6A3E42B86D89B294EB753003F9360A1CD11B750099A5
{
"token": "test-jYPq0ViUriiubZdha5cJBeVwvRK4rktb",
"clientId": "43-12345",
"roundId": "4d206dd2-2d15-4f03",
"amount": 100,
"transactionId": "dc5fbe6f-abb0",
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"currency": "USD",
"balance": 99999,
"clientId": "43-4312345",
}
Refund
This method should be used to refund a bet amount to the client balance.
To refund some bet transaction it should be previously processed on casino operator system.
Bet transaction can be refunded just once.
Refund should be used in following cases:
-
if in-game error has been happened and user won’t be able to receive game round result.
-
if user manually cancel the bet in game iframe (for games that have this option)
-
if response for a bet request wasn’t received due to a timeout.
If the bet transaction was successfully completed on AP side, it will be refunded, otherwise an error 7006 "Bet transaction not found" will be returned.
If an error occurs while processing refund request and our server responds with 5001 or 5xx statuses, the request should be retried. All other errors are perceived as expected.
See Error codes section.
| Name | Type | Description |
|---|---|---|
token |
String |
Unique session id of the player that is sent by AP in game launch request |
clientId |
String |
Identifier of the user within ATLASLIVE platform that is sent by AP in game launch request and wallet request. |
roundId |
String(150) |
Unique game round id within Game Provider system. Limit 150 symbols. |
amount |
Integer |
Amount of the win (in cents). |
transactionId |
String(150) |
Unique reference of refund transaction within Game Provider system. Limit 150 symbols. |
refundTransactionId |
String(150) |
Reference to the original bet transaction that should be refunded. Limit 150 symbols. |
POST {callback_url}/bet:refund HTTP/1.1
Content-Type: application/json;
Hash: 35E4697AD42E9788D92B67F21FCE9FFA20E209AB3F389A061CE317FF0A74561560EF2F79CD067373DEF99F00AA12C59E083BE8418B661E180FE02C3B0F1BCA8C
{
"token": "test-jYPq0ViUriiubZdha5cJBeVwvRK4rktb",
"clientId": "43-12345",
"roundId": "4d206dd2-2d15-4f03",
"amount": 100,
"transactionId": "913b6908-c948",
"refundTransactionId": "316b6958-b746",
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"currency": "USD",
"balance": 99999,
"clientId": "43-4312345",
}
Authenticate
This method is used by those providers who have an in-game lobby. When the player switches to another game through this lobby, a new token is created for the selected game and all following wallet requests within that game must use the new token.
Each call to /lobby:authenticate invalidates the previous token and returns a new one linked to the specified gameId. Therefore, for each subsequent lobby switch, oldToken must be the newToken received from the most recent /lobby:authenticate response — not the original game launch token. Using an already-invalidated token will result in error 7001 (Session validation failed). See Error codes section.
All games that are available in the lobby should have been previously added and configured on the ATLASLIVE platform. Otherwise, the response will contain a "Game not available" exception. See Error codes section.
| Name | Type | Description |
|---|---|---|
oldToken |
String |
The currently active session token. On the first lobby switch this is the token received from the initial game launch. On each subsequent switch it must be the |
gameId |
String |
Unique game id within the Game Provider platform. |
POST {callback_url}/lobby:authenticate HTTP/1.1
Content-Type: application/json;
Hash: 35E4697AD42E9788D92B67F21FCE9FFA20E209AB3F389A061CE317FF0A74561560EF2F79CD067373DEF99F00AA12C59E083BE8418B661E180FE02C3B0F1BCA8C
{
"oldToken": "test-jYPq0ViUriiubZdha5cJBeVwvRK4rktb",
"gameId": "777magic"
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"newToken": "test-VJ1wXX95omY9RHASO2w8lJDTeA8UwN6W",
"currency": "USD",
"balance": 99999
}
Step 1 — AP launches game-A and provides the initial token to the Game Provider:
POST {provider_base_url}/gameLaunch HTTP/1.1
Content-Type: application/json;
Authorization: Basic YXRsYXNfaWFjOnBhc3N3b3JkMTI=
{
"gameId": "777magic",
"demo": false,
"isMobile": false,
"token": "test-tRV2UjWHh1UFUOhQiZXpSwPD4f1N8y1N",
"casinoId": "nashbet",
"language": "en",
"cashierUrl": "https://nashbet.test.k8s-hz.atlas-iac.com/account/payment/deposit",
"lobbyUrl": "https://nashbet.test.k8s-hz.atlas-iac.com/casino"
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"url": "https://game-launch-link"
}
Step 2 — Player switches to game-B via lobby. oldToken is the initial game launch token:
POST {callback_url}/lobby:authenticate HTTP/1.1
Content-Type: application/json;
Hash: 35E4697AD42E9788D92B67F21FCE9FFA20E209AB3F389A061CE317FF0A74561560EF2F79CD067373DEF99F00AA12C59E083BE8418B661E180FE02C3B0F1BCA8C
{
"oldToken": "test-tRV2UjWHh1UFUOhQiZXpSwPD4f1N8y1N",
"gameId": "roulette"
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"newToken": "test-VJ1wXX95omY9RHASO2w8lJDTeA8UwN6W",
"currency": "USD",
"balance": 99999
}
test-tRV2UjWHh1UFUOhQiZXpSwPD4f1N8y1N is now invalidated. All wallet requests for game-B must use test-VJ1wXX95omY9RHASO2w8lJDTeA8UwN6W.
Step 3 — Player switches to game-C via lobby. oldToken must be the newToken from Step 2:
POST {callback_url}/lobby:authenticate HTTP/1.1
Content-Type: application/json;
Hash: 9490E4A06F0E6ECECA6F884933085655C5F6ADCFA8909A181C18211883B6A40DCCD48441F807B6CFFE16916D36751D520714EB37D6BCF655CC2ADBEC80768B09
{
"oldToken": "test-VJ1wXX95omY9RHASO2w8lJDTeA8UwN6W",
"gameId": "777magic"
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"newToken": "test-QIJCEsOVGEUHe5D0WKnvbHEjpkLut8rH",
"currency": "USD",
"balance": 99999
}
test-VJ1wXX95omY9RHASO2w8lJDTeA8UwN6W is now invalidated. All wallet requests for game-C must use test-QIJCEsOVGEUHe5D0WKnvbHEjpkLut8rH.
Error 7001 (Session validation failed) is returned when oldToken is expired or has already been invalidated by a previous /lobby:authenticate call. Always use the most recently issued token as oldToken for the next switch.
|
Retrieving list of games
Using this method AP is able to get the list of casino games available for the integration.
Get games request is sent with Basic authentication.
In Basic HTTP authentication requests contain a header Authorization and token value in following format: "Basic {token}" where token is the Base64-encoded username and password joined by a single colon ":".
For example atlas:password123 base64 encoded YXRsYXM6cGFzc3dvcmQxMjM= Get games request will be sent with header: Authorization: Basic YXRsYXM6cGFzc3dvcmQxMjM=
Username, password for authorization and provider_base_url are provided by GP. All game parameters in response are required to configure game correctly for running on AP site.
| Name | Type | Required | Description |
|---|---|---|---|
casinoId |
String |
Optional |
Casino project identifier. |
subProviderId |
String |
Optional |
Identifier of subprovider, should be previously provided by Game Provider and be unique within the Game Provider platform. |
casinoId is optional and is not sent to the Game Provider by default.
In case Game Provider needs this parameter to be sent with request they should ask for the additional configuration.For the stage environment casinoId: atlas-test |
subProviderId is optional and is sent to the Game Provider if it works as an aggregator and a list of subprovider IDs was configured during the initial stage of the integration process. If subProviderId is sent, the Atlas platform is expected to receive only the games of this specific subprovider.
|
GET {provider_base_url}/getGames?casinoId=atlas-test HTTP/1.1
Content-Type: application/json;
Authorization: Basic YXRsYXNfaWFjOnBhc3N3b3JkMTI=
HTTP/1.1 200 OK
Content-Type: application/json
{
"gameList":
[
{
"gameId": "777magic",
"gameName": "777 magic slots",
"gameTypeId": "slots",
"demoGameAvailable": true,
"jackpotAvailable": true,
"freeSpinAvailable": true,
"isDesktop": true,
"isMobile": true,
"currencies": ["EUR", "USD"]
},
{
"gameId": "roulette",
"gameName": "American Roulette",
"gameTypeId": "live",
"demoGameAvailable": true,
"jackpotAvailable": false,
"freeSpinAvailable": false,
"isDesktop": true,
"isMobile": true,
"currencies": ["EUR", "USD"]
}
]
}
| Name | Type | Description |
|---|---|---|
gameId |
String |
Unique game id within the Game Provider platform |
gameName |
String |
Name of the game |
gameTypeId |
String |
Type of the game |
subProviderId |
String |
Identifier of subprovider, should be unique within the Game Provider platform. It is required if subProviderId was sent in the request. |
demoGameAvailable |
Boolean |
Is the game supported demo-mode. |
jackpotAvailable |
Boolean |
Is game supported jackpot |
freeSpinAvailable |
Boolean |
Is game supported free spin bonus. |
isMobile |
Boolean |
Is game available for mobile devices. |
isDesktop |
Boolean |
Is game available for desktop. |
currencies |
List |
List of currencies that are supported by the game. Optional parameter. |
Game launching
Using this method, AP is able to get the link for launching the game.
A launch request is sent with Basic authentication.
See example in Retrieving list of games section.
Username, password for authorization, and provider_base_url are provided by GP.
The game can be launched in demo mode or in real mode. When game launching is initiated with the parameter "demo":true, fake balance amount should be displayed in the game iframe, and ATLASLIVE Platform doesn’t expect any callback requests for bet and win actions.
| Name | Type | Description |
|---|---|---|
gameId |
String |
Unique game id within the Game Provider platform. |
demo |
Boolean |
Is the game launching in demo mode. |
isMobile |
Boolean |
Is game launching on mobile device. |
token |
String |
Unique game session id of the player. Should be ignored if "demo": true. |
casinoId |
String |
Casino project identifier. |
language |
String |
Player language in ISO 639-1 standard (en, fr, it). |
cashierUrl |
String |
An encoded URL for opening the AP website Cashier page |
lobbyUrl |
String |
An encoded URL for opening the AP website Lobby page |
| We keep one token for a specific game and a specific client. When the client initiates a game launch a few times for the same game, we return the existing session token and don’t create a new one. |
casinoId is optional and is not sent to the Game Provider by default.
In case Game Provider needs this parameter to be sent with a request, they should ask for the additional configuration.For the stage environment casinoId: atlas-test |
POST {provider_base_url}/gameLaunch HTTP/1.1
Content-Type: application/json;
Authorization: Basic YXRsYXNfaWFjOnBhc3N3b3JkMTI=
{
"gameId": "777magic",
"demo": false,
"isMobile": false,
"token": "test-tRV2UjWHh1UFUOhQiZXpSwPD4f1N8y1N",
"casinoId" : "nashbet",
"language": "en",
"cashierUrl": "https://nashbet.test.k8s-hz.atlas-iac.com/account/payment/deposit",
"lobbyUrl": "https://nashbet.test.k8s-hz.atlas-iac.com/casino"
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"url": "https://game-launch-link"
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"errorCode": 7015,
"error": "Game isn’t active"
}
FreeSpins bonus API
FreeSpins bonus allows the player to play a specified number of free rounds in a game.
It is configured with a certain bet value specified for each game and currency.
During free round’s game play, bets are not deducted from the player’s balance.
The winnings in these rounds are credited to the player in the usual way.
-
Casino operator creates free spins bonus campaign within ATLASLIVE Platform.
-
ATLASLIVE Platform sends register a free spins bonus request to the Game Provider system.
-
Game Provider creates a free spin bonus for specified game on their side.
-
Player activates a free spin bonus.
-
ATLASLIVE Platform sends to the Game Provider system request for assigning free spins bonus to the player.
-
Player initiates game launch.
-
Game provider should return a link that will run the game with a free spin bonus feature.
In the following two requests casinoId is optional and is not sent to the Game Provider by default.
In case Game Provider needs this parameter to be sent with request they should ask for the additional configuration.
For the stage environment casinoId: atlas-test.
|
Register free spin bonus
Using this method ATLASLIVE Platform registers a new FreeSpins Bonus within the Game Provider system. BonusId is a unique identifier. The Game Provider should not create new FreeSpins bonus if there is an active FreeSpins bonus with the same bonusId.
| Name | Type | Description |
|---|---|---|
gameId |
String |
Unique game id within the Game Provider platform. |
bonusId |
String |
Unique bonus identifier within the ATLASLIVE platform. |
casinoId |
String |
Casino project identifier. |
spinsCount |
Integer |
Number of free rounds |
betValues |
Map |
List of bet amounts with the currencies |
startDate |
Long |
Date and time when the bonus will start, timestamp in seconds. |
expirationDate |
Long |
Date and time when the bonus will expire or until it is valid, timestamp in seconds. |
POST {provider_base_url}/registerBonus HTTP/1.1
Content-Type: application/json;
Authorization: Basic YXRsYXNfaWFjOnBhc3N3b3JkMTI=
{
"gameId": "777magic",
"bonusId": "8900-765432",
"casinoId" : "nashbet",
"spinsCount": 10,
"betValues": {
"EUR": 200,
"USD": 180
},
"startDate": 1685577600,
"expirationDate": 1687219200
}
HTTP/1.1 200 OK
Content-Type: application/json
HTTP/1.1 200 OK
Content-Type: application/json
{
"errorCode": 7016,
"error": "Free spins are not available for this game"
}
Assign free spin bonus to the client
Using this method ATLASLIVE Platform can add one player to the existing FreeSpins Bonus.
| Name | Type | Description |
|---|---|---|
bonusId |
String |
Unique bonus identifier within the ATLASLIVE platform. |
bonusInstanceId |
String |
Unique bonus instance identifier for the specific clientId. |
casinoId |
String |
Casino project identifier. |
clientId |
String |
Identifier of the user within ATLASLIVE platform that is sent by AP in game launch request and wallet request. |
currency |
String |
Player’s ISO 4217 currency code. Examples: 'EUR' or 'USD' |
POST {provider_base_url}/assignBonus HTTP/1.1
Content-Type: application/json;
Authorization: Basic YXRsYXNfaWFjOnBhc3N3b3JkMTI=
{
"bonusId": "8900-765432",
"bonusInstanceId": "876557",
"casinoId" : "nashbet",
"clientId": "43-4312345",
"currency": "EUR"
}
HTTP/1.1 200 OK
Content-Type: application/json
HTTP/1.1 200 OK
Content-Type: application/json
{
"errorCode": 7017,
"error": "BonusId not found"
}
Cancel client free spin bonus
Using this method the ATLASLIVE Platform can cancel an existing FreeSpins Bonus instance previously assigned to a player.
| Name | Type | Description |
|---|---|---|
casinoId |
String |
Casino project identifier. |
bonusId |
String |
Unique bonus identifier within the ATLASLIVE platform. |
bonusInstanceId |
String |
Unique bonus instance identifier for the specific player to be canceled. |
clientId |
String |
Identifier of the user within the ATLASLIVE platform that is sent by AP in game launch and wallet requests. |
currency |
String |
Player’s ISO 4217 currency code. Examples: 'EUR' or 'USD'. |
POST {provider_base_url}/cancelBonus HTTP/1.1
Content-Type: application/json;
Authorization: Basic YXRsYXNfaWFjOnBhc3N3b3JkMTI=
{
"bonusId": "8900-765432",
"bonusInstanceId": "876557",
"casinoId": "nashbet",
"clientId": "43-4312345",
"currency": "EUR"
}
HTTP/1.1 200 OK
Content-Type: application/json
{}
HTTP/1.1 200 OK
Content-Type: application/json
{
"errorCode": 7018,
"error": "BonusInstanceId not found"
}
Obtaining token for API testing
This method should be used for API testing during integration development. Using this method, you are able to obtain a test token skipping creating session via game launch. Method is available only for the test environment. Client id and password will be provided by the Casino Operator.
| Name | Type | Description |
|---|---|---|
clientId |
String |
Identifier of the user within the Casino Operator’s system. |
password |
String |
Client password. |
gameId |
String |
Unique game id within the Game Provider platform. Token will be created for this particular game. |
POST https://game-services-test.k8s-hz.atlas-iac.com/integration-callback/gs/hive/v2/{provider_id}/client:login HTTP/1.1 Content-Type: application/json; Hash: DF4773DA8A41DE35167640236AF9A5C4A5EA75A76BFDFAFD9CA00DD002776ECA0896726BF0F1E46D548D08CF795B11DCBD03D7BEEDDEC7520C338437D18B5FC3
{
"clientId": "1-981242882",
"password": "kiJS3trfF9L",
"gameId": "777magic"
}
HTTP/1.1 200 OK Content-Type: application/json
{
"token": "test-QIJCEsOVGEUHe5D0WKnvbHEjpkLut8rH"
}