Skip to content

Operator settings

https://environment/operatorsettings

(pls exchange environment with either the URL of the environment)

At the end of the page you find a field where operator settings can be defined

operator-game-settings figure 3

Be aware that valid JSON has to be entered. You can use https://jsonlint.com/ to validate your JSON before entering in the form and submitting the changes.

Any options defined in that document can be combined.

Operator protocol independent settings

The following settings can be applied to any operator protocol.

Default profile

{
        "defaultProfile": "jurisdiction-de"
}

This defines the default protocol used for launching games. Any profile listed here can be used.

Default game settings (all games)

{
        "defaultSettings": {
                "displayXRTP": false,
                "gambleEnabled": false
        }
}

This defines any game settings applied to games being launched. You can define any properties defined here.

Default game settings (demo games only)

{
        "demoSettings": {
                "displayCurrency": false
        }
}

This defines any game settings applied to demo games being launched. You can define any properties defined here.

Default max exposure (all games)

{
        "defaultSettings": {
                "maxExposure": 25000000
        }
}

The above will limit max exposure in games on that operator to 250,000 EUR. Note that zeroes for decimals must be used i.e. 250,000 EUR here is written “25000000”.

In-game, the max stake will be capped to ensure the max exposure cannot be exceeded.

Enable animation end reporting (all games)

{
        "defaultSettings": {
                "reportAnimationEnd": true
        }
}

The above will limit max exposure in games on that operator to 250,000 EUR. Note that zeroes for decimals must be used i.e. 250,000 EUR here is written “25000000”.

In-game, the max stake will be capped to ensure the max exposure cannot be exceeded.

Default game settings (specific games)

{
        "defaultGameSpecificSettings": {
                "game-bells": {
                        "gambleEnabled": true
                }
        }
}

This defines any game settings applied to games being launched. You can define any properties defined here.

Age of gameround before its closed

{
        "gameRoundAgeToCloseInMS": 21600000
}

This setting defines after how many milliseconds games will either be auto closed or pending transactions retried (if not processed by delayed queue). This is an optional setting and defaults to the value shown above.


Delayed queue options

These options override the default behaviour of delayed payments. All of these settings are optional and default to values stated below.

Enable delayed payment queue

{
        "shouldWeDelay": true
}

Note that this is enabled by default for EveryMatrix, ISoftbet, LottoLand Omni and Pariplay integrations. All other integrations do not use delayed payment as default.

Enable delayed payment for transaction calls with generic errors (internal use only)

{
        "shouldWeDelayOnUnprocessedTransactions": true
}

Note that this is disabled by default. This will cause transaction calls to be delayed when only a generic error was received but no transaction hasher were returned. Classified as internal use only for now.

Set intervals of retries made

{
        "delaySettings": {
                "shortRetryCount": 10,
                "longRetryTimeInMS": 3600000,
                "shortRetryTimeInMS": 60000
        }
}

Payments put into the delayed payment queue are retried shortRetryCount times with an interval of shortRetryTimeInMS milliseconds, after that retries are made every longRetryTimeInMS milliseconds. The example above shows the default values.

Maximum age of a gameround

{
"maxGameRoundAge": 86400
}

Defines the maximum age of a gameround in seconds. to be held in the delayed payment queue before it is getting marked as stranded. The example above shows the default values.

Use closing state

{
        "doNotUseClosingState": false
}

For default operation select false, meaning that end transactions are queued but not preventing a player from starting a new gameround. The gameround will be marked with a state “closing” instead of “open”. This is suitable for all operators except some ISoftBet settings where the above value should be set to true., leaving gamerounds in the state of “open” until the transaction is transmitted successfully or marked as stranded after the maxGameRoundAge settings in seconds. The example above shows the default value.

Void debits on all errors (native integration only)

{
        "voidAllDebits": true
}

Default is false, meaning that debits are only voided on 5xx errors or network timeouts. By enabling this flag all debit transactions with errors will be voided by sending a VOID transaction to the operator even for 4xx errors. Note that is applies only to native integrations.

Operator protocol specific settings

The settings listed above are mandatory for the given operator protocol. Values given are examples and should be defined as given by integrator / operator.

PARIPLAY_EVI (Protocoltype 2)

{
        "account": {
                "Password": "******",
                "Username": "******"
        }
}

{
        "reconToken": "*****"
}

{
  "apiKey": "",
  "licenseeId": "soft2bet-licenseeid",
  "sharedSecret": ""
}

LOTTOLAND_OMNI (Protocoltype 4)

SOFT2BET/GAMEKONG (Protocoltype 22)

Note that licenseeid has to be replaced with the value given by Soft2bet. It is important that it is prefixed with soft2bet- before entered in the hinterzimmer backend.

Operator to RGS endpoints (To share with operators)

Consult the operator documentation for the most recent version and the appropriate payload to use.

Game Launcher/Session
POST /operator/gamekong/session
POST /operator/gamekong/bonus
DELETE /operator/gamekong/bonus/{bonusId}
Create and delete bonuses


BETCONSTRUCT (Protocoltype 24)

{
  "licenseeId": "betconstruct-licenseeid",
  "sharedSecret": ""
}

Note that licenseeid has to be replaced with the value given by BetConstruct. It is important that it is prefixed with betconstruct- before entered in the hinterzimmer backend.

Operator to RGS endpoints (To share with operators)

Consult the operator documentation for the most recent version and the appropriate payload to use.

Game Launcher
POST /operator/betconstruct/launch
POST /operator/betconstruct/bonus
POST /operator/betconstruct/getGames

{
        "licenseeId": "isb-licenseeid",
        "sharedSecret": "*******"
}
Create bonus
Get Games

 ---

ISOFTBET_PACIFIC (Protocoltype 5)

Note that licenseeid has to be replaced with the value given by ISoftbet. It is important that it is prefixed with isb- before entered in the hinterzimmer backend.

This integration supports multiple licensee ids by changing the prefix “isb” to another value. It has to start with “isb” and must not contain spaces or special characters (only alpha allowed).

The following is an example of a alternative prefix along with some other common settings for ISB operators

{
  "licenseeId": "isbaws2-134",
  "sharedSecret": "******",
  "delaySettings": {
    "shortRetryCount": 0,
    "longRetryTimeInMS": 3600000,
    "shortRetryTimeInMS": 60000
  },
  "doNotUseClosingState": true
}

{
        "sharedSecret": "******"
}

{
        "platform": "dev",
        "gameStudio": "hoelle",
"gameStudioFullName": "Hölle Games",
        "licenseeId": "relax-partnerid",
        "incomingAccount": {
                "passWord": "password",
                "userName": "username"
        }
}

EVERYMATRIX_ENGINE (Protocoltype 6)

RELAX (Protocoltype 7)

Note that partnerid has to be replaced with the value given by Relax. It is important that it is prefixed with relax- before entering in the hinterzimmer backend. The values “platform”, gameStudio and inComingAccount also have to be shared with relax. The value of “gameStudioFullName” is used to send the full game studio name in getGames call used by relax to get a list of available games.

GAMANZA (Protocoltype 8)

{
        "sharedSecret": "******"
}

{
        "licenseeId": "softswiss-casino_id",
        "sharedSecret": "*******"
}

SOFTSWISS (Protocoltype 10)

Note that casino_id has to be replaced with the value given by Softwiss. It is important that it is prefixed with softswiss- before being entered in the hinterzimmer backend.

SOFTSWISS - disabling of BetWin requests

{
        "softswissDisableUseBetWin": true
}

This is an optional setting (defaults to false). If enabled (set to true) bet and win requests will be sent in two calls and no transaction will be sent containing a win and a bet action in the same payload. It has to be added to the default parameters mentioned in the paragraph above!

Note: the usage of this flag is NOT recommended, please contact SoftSwiss if this flag should be used or not (default is false)


Light & Wonder (aka SGD aka OGS) (Protocoltype 12)

{
  "gameStudio": "265",
  "licenseeId": "ogs-5",
  "gcmLauncher": "https://hoellefrontend.s3.eu-central-1.amazonaws.com/sgd-launcher/index.html",
  "incomingAccount": {
    "passWord": "***",
    "userName": "***"
  },
  "outgoingAccount": {
    "passWord": "***",
    "userName": "***"
  }
}

This integration supports multiple prefixes for the licenseeId which has to start with “ogs” and must not contain spaces or special characters (only alpha characters allowed)

Also for each prefix assigned there has to exist a default profile as some backoffice calls made by the L&W backend do not include an operator id.

The setting incomingAccount is used to identify calls made by L&W to the hinterzimmer backend vs. outgoingAccount is used to identify calls made by hinterzimmer backend to the L&W backend. These settings have to be shared with L&W. Note that these settings have to be the same for all operators sharing the same prefix.

The setting gameStudio is fixed and should be 265 in call cases.

The setting gcmLauncher is also fixed and depending on the environment.

The following is an example for a default operator profile

{
  "gameStudio": "265",
  "licenseeId": "ogs-default",
  "gcmLauncher": "https://hoellefrontend.s3.eu-central-1.amazonaws.com/sgd-launcher/index.html",
  "incomingAccount": {
    "passWord": "***",
    "userName": "***"
  },
  "outgoingAccount": {
    "passWord": "***",
    "userName": "***"
  }
}

Note: In order to activate free rounds for a L&W operator the following checkbox has to be selected in operator settings:

operator-game-settings figure 4


Native (Protocoltype 1)

{
        "splitNativeDebitCreditEnd": true
}

This is an optional setting (defaults to false). If enabled (set to true) native payment requests containing a debit / credit / end will be split internally in 2 calls the first one containing the debit operations, the second call containing the credit / end transactions

Note: the usage of this flag is NOT recommended, just for operators which don’t support a single call containing debit / credit / end in one package. Please contact hinterzimmer support before activating that flag.

{
        "addSerialToTransactions": true
}

This is an optional setting (defaults to false). If enabled (set to true) doTransaction calls submitted to the operator will contain information about ticket / freeplays used. Refer to Operator API documentation for details


GeoIP blocking

Starting with version V1.6.38 of hinterzimmer back office, geo IP blocking for an operator account may be defined. You need to have administrator rights to view or change these settings. Geo blocking will be applied to game-api/login calls only, so players will not be able to launch new game sessions. Games in progress will continue.

Above is a sample of how to enter a valid rule.

operator-game-settings figure 5

IP blocking rules have to be entered as a valid JSON object (use a JSON validator like https://jsonlint.com/ in case of problems) and can contain the following properties:

PropertyContents
whiteListAn array of uppercase ISO 3166-1 alpha-2 codes of countries which are allowed (all other countries will be blocked) Also ISO 3166-2 codes can be used to target region codes, like DE-BB for germany / brandenburg or US-TX for USA / Texas.
blackListAn array of uppercase ISO 3166-1 alpha-2 codes of countries which are blocker (all other countries will be allowed) Also ISO 3166-2 codes can be used to target region codes, like DE-BB for germany / brandenburg or US-TX for USA / Texas.
grayListAn array of uppercase ISO 3166-1 alpha-2 codes of countries which are allowed overriding a blacklist or global block Also ISO 3166-2 codes can be used to target region codes, like DE-BB for germany / brandenburg or US-TX for USA / Texas.
allowedIPListAn array of IP addresses in CIDR notation for which whiteList or blackList rules should be ignored

Note: If both whiteList and blackList rules are defined only whiteList will be used.


Examples

Allow only traffic from DACH and allow internal testplays

{"whiteList":["DE","AT","CH"],"allowedIPList":["172.16.16.0/24"]}

Deny players from US but allow a special IP

{"blackList":["US"],"allowedIPList":["12.87.118.10"]}

Override a default country block for NL while still allowing all other countries

{"grayList":["NL"]}

Deny traffic from Canada but allow traffic from from Quebec and all other countries

{
"blackList": ["CA"],
"grayList": ["CA-QC"]
}

Deny traffic from Ontario

{
      “blackList”: ["CA-ON"],
}

Other settings

Restrict game mode

This settings allows to limit an operator to only real or demo games

{
  "validGameModes": [
    "DEMO"
  ]
}

Allowed values are either "DEMO" or "REAL"

Restrict to a list of currencies

This settings allows to limit an operator to only allow games within a list of permitted currencies

{
  "currenciesRestricted": [
    "EUR",
    "HUF"
  ]
}

Allowed value is an array of any currencies (3 or 4 digits)

Use a fixed currency

{
  "useFixedCurrency": "COIN"
}

This setting is recommended for social casinos. It forces the currency regardless of what the operator is sending in the game launch request.


Using custom currencies

{
"customCurrencies": {
                "GOLD": 500,
                "SILV": 1000,
        }
}

These settings can be used to enable a set of custom currencies. Note that the length of the currency is limited to 4 characters. The multiplier has to be an integer with a minimum value of 1.

Using custom currency multipliers

{
          "customCurrencyMultipliers": {
                    "GBP": 2
          }
}

This setting can be used to define a multiplier different to the global ones. The multiplier has to be an integer with a minimum value of 1.

Please note that changes might take 24 hours to propagate as the currency multipliers are bound to an active game session which expires after 24 hours to not interfere with running games and/or assigned freeplays.

Enabling custom stakes sent by the operator

{
        "allowCustomStakes": true
}

This setting enables the game setting “customStakes” which can be sent by the operator as a parameter to the game launch command. See section “Appendix C - game settings parameters” in the Operator API Documentation


Restrict to a list of games

This settings allows to limit an operator to only allow specified games

{
  "allowedGames": [
    "game-fruits"
  ]
}

The example above only allows the game “game-fruits” to be played.

Disable to a list of games

This settings allows to disable a list of games for an operator

{
  "deniedGames": [
    "game-fruits"
  ]
}

The example above only allows all games except “game-fruits” to be played.


Recommend settings for social casinos

{
  "isSocial": true,
  "defaultSettings": {
    "maxExposure": 100000000000000000,
    "displayCurrency": false
  },
  "useFixedCurrency": "COIN",
  "allowCustomStakes": true
}

This set of settings enable the operator to send custom stakes, lock the currency to “COIN” to prevent usage of other currencies and set the maximum exposure to the highest available number. Also suppresses display of the currency in the game client.