Gaming Inventory

Required data to get started with Opti-X

This document details the data formats for preparing your Inventory.

Inventory data

Game Inventory data provides a daily snapshot of available games and their associated metadata. For example:

{
  "game_code": "123456",
  "game_name": "Adventure Quest",
  "game_category": "Slots",
  "game_class": "premium",
  "game_type": "3D",
  "description": "A thrilling adventure game with a progressive jackpot.",
  "desktop": 1,
  "mobile": 0,
  "tablet": 1,
  "extra_channels": "iOS16|iOS17",
  "rtp": 0.95,
  "themes": ["Adventure"],
  "launch_date": "17/05/2023",
  "new": true,
  "supplier": "Supplier Inc.",
  "default_order": 1,
  "jackpot_type": "progressive",
  "formatted_summary": "Adventure Quest is a thrilling...",
  "formatted_summary_short": "Thrilling adventure game...",
  "image_url": "https://game.example.com/image.jpg",
  "game_features": [{"feature1": "feature_details"}],
  "tags": [{"tag1": "value1"}, {"tag2": "value2"}],
  "skin_id": ["21", "23"],
  "regulation": ["UKGC", "MGA"],
  "inclusions": {"country": ["UK", "DE"]},
  "exclusions": {"currency": "USD"},
  "extra": {"key1": "value1", "key2": "value2"},
}

You need to exchange inventory data with Opti-x through Gaming Inventory API

field namerequireddata typeexample valuedescriptionautomatic tag creationavailability filters *
game_codetruestring2345994This can be game code, game ID or any unique identifier for the game✔️
game_namefalsestringAdventure QuestThe name of the game✔️
game_categoryfalsestringSlotsThe category the game falls in✔️
game_classfalsestringPremiumThe class of the game✔️
game_typefalsestring3DThe type of the game
descriptionfalsestringA thrilling adventure
game with a progressive jackpot
A short explanation of what the game is
desktopfalseinteger1At least one of the platforms should be set to 1. With 1 being True and 0 being False.
mobilefalseinteger0At least one of the platforms should be set to 1. With 1 being True and 0 being False.
tabletfalseinteger0At least one of the platforms should be set to 1. With 1 being True and 0 being False.
extra_channelsfalsestringiOS16|iOS17custom channels, separated by pipe symbol
rtpfalsefloat0.95Field represents return to punter/player. Field means the expected return to each bet. It is percentage return expressed by float number. E.g. rtp = 0.96 (96%) means the casino’s expected profit in the long run would be 0.04(4%)✔️
themesfalselist of strings["Adventure"]Themes of the game✔️
launch_datefalsestring17/05/2023The date from which the game was made available
newfalsebooleantrueIndicator if game is new
supplier falsestringSupplier Inc.The supplier of the game✔️
default_orderfalseinteger50Requried in case the customer wishes to use dummy model for some cases and get games in a certain order
jackpot_typefalsestringprogressiveField that specifies different types of jackpots
formatted_summaryfalsestringAdventure Quest is a thrilling....A formatted summary
formatted_summary_shortfalsestringThrilling adventure gameA short summary of the game
image_urlfalsestringhttps://image.game.com/..Image link of the game to display to users
game_featuresfalseList of objects/dictionaries[{“feature_1“: “value_1”}, “feature_2“: “value_2“}]Additional game features✔️
tagsfalseList of objects/dictionaries[{“tag_1“: “value_1”}, “tag_2“: “value_2“}]List of additional tags to create✔️
skin_idfalselist of strings[”21”, “23”]List of game skins ids✔️
regulationfalselist of strings["UK", "DE"]A list of countries codes where the game is available✔️
inclusionsfalseobject/dictionary{"country": ["UK", “DE”]}Game inclusions (IN operator) used in availability filters✔️
exclusionsfalseobject/dictionary{"currency": "USD"}Game exclusions (NOT IN operator) used in availability filters✔️
extrafalseobject/dictionary{“key_1“: “value_1”, “key_2“: “value_2“}Any data that should be returned to the user but is not necessarily needed for personalization

*Please check availability filters documentation for more details