Apparat Gaming API

Apparat
graph LR
    GAMES[Games]:::GAME_STYLE    
    GAME_PROVIDER[Game Provider]:::GAME_STYLE
    BRIDGE{Atlas RGS}:::ATLAS_STYLE
    OPERATOR_API[General Operator Wallet API]:::CASINO_STYLE
    GAMES -.- GAME_PROVIDER
    GAME_PROVIDER -.- BRIDGE
    BRIDGE -- Game Provider API --- OPERATOR_API

The General Operator API is an API to connect operators to the Atlas RGS.

The API consists out of two parts.

  • Operator Service API
  • Operator Wallet API

General Operator Service API

The Operator Service API is implemented in the Atlas RGS and can be used by the Operator.

graph RL
    BRIDGE{Atlas RGS}:::ATLAS_STYLE
    OPERATOR_API[Operator]:::CASINO_STYLE    
    OPERATOR_API -- Operator Service API --> BRIDGE

Game Entry

The Operator Service API implements an endpoint that initiates the launch of one of the game provider’s games.

History

The Operator Service API implements an endpoint the serves a web page with the player’s history for a game.

Voucher - Optional

An operator can gift vouchers to a player. Vouchers are tied to a specific game. If a game is played with an active voucher, then for a number of spins, the bet will be paid by the operator, instead of the player.

Using the Operator Service API, vouchers can be added, cancelled, or a list of existing vouchers can be retrieved.

General Operator Wallet API

The Operator Wallet API has to be implemented by the Operator and is used by Atlas RGS.

graph LR  
    BRIDGE{Atlas RGS}:::ATLAS_STYLE
    OPERATOR_API[Operator API]:::CASINO_STYLE
    BRIDGE -- General Operator Wallet API --> OPERATOR_API    

Wallet

The wallet endpoints allow the Atlas RGS to initiate various actions of a player’s wallet, such as placing a bet, booking a win and requesting a player’s current balance.

Requests which are failing due to network problems or with error types ‘internal’, ‘other’ will be retried. When all retries failed, a rollback mechanism will be started.

2 retries with a waiting period of 500ms will be sent. In case a transaction caused by this request id was already performed, the same response has to be returned.

When all retries failed the Atlas RGS considers the booking request as failed and initiates rollback requests. The rollback request will be retried with an increasing waiting time interval (1s, 5s, 30s, 1m, 5m, 10m, 30m).

Authentification

The authorization is secured by the hmac-sha-256 algorithm. The value is sent base64 encoded as auth property. A static secret is shared between the RGS and operator and is used to salt the “value”.

The “value” to be salted differs by the kind of request. Wallet API requests use the token and the Service API requests use a concatination of playerId, gameId and casinoId.

The resulting auth is sent in the “auth” field of the requests.

Sample

Variable Content
value d2be60f7-d8da-4ab3-b527-f0a033ee08ce
secret specialSecret
resulting auth 3/zfPpq8jHHpfQOME8/rvJw8oIFTCk2RCIZRZ/u7m1s=

Error Types

Error Type Description
unauthorized Auth does not match
bad_request Bad request properties
round_already_closed The request game round has already been closed by the operator
balance_insufficient Balance is too low to execute booking request
loss_limit A loss limit was reached
voucher_invalid The provided voucherId was not found or is invalid
transaction_not_found The rollback could not be performed because there was no transaction to this request id found
session_invalid The session of the player became invalid
internal Unhandled internal exception occurred
other

Open API