Betradar - the betting arm of Sportradar
Betradar - the betting arm of Sportradar
- Created by Espen Grinde, last modified by Kevin Langner on 09/May/19
Match information gets sent out live, when the matches are running. This information about the match is distributed in three types of messages: full match feed, delta match feed and deltaupdate feed. These types are explained in more detail below, but the core of those types is the same:
<match feedtype="full" ... > <!-- Additional subelements go here --> <events> <!-- Events go here --> </events> </match>
XML attributes definition
Element | Attributes | ||
---|---|---|---|
Attribute | Description | Possible values | |
match | feedtype | Indicating what type of match information is sent. More information about the different feedtypes can be found below. | String, possible values: |
Full match message
When a client application subscribes to a match, it will receive a full match update immediately after - given the subscription
was successful. This message will contain the current status of the match, and all the events which have happened so far. The
XML example below shows all the attributes and subelements for the match-element which can show up for any sport.
There are a number of additional reasons as to why you may receive a full match message. This is normal, and should be something clients need to be prepared to handle. Even if you receive multiple full feeds it should be considered normal behavior. In some scenarios a full feed update is required to guarantee sanity. An example is when we change the primary data source that we rely upon for the feed generation. This is not expected to happen frequently, but is needed as a backup in case one data source for some reason cannot provide reliable data to our clients.
<match betstatus="STARTED" device="2" coveredfrom="venue" distance="207" dc="1" matchtime="0:22:46" connectionstatus="1" extrainfo="0" feedtype="full" matchid="7895127" start="1285574251000" t1id="130722" t1name="HARSTAD VIKINGS" t2id="130718" t2name="ASKER ALIENS" st1id="198752" st2id="986072" booked="1" > <!-- Various elements explaining current status and match statistics --> <status id="13" name="FIRST_QUARTER" start="1285574561000"/> <score t1="2" t2="0" type="current"/> <tournament id="716" name="BLNO"/> <category id="106" name="Norway"/> <sport id="2" name="Basketball"/> ... <!-- Summary of all events which happened in the match so far --> <events> <event id="7168427" info="[T1] won jumpball" mtime="00:00" side="home" stime="1285574551000" type="1033"/> <event extrainfo="13" id="7168429" info="FIRST_QUARTER" mtime="00:00" side="none" stime="1285574551000" type="1013"/> <event id="7168428" info="Betstart" mtime="00:00" side="none" stime="1285574551000" type="1010"/> <event extrainfo="0" id="7168431" info="Time stopped" mtime="00:18" side="none" stime="1285574569000" type="1036"/> </events> </match>
XML attributes definition
Element | Attributes | ||
---|---|---|---|
Attribute | Description | Possible values | |
match | betstatus | Betstatus the match is currently in. | String. |
device | Id of the device used for scouting. | Integer | |
coveredfrom | Information about where the match is covered from. Note that this attribute needs to be enabled in the XML configuration options. | String, possible values: | |
distance | Optional attribute, added if available. Distance between teams in km. | Integer | |
dc | Optional attribute, added if the | Integer. | |
extrainfo | Integer specifying special information for the match. | Integer | |
matchtime | A textual representation of the | String. Format: | |
connectionstatus | Whether the scout is connected or not. | Integer. Possible values: | |
feedtype | Indicating what type of match information is sent. | String, possible values: full delta deltaupdate | |
matchid | The id of the match the match information message is being sent for. | Integer | |
start | Official match start time. | Timestamp | |
t1id | Team id for home team. | Integer | |
t1name | Team name for home team. | String | |
t2id | Team id for away team. | Integer | |
t2name | Team name for away team. | String | |
st1id | Super team id away team. Note | Integer | |
st2id | Super team id away team. | Integer | |
booked | Optional attribute indicating | Integer. Possible values: | |
Subelements of the <match> element | |||
status | This element is included in the fullfeed, but also gets sent out in the delta feed for the following events: Status change (1013) | ||
id | The id representing the current status the match is in. | Integer | |
name | Textual representation of the current status the match is in. | String. For a full overview of match statuses | |
start | Time at which the status was set. | Timestamp | |
tournament | This element only gets included in full feed. | ||
id | The id representing the tournament. | Integer | |
name | The name of the tournament. | String | |
category | This element only gets included in full feed. | ||
id | The id representing the category. | Integer | |
name | The name of the category. | String | |
sport | This element only gets included in full feed. | ||
id | The id representing the sport. | Integer | |
name | The name of the sport. | String | |
Events | Element holding the events for each sport. More information about events can be found in each individual sport specific chapter. |
The overview above only mentions attributes and subelements which are present for all sports. In addition to this each sport has their own specific attributes and elements. For a full overview of what attributes and elements are present for each sport, see each individual sport specific chapter.
Delta match message
After a full match update is received, most updates will be sent real time as delta messages. In these messages only the new data is sent, and they could be considered a "light" version of the full match information, containing less attributes and by default no subelements (unless the value of that element was changed) in the <match>-element. Delta messages usually contain only one event at a time, and if the value of any of the match statistics changed, this will be included in the delta messages.
Example: If a player receives a yellow card, a delta message is generated and sent out to the client system. This message
contains both a yellow card event in the event list, and the yellow-element is included in the match summary.
<match betstatus="BETSTOP" connectionstatus="1" dc="1" feedtype="delta" matchid="6971324"> <!-- Only statistics which are updated are included in delta messages. --> <yellow t1="1" t2="0"/> <!-- Only one event per message --> <events> <event id="490157138" info="Yellow card [T1]" mtime="05:55" side="home" stime="1445118003431" type="40"/> </events> </match>
The event types used in delta updates are the same as for full match updates.
Deltaupdate match message
If an existing event is changed, a deltaupdate is sent for this event. E.g. a yellow card event is entered, and 1 minute later the event is updated by including which player got the card. Client systems need to consider this message as an update of an existing event, and not a new event.
<match betstatus="STARTED" connectionstatus="1" dc="1" feedtype="delta" matchid="7155792"> <yellow t1="3" t2="0"/> <events> <event id="12475913" info="Yellow card [T1]" mtime="71:48" side="home" stime="1445327534236" type="40"/> </events> </match>
<match betstatus="STARTED" connectionstatus="1" dc="1" feedtype="deltaupdate" matchid="7155792"> <yellow t1="3" t2="0"/> <events> <event id="12475913" info="Yellow card [T1] W.Schober" mtime="71:48" player1="27195" side="home" stime="1445327534236" type=" 40"/> </events> </match>
XML attributes definition
Element | Attributes | ||
---|---|---|---|
Attribute | Description | Possible values | |
match | feedtype | Indicating what type of match information is sent | String deltaupdate = Updated information on an event |
event | id | The unique id of the event which is being updated. | Integer |
Deletion of events
Sometimes events are deleted, e.g. a yellow card not confirmed event was entered incorrectly. When events get deleted, the client does not get a deltaupdate message. Instead, a delete event event gets sent out, as a regular delta message.
<match betstatus="STARTED" connectionstatus="1" dc="1" feedtype="delta" matchid="7155792"> <events> <event id="12475952" info="Yellow card not confirmed" mtime="74:43" side="none" stime="1445327710120" type="1085"/> </events> </match>
<match betstatus="STARTED" connectionstatus="1" dc="1" feedtype="delta" matchid="7155792"> <events> <event extrainfo="12475952" id="12475954" info="Event deleted : Canceled yellow card" mtime="75:52" side="none" stime=" 1445327778444" type="1044"/> </events> </match>
Note
The extrainfo attribute does not contain an ID related to the match itself (that ID is found in the matchid attribute), but it contains the event ID of the event it deletes. In the example above you can see in the 2nd XML example; the extrainfo attribute has the value 12475952, which corresponds to the event id of the message in the 1st XML example (event id="12475952").
And
The 1044 (delete event) can delete any event in the match, as is described above.
XML attributes definition
Element | Attributes | ||
---|---|---|---|
Attribute | Description | Possible values | |
match | feedtype | Indicating what type of match information is sent. | String delta = A new event happened |
event | extrainfo | The unique id of the event which is being deleted. | Integer |
type | The typeid of the event which is being sent out. In the example above a "delete event" gets sent out. | Integer 1044 = Delete event |
Betradar - the betting arm of Sportradar