Betradar - the betting arm of Sportradar

Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Anchor
topOfPage
topOfPage
Excerpt Include
HideElements
HideElements
nopaneltrue

Excerpt Include
BetradarLogo
BetradarLogo
nopaneltrue

Panel

Table of contents

Table of Contents

UOF IDs (URN)

UOF introduces a new format of sport event IDs which is called URN.

URN is built of a prefix (e.g. sr, wns, vf, etc.), sport event type (e.g. match, season, competitor, etc.) and the actual sport event ID, where these are separated by a colon.

An example of a match ID would be sr:match:8412480.

In the above example, sr is the prefix, match is the sport event type, and 8412480 is the sport event ID.

Note

Note

In order to prevent any confusions, URN should always be treated as a whole, as IDs might overlap over various sport event types.


IDs are normally the same in UOF and in our legacy feed, with a few exceptions:

  • Tournament ID in UOF is SuperTournament or UniqueTournament ID from legacy feeds
  • Competitor ID in UOF is SuperCompetitor or UniqueCompetitor ID from legacy feeds

Fixtures and entities

In the legacy Live Odds feed, information about fixtures, player information (competitors), venues and so on, was provided via different XML configurations and added to the meta message for each match. Most of the XML configurations available in the legacy Live Odds feed have been made standard in the Unified Feed, but some have been made available via an API self-service. This enables clients to get the desired information whenever they want, without the additional hassle of making sure a certain configuration is enabled for a certain sport or match.

Unified Odds Feed provides a simplified fixtures change message that provides the necessary information on when/if fixtures change for an event, match, tournament happen. For additional information about fixtures outside of this i.e. Where the event is taking place, who are the competitors, league information, what coverage is included and so forth, the API is available for all such requests.

Markets, outcomes and specifiers

Unified odds feed introduces a totally redesigned markets list and markets logic. Markets have new IDs, which are shared across all producers. There are also a few new properties such as newly introduced market statues, groups property, specifiers, etc.

Code Block
languagexml
titleMarket description example
<market id="16" name="Handicap" groups="all|score|regular_play">
    <outcomes>
        <outcome id="1714" name="{$competitor1} ({+hcp})"/>
        <outcome id="1715" name="{$competitor2} ({-hcp})"/>
    </outcomes>
    <specifiers>
        <specifier name="hcp" type="decimal"/>
    </specifiers>
</market>
Info
More information about markets and outcomes can be found here - https://docs.betradar.com/display/BD/UOF+-+Markets+and+outcomes

Specifiers

In the legacy Live Odds feed there is a concept called Special Odds Value. The equivalent in Unified Odds are called specifiers. The Unified Odds specifiers is a cleaned up version of the special odds values that provides a uniform and descriptive way of specifying additional parameters that uniquely identifies a market (as seen in the examples above).
The differences here are that legacy Live Odds only sends the values separated with a single separator (usually a / symbol), while the Unified Feed sends a key/value pair separated by the | (pipe) symbol.

The following example is from a cricket match, where the over/under bet of 2.5 (total=2.5) is set to the 5th over in the cricket match, represented by the “overnr=5” value.

  • Legacy special odds value: "5/2.5"
  • Unified feed specifiers: "overnr=5|total=2.5"
Code Block
languagexml
<market name="Total" id="18" specifiers="total=3.5" status="1">
    <outcome name="over 3.5" active="1" id="12" odds="2.3"/>
    <outcome name="under 3.5" active="1" id="13" odds="1.55"/>
</market>

<market name="Total" id="18" specifiers="total=2.5" status="1">
    <outcome name="under 2.75" active="1" id="13" odds="2.1"/>
    <outcome name="over 2.75" active="1" id="12" odds="1.65"/>
</market>
Info
More information about market specifiers can be found here - https://docs.betradar.com/display/BD/UOF+-+Specifiers

Groups

Markets in UOF are split into groups which is reflected in the market description of each market. Groups property can be used in bet stop messages, which gives us the ability of suspending only a group of markets instead of all markets for a specific sport event.

Market mappings

Since markets in UOF have new market IDs, these can always be mapped to our legacy market IDs via UOF API.
If a market description is requested from the API, it is possible to include the market mappings that say what Live Odds or Life-cycle of Odds market IDs that are the same as in Unified Odds (or closest to).

This is reflected by adding an additional parameter to the market description request: include_mappings=”true”.

Code Block
languagexml
titleExample of a market mapping
collapsetrue
<market id="16" name="Handicap" groups="all|score|regular_play">
    <outcomes>
        <outcome id="1714" name="{$competitor1} ({+hcp})"/>
        <outcome id="1715" name="{$competitor2} ({-hcp})"/>
    </outcomes>
    <specifiers>
        <specifier name="hcp" type="decimal"/>
    </specifiers>
    <mappings>
        <mapping product_id="1" product_ids="1|4" sport_id="sr:sport:1" market_id="7:34" sov_template="{hcp}">
            <mapping_outcome outcome_id="1714" product_outcome_id="17" product_outcome_name="1"/>
            <mapping_outcome outcome_id="1715" product_outcome_id="18" product_outcome_name="2"/>
        </mapping>
        <mapping product_id="1" product_ids="1|4" sport_id="sr:sport:2" market_id="7:34" sov_template="{hcp}">
            <mapping_outcome outcome_id="1714" product_outcome_id="17" product_outcome_name="1"/>
            <mapping_outcome outcome_id="1715" product_outcome_id="18" product_outcome_name="2"/>
        </mapping>
        <mapping product_id="3" product_ids="3" sport_id="sr:sport:1" market_id="51" sov_template="{hcp}" valid_for="hcp~*.0">
            <mapping_outcome outcome_id="1714" product_outcome_id="1" product_outcome_name="1"/>
            <mapping_outcome outcome_id="1715" product_outcome_id="3" product_outcome_name="2"/>
        </mapping>
        <mapping product_id="3" product_ids="3" sport_id="sr:sport:1" market_id="51" sov_template="{hcp}" valid_for="hcp~*.25">
            <mapping_outcome outcome_id="1714" product_outcome_id="1" product_outcome_name="1"/>
            <mapping_outcome outcome_id="1715" product_outcome_id="3" product_outcome_name="2"/>
        </mapping>
        <mapping product_id="3" product_ids="3" sport_id="sr:sport:1" market_id="566" sov_template="{hcp}" valid_for="hcp~*.0">
            <mapping_outcome outcome_id="1714" product_outcome_id="1" product_outcome_name="1"/>
            <mapping_outcome outcome_id="1715" product_outcome_id="3" product_outcome_name="2"/>
        </mapping>
        <mapping product_id="6" product_ids="6" sport_id="sr:sport:1" market_id="7:34" sov_template="{hcp}">
            <mapping_outcome outcome_id="1714" product_outcome_id="17" product_outcome_name="1"/>
            <mapping_outcome outcome_id="1715" product_outcome_id="18" product_outcome_name="2"/>
        </mapping>
    </mappings>
</market>
Note

Please note that one Note

One market can contain several mappings to legacy markets based on:

  • Sport
  • Product (pre-match / live / virtuals, etc.)
  • Specifier value (e.g. hcp~*.25 maps to Asian Handicap)

HideElements
cssselectortd.attachment-created.modified-column
metastrue
peopletrue
toolstrue