Retrieve game provider FRB metadata
Retrieve game provider FRB metadata
Retrieves FRB metadata from the game providers, grouped by provider name. Each provider entry includes the template fields the operator must supply when creating a template, along with the list of eligible games.
Request Method: GET
Option 1: All providers
Returns metadata for all providers that support FRB.
Request endpoint: /frb/games/{version}/metadata?subProvider=1
Request parameters:
| Parameter | Data type | Description |
|---|---|---|
| version | String required | The API version. Only version 1.0 is currently supported. Other version values are accepted, but are treated as 1.0. Example: v1 |
| subProvider | Integer required | Must be 1. Activates provider-level grouping by provider name. |
This option does not require an authorization header.
Option 2: Filtered by operator
Returns metadata for only the providers enabled for a specific operator (casino).
Request endpoint: /frb/games/{version}/metadata?subProvider=1&operator_id={casinoId}
Request parameters:
| Parameter | Data type | Description |
|---|---|---|
| version | String required | The API version. Only version 1.0 is currently supported. Other version values are accepted, but are treated as 1.0. Example: v1 |
| subProvider | Integer required | Must be 1. Activates provider-level grouping by provider name. |
| operator_id | Integer required | TechFusion operator ID (casino ID). Only providers enabled for this operator are returned. |
Authorization:
| Header | Required | Description |
|---|---|---|
| jwt-auth | Yes | Sinatra back office session token obtained from login. |
operator_id must be numeric. Sending a non-numeric value returns HTTP 400.
Example Response (both options):
{
"BetSoft": {
"providerId": 82,
"fieldsToDefine": {
"numberOfRounds": {
"type": "Integer",
"maxValue": 2147483647,
"minValue": 0
},
"availableFromDate": {
"type": "Date",
"format": "yyyy-MM-dd HH:mm:ss"
},
"availableDuration": {
"type": "Integer"
},
"expirationDate": {
"type": "Date",
"format": "yyyy-MM-dd HH:mm:ss"
},
"messageFirstLine": {
"type": "String",
"isOptional": false
},
"messageSecondLine": {
"type": "String",
"isOptional": false
},
"offerName": {
"type": "String",
"isOptional": false
}
},
"gameInfoList": [
{
"gameId": "82600118",
"betAmount": [0]
},
{
"gameId": "82600200",
"betAmount": [0]
}
]
},
"Wazdan": {
"providerId": 95,
"fieldsToDefine": {
"numberOfRounds": {
"type": "Integer",
"maxValue": 2147483647,
"minValue": 0
},
"availableFromDate": {
"type": "Date",
"format": "yyyy-MM-dd HH:mm:ss"
},
"availableDuration": {
"type": "Integer"
},
"expirationDate": {
"type": "Date",
"format": "yyyy-MM-dd HH:mm:ss"
},
"offerName": {
"type": "String",
"isOptional": false
}
},
"gameInfoList": [
{
"gameId": "95000012",
"betAmount": [0]
}
]
}
}The response is a map keyed by provider name. Each entry contains:
providerId— the numeric ID of the providerfieldsToDefine— the template fields required by that provider (varies per provider)gameInfoList— the games eligible for FRB under that provider, each with agameIdandbetAmountarray
When using Option 2, only providers enabled for the specified operator are included in the response.
Error Response:
{
"error": "operator_id must be numeric"
}Response codes:
| Code | Status | Message |
|---|---|---|
| 200 | success | 200 success Got games providers FRB metadata successfully |
| 400 | bad request | operator_id must be numeric / authorization header missing |
| 403 | forbidden | operator is not in the user’s available operators list |
| 500 | internal server error | internal server error |