Gaming Inventory
Required data to get started with Opti-X
This document details the data formats for preparing your Inventory.
Important note: The data tables and fields described in this document represent an ideal data structure for using Opti-X. If your data does not include everything presented here, alternative methods exist based on the available data. However, some data is crucial to train our model for the best personalisation results. The data format and transmission will be agreed upon during Integration planning. Additional metadata surrounding games can also be taken into the feed.
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"},
}
There are two ways to exchage inventory data with opti-x:
- through Gaming Inventory API
- Opti-X will map the resulting data into its internal schema. To streamline the process we suggest a customer to fill in the document to highlight what fields from the customer schema match best Opti-x schema.
field name | required | data type | example value | description | automatic tag creation | availability filters * |
---|---|---|---|---|---|---|
game_code | true | string | 2345994 | This can be game code, game ID or any unique identifier for the game | ✔️ | |
game_name | false | string | Adventure Quest | The name of the game | ✔️ | |
game_category | false | string | Slots | The category the game falls in | ✔️ | |
game_class | false | string | Premium | The class of the game | ✔️ | |
game_type | false | string | 3D | The type of the game | ||
description | false | string | A thrilling adventure game with a progressive jackpot | A short explanation of what the game is | ||
desktop | false | integer | 1 | At least one of the platforms should be set to 1. With 1 being True and 0 being False. | ||
mobile | false | integer | 0 | At least one of the platforms should be set to 1. With 1 being True and 0 being False. | ||
tablet | false | integer | 0 | At least one of the platforms should be set to 1. With 1 being True and 0 being False. | ||
extra_channels | false | string | iOS16|iOS17 | custom channels, separated by pipe symbol | ||
rtp | false | float | 0.95 | Field 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%) | ✔️ | |
themes | false | list of strings | ["Adventure"] | Themes of the game | ✔️ | |
launch_date | false | string | 17/05/2023 | The date from which the game was made available | ||
new | false | boolean | true | Indicator if game is new | ||
supplier | false | string | Supplier Inc. | The supplier of the game | ✔️ | |
default_order | false | integer | 50 | Requried in case the customer wishes to use dummy model for some cases and get games in a certain order | ||
jackpot_type | false | string | progressive | Field that specifies different types of jackpots | ||
formatted_summary | false | string | Adventure Quest is a thrilling.... | A formatted summary | ||
formatted_short_summary | false | string | Thrilling adventure game | A short summary of the game | ||
image_url | false | string | https://image.game.com/.. | Image link of the game to display to users | ||
game_features | false | List of objects/dictionaries | [{“feature_1“: “value_1”}, “feature_2“: “value_2“}] | Additional game features | ✔️ | |
tags | false | List of objects/dictionaries | [{“tag_1“: “value_1”}, “tag_2“: “value_2“}] | List of additional tags to create | ✔️ | |
skin_id | false | list of strings | [”21”, “23”] | List of game skins ids | ✔️ | |
regulation | false | list of strings | ["UK", "DE"] | A list of countries codes where the game is available | ✔️ | |
inclusions | false | object/dictionary | {"country": ["UK", “DE”]} | Game inclusions (IN operator) used in availability filters | ✔️ | |
exclusions | false | object/dictionary | {"currency": "USD"} | Game exclusions (NOT IN operator) used in availability filters | ✔️ | |
extra | false | object/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
Updated about 1 month ago