The rules of tennis can be found here:
- International Tennis Federation: http://bit.ly/28MxOg0
Note: rules can vary between competitions.
This document describes the V3 tennis match state contract.
Match Summary Message
The summary message summarises the major match events into a single, easily digested message.
{
"Source":Betgenius,
"BetgeniusFixtureId":3415011,
"SourceFixtureId":null,
"BookmakerId":6002,
"CompetitorA":{},
"CompetitorB":{},
"IsReliable":true,
"IsScoreConfirmed":True,
"StateOfPlay":"BetweenPoints",
"Server":"CompetitorA",
"Match":{},
"StartedAt":"2015-10-01T15:15:40.951Z",
"FinishedAt":null,
"MessageTimestampUtc":"2015-10-01T15:15:44.955Z"
}
Element |
Type |
Description |
---|---|---|
Source |
String |
The source of the data, typically the name of the company analysing the match |
BetgeniusFixtureId |
Integer |
An immutable identifier for the fixture |
SourceFixtureId |
String |
The fixture ID used by the data source if data source is not Betgenius |
BookmakerId |
Integer |
An immutable identifier for the customer |
CompetitorA |
CompetitorDetails |
An object that describes Competitor A |
CompetitorB |
CompetitorDetails |
An object that describes Competitor B |
IsReliable |
Boolean |
True if the data values are reliable, False otherwise |
IsScoreConfirmed |
Boolean |
True if this score has been confirmed, False otherwise |
StateOfPlay |
MatchStatus |
An enum describing the current state of play. Values: |
Server |
CompetitorIdentifier |
An object that indicates which competitor is serving |
Match |
Match |
An object that describes the match score |
StartedAt |
DateTime, optional |
The UTC time that the fixture started, if complete; null otherwise |
FinishedAt |
DateTime, optional |
The UTC time that the fixture ended, if complete; null otherwise |
MessageTimestampUtc |
DateTime |
The UTC time that the message is sent |
CompetitorDetails
Describes a player in a tennis match.
{
"Id":"6546872",
"Name":"Andy Murray"
}
Element |
Type |
Description |
---|---|---|
Id |
String |
An immutable ID for the player |
Name |
String |
The name of the player |
Match
Describes the current score in a tennis match.
{
"MatchScore":{},
"IsMatchComplete":false,
"IsDataComplete":true,
"Sets":{},
"Statistics":{}
}
Element |
Type |
Description |
---|---|---|
MatchScore |
Score |
An object that describes the score in sets, games and points |
IsMatchComplete |
Boolean |
True if the match is complete, false otherwise |
IsDataComplete |
Boolean |
True if the data is complete, false otherwise |
Sets |
Set |
An array of set objects |
Statistics |
CompetitorStatistics |
An object holding statistics for each competitor |
Set
Describes the score in a set of a tennis match.
{
"SetNumber":1,
"SetScore":{},
"IsSetComplete":true,
"IsDataComplete":true,
"SetType":Advantage,
"Games":{},
"Statistics":{}
}
Element |
Type |
Description |
---|---|---|
SetNumber |
Short |
The number of the set within the match |
SetScore |
Score |
The set score in games |
IsSetComplete |
Boolean |
True if the set is complete, false otherwise |
IsDataComplete |
Boolean |
True if the data is complete, false otherwise |
SetType |
SetType |
An enum indicating the rules that will determine how the set winner will be decided if the score reaches 6-6. Values: |
Games |
Game |
An array of game objects detailing the outcome of individual games |
Statistics |
CompetitorStatistics |
An object holding statistics for each competitor |
CompetitorStatistics
Contains statistics about a players performance within the set or match.
{
"Competitor":{},
"FirstServeAces":2,
"FirstServePointsWonByServer":4,
"FirstServePointsWonByReceiver":4,
"SecondServeAces":0,
"SecondServeFaults":0,
"SecondServePointsWonByServer":0,
"SecondServePointsWonByReceiver":0,
"BreakPointsFaced":0,
"BreakPointsLost":0
}
Element |
Type |
Description |
---|---|---|
Competitor |
CompetitorIdentifier |
An array describing the competitor to whom these statistics apply |
FirstServeAces |
Short |
The number of aces awarded to the player from their first serve |
FirstServePointsWonByServer |
Short |
The number of points won by the server on their first serve |
FirstServerPointsWonByReceiver |
Short |
The number of points won by the receiver from the server's first serve |
SecondServeAces |
Score |
The number of aces awarded to the player from their second serves |
SecondServeFaults |
Short |
The number of double faults committed by the player |
SecondServePointsWonByServer |
Short |
The number of points won by the server on their second server |
SecondServePointsWonByReceiver |
Short |
The number of points won by the receiver on the server's second server |
BreakPointsFaced |
Short |
The number of break points faced by the competitor |
BreakPointsLost |
Short |
The number of break points lost by the competitor |
Game
Describes the score in a game of a tennis match.
{
"GameNumber":1,
"GameScore":{},
"IsGameComplete":true,
"IsDataComplete":true,
"GameType":Standard,
"Points":{}
}
Element |
Type |
Description |
---|---|---|
GameNumber |
Short |
The number of the game within the set |
GameScore |
Score |
The game score in points and in standard tennis format |
IsGameComplete |
Boolean |
True if the game is complete, false otherwise |
IsDataComplete |
Boolean |
True if the data is complete, false otherwise |
GameType |
GameType |
An enum indicating how the winner of the game will be decided if the score reaches 40-40. Values: |
Points |
Point |
An array of point objects detailing the outcome of individual points |
GameScore
Describes the score in a game of a tennis match.
{
"DisplayCompetitorOneScore":"30",
"DisplayCompetitorTwoScore":"40",
"CompetitorOneScore":2,
"CompetitorTwoScore":3,
}
Element |
Type |
Description |
---|---|---|
DisplayCompetitorOneScore |
String |
Competitor One's score in standard tennis nomenclature. Values for normal game: |
DisplayCompetitorTwoScore |
String |
Competitor Two's score in standard tennis nomenclature. Values for normal game: |
CompetitorOneScore |
Short |
A count of points scored by Competitor One |
CompetitorTwoScre |
Short |
A count of points scored by Competitor Two |
Point
Describes a point in a game of a tennis match.
{
"PointNumber":1,
"Server":{},
"IsInSequence":true,
"IsDataComplete":true,
"Actions":{}
}
Element |
Type |
Description |
---|---|---|
PointNumber |
Short |
The number of the point within the game |
Server |
CompetitorIdentifer |
An object that indicates which competitor is serving |
IsInSequence |
Boolean |
True if Point is in sequence, false otherwise |
IsDataComplete |
Boolean |
True if the data is complete, false otherwise |
Actions |
PointAction |
A collection of point actions describing the history of the point |
PointAction
Describes a point in a game of a tennis match.
{
"ActionType":PointStarted,
"TimestampUtc":"2015-10-01T15:15:44.9551641Z"
}
Element |
Type |
Description |
---|---|---|
ActionType |
PointActionType |
The type of point action. Values |
TimestampUtc |
Datetime |
The time in UTC at which the action was recorded by the Umpire |
Match Details Message
The summary message summarises the major match events into a single, easily digested message.
{
"Source":Betgenius,
"BetgeniusFixtureId":3415011,
"SourceFixtureId":null,
"BookmakerId":6002,
"CompetitorA":{},
"CompetitorB":{},
"IsReliable":true,
"IsScoreConfirmed":True,
"StateOfPlay":"BetweenPoints",
"Server":"CompetitorA",
"Match":{},
"MessageTimestampUtc":"2015-10-01T15:15:44.955Z"
}
Element |
Type |
Description |
---|---|---|
Source |
String |
The source of the data, typically the name of the company analysing the match |
BetgeniusFixtureId |
Integer |
An immutable identifier for the fixture |
SourceFixtureId |
String |
The fixture ID used by the data source if data source is not Betgenius |
BookmakerId |
Integer |
An immutable identifier for the customer |
CompetitorA |
CompetitorDetails |
An object that describes Competitor A |
CompetitorB |
CompetitorDetails |
An object that describes Competitor B |
IsReliable |
Boolean |
True if the data values are reliable, False otherwise |
IsScoreConfirmed |
Boolean |
True if this score has been confirmed, False otherwise |
StateOfPlay |
MatchStatus |
An enum describing the current state of play. Values: |
Server |
CompetitorIdentifier |
An object that indicates which competitor is serving |
Match |
Match |
An object that describes the match score |
MessageTimestampUtc |
DateTime |
The UTC time that the message is sent |