Type Definitions
# Bet
Properties:
Name | Type | Description |
---|---|---|
id |
string | number | |
event |
Object | |
id |
Object | Sportradar match id |
markets |
MarketsResponse Widgets.BetConcierge.Integration.DataAdapter.MarketsResponse | Array of selected markets and outcomes |
Example
{
id: "demo-bet",
event: {
id: 50955897
},
markets: [
{
id: "1",
name: "1x2",
outcomes: [
{
id: "3",
name: "Nice",
isSelected: true,
status: {
isActive: true
}
}
],
status: {
status: "active"
}
}
]
}
# BetConciergeAdapter()
Used to configure the adapter that retrieves and displays the information from the client's API.
Properties:
Name | Type | Description |
---|---|---|
requestName |
string | name of the requested adapter. |
args |
MarketsRequest Widgets.BetConcierge.Integration.DataAdapter.MarketsRequest | BetSlipRequest Widgets.BetConcierge.Integration.DataAdapter.BetSlipRequest | CustomBetCalculateRequest Widgets.BetConcierge.Integration.DataAdapter.CustomBetCalculateRequest | Arguments for individual request |
callback |
OnRequestCallback Widgets.BetConcierge.Integration.DataAdapter.OnRequestCallback | Function that should be executed whenever data for the request changes |
Example
function onRequest(requestName, args, callback) {
// adapter implementation
}
SIR('registerAdapter', onRequest);
# BetSlipRequest
Arguments for the bet slip request.
Properties:
Name | Type | Description |
---|---|---|
matchId |
string | number | Sportradar ID of the match. |
Example
{
matchId: 50955897
}
# BetSlipResponse
Arguments for the bet slip response.
Properties:
Name | Type | Description |
---|---|---|
betSlip |
Object | Users current bet slip. Used to match the selected outcomes form the bet slip to the bet suggestions in the chat - Alternative to |
id |
string | |
betType |
'single' | 'multibet' | 'sameGameMulti' | |
bets |
Array.<Bet> Array.<Widgets.BetConcierge.Integration.DataAdapter.Bet> | Array of bets in the bet slip. |
Example
{
betSlip: {
id: "demo-bet-slip",
betType: "single",
bets: [
{
id: "demo-bet",
event: {
id: 50955897
},
markets: [
{
id: "1",
name: "1x2",
outcomes: [
{
id: "3",
name: "Nice",
isSelected: true,
status: {
isActive: true
}
}
],
status: {
status: "active"
}
}
]
},
.....
]
}
}
# CustomBetCalculateRequest
Arguments for the custom bet request.
Properties:
Name | Type | Description |
---|---|---|
calculatePayload |
string | Custom bet XML payload for UOF odds calculation. |
Example
`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<filterSelections
xmlns="http://schemas.sportradar.com/custombet/v1/endpoints"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://schemas.sportradar.com/custombet/v1/endpoints
http://schemas.sportradar.com/custombet/v1/endpoints/Selections.xsd">
<selection id="sr:match:50955897">
<market market_id="1" outcome_id="3"/>
</selection>
</filterSelections>`
# CustomBetCalculateResponse
Arguments for the custom bet response.
Properties:
Name | Type | Description |
---|---|---|
payload |
string | Calculate custom bet XML response. |
Example
`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<filtered_calculation_response generated_at="2025-04-16T13:29:08+00:00">
<calculation odds="21.50303106727931" probability="0.030418715351118873" harmonization="false"/>
<available_selections>
<event id="sr:match:58265377">
<markets>
<market id="65" specifiers="hcp=0:2" conflict="false">
<outcome id="1711" conflict="true"/>
<outcome id="1712" conflict="true"/>
<outcome id="1713" conflict="false"/>
</market>
.....
</markets>
</event>
</available_selections>
</filtered_calculation_response>`
# MarketSpecifier
Properties:
Name | Type | Attributes | Description |
---|---|---|---|
markets.specifier.value |
string | number |
Example
{
value: "total=2.5"
}
# MarketStatus
Properties:
Name | Type | Description |
---|---|---|
markets.status.status |
'active' | 'deactivated' | Market status. If market status is not |
Example
{
status: "active"
}
# MarketsRequest
Arguments for the markets request.
Properties:
Name | Type | Description |
---|---|---|
matchId |
string | number | Sportradar ID of the match. |
Example
{
matchId: 50955897
}
# MarketsResponse
Arguments for the markets response.
Properties:
Name | Type | Attributes | Description |
---|---|---|---|
markets |
Array.<Object> |
<required> |
Array of supported markets. AI will suggest bets out of these markets. |
id |
string | number |
<required> |
Sportradar market id |
name |
string |
<required> |
Displayed market name |
outcomes |
Array.<Outcome> Array.<Widgets.BetConcierge.Integration.DataAdapter.Outcome> |
<required> |
Array of outcomes |
status |
MarketStatus Widgets.BetConcierge.Integration.DataAdapter.MarketStatus |
<required> |
|
specifier |
MarketSpecifier Widgets.BetConcierge.Integration.DataAdapter.MarketSpecifier |
Example
{
markets: [
{
id: "1",
name: "1x2",
outcomes: [
{
id: "1",
name: "PSG",
odds: "1.44",
isSelected: false,
status: {
isActive: true
}
},
{
id: "2",
name: "Draw",
odds: "4.80",
isSelected: false,
status: {
isActive: true
}
},
{
id: "3",
name: "Nice",
odds: "7.50",
isSelected: false,
status: {
isActive: true
}
}
],
status: {
status: "active"
}
},
.....
]
}
# OnRequestCallback(error, data) → {void}
Callback argument in the adapter onRequest function
Parameters
Name | Type | Description |
---|---|---|
error |
Object | undefined | Error object or undefined if there is no error. |
data |
MarketsResponse Widgets.BetConcierge.Integration.DataAdapter.MarketsResponse | BetSlipResponse Widgets.BetConcierge.Integration.DataAdapter.BetSlipResponse | CustomBetCalculateResponse Widgets.BetConcierge.Integration.DataAdapter.CustomBetCalculateResponse | Shape of this object is defined by requestName. |
# Outcome
Properties:
Name | Type | Attributes | Description |
---|---|---|---|
id |
string | number |
<required> |
Sportradar outcome id |
name |
string |
<required> |
Displayed outcome name |
isSelected |
boolean |
<required> |
Used to mark outcomes a selected in the bet suggestions in the chat |
odds |
string | number | String or number representation of odds displayed as is, meaning NO FORMATTING. |
|
oddsDecimal |
number | Numeric EU representation of odds (decimal number) displayed on market outcome. |
|
status |
Object |
<required> |
|
isActive |
boolean |
<required> |
Outcome status. If outcome status is not active, it will not be displayed in the widget. |
Example
{
id: "1",
name: "PSG",
odds: "1.44",
isSelected: false,
status: {
isActive: true
}
}