Match Score - Match Play

Applies when Tournament(s)/`format`="Match"

This is a live websocket endpoint that returns hole by hole scores for a match. The whole json is sent whenever there is an update. You should receive a new update when a hole is completed.

The authentication token provided will be required to make a connection to this websocket endpoint.

This web socket is the match play equivalent to Team Hole by Hole Score web socket for stroke play.

Endpoint URL

wss://dde-streams.data.imgarena.com/golf/tournaments/{tournamentId}/matchscore/{matchNo}

Process for connecting the web socket endpoints

Same as Team Hole-by-Hole Score

Request parameters

Same as Team Hole-by-Hole Score

Match Score - match play via RestAPI

Note that the Match score websockets is available via Rest - https://dde-api.data.imgarena.com/golf/tournaments/{tournamentId}}/matchscore/{MatchNo}?rest=true

Response Model

Scoreboard Object

Field Name

Type

Description

OPTIONAL

tournamentId

integer

tournament identifier

timestamp

time

Time at which the scorecard feed was generated in UTC

teamScores

array

see object docs

isOfficial

boolean

Indicates whether or not the scorecard updates for the given player are complete. Occurs when a player has completed competing in the tournament either from retiring or finishing all rounds.

seqNum

integer

sequence number of the packet

scoringType

string

[Optional] is either "strokes" or "points"

YES

winningTeamNo

integer

identifier of the match winner; will be null until a winner is defined

YES

matchId

integer

match identifier

teamScores object

Field Name

Type

Description

Optional

matchTotalToPar

integer

[Optional] Integer, Score to par calculated for finished holes

YES

players

array

see object docs

matchPoints

Decimal

[Optional] Decimal, Score for team in match, usually it will be sum of points of MatchHoleScore points (available only for ScoringType set to Points)

YES

matchStrokes

integer

[Optional] Integer, Number of strokes taken in that match - based only on completed holes

YES

holeScores

array

see object docs

teamNo

integer

Team identifier

players object

Field Name

Type

Description

displayName

string

Name of the player

country

string

Country (3 upper case letters)

isAmateur

boolean

True if player is an amateur

lastName

string

Last name

firstName

string

First name

id

integer

Player ID

holescores object

Field Name

Type

Description

Optional

cumulativeScoreToPar

integer

[Optional] Integer, Contains cumulative number of strokes compared to par of current and previous holes

YES

yardage

integer

The length of the hole in yards

par

integer

Par value for the given hole

holeFinished

boolean

flag to determine if a given hole is finished

scoreToPar

integer

[Optional] integer, score to par on particular hole. This value will be empty when hole was not played yet or conceded

YES

points

double

The accumulated points score for that match

YES

holeFinishedBy

string

The reason for which the hole ended; possible values:

"BallHoled" "HoleWon" "LossOfHole" "HoleConceded"

See supplementary information

YES

cumulativeHolesAdvantage

string

The team’s score in the match at the time that the given hole was completed, see categorical fields

YES

strokes

string

Number of strokes taken for the given hole; if a hole is conceded, the strokes value is set to "c", can also be "-". see supplementary information

YES

holeNo

integer

Number of the hole

playOffSequence

integer

A counter indicating which playoff hole number the given hole pertains to, Will be 0 for non-playoff holes, and will count up from 1 for playoff holes

PlayerScores

array

Score per player on a given hole, this will be sent when teams are playing best ball (Four Balls) format so as to know the individual player score as well as the total team score

YES

PlayerScores Object

Field

Type

Description

Optional

Strokes

integer

number of strokes on a given hole

ScoreToPar

integer

score to par on a given hole

id

integer

player ID

isBallHoled

Boolean

Flag indicating whether the ball was holed

Ryder Cup Example

{
  "tournamentId": 357,
  "timestamp": "2021-09-24T15:54:32.702Z",
  "teamScores": [
    {
      "matchTotalToPar": -3,
      "players": [
        {
          "displayName": "Jordan Spieth",
          "country": "USA",
          "isAmateur": false,
          "lastName": "Spieth",
          "firstName": "Jordan",
          "id": 3874
        },
        {
          "displayName": "Justin Thomas",
          "country": "USA",
          "isAmateur": false,
          "lastName": "Thomas",
          "firstName": "Justin",
          "id": 3782
        }
      ],
      "matchPoints": 7,
      "matchStrokes": 64,
      "teamResult": "Lost",
      "holeScores": [
        {
          "playOffSequence": 0,
          "cumulativeScoreToPar": 0,
          "yardage": 333,
          "par": 4,
          "holeFinished": true,
          "scoreToPar": 0,
          "points": 0.5,
          "holeFinishedBy": "BallHoled",
          "cumulativeHolesAdvantage": "T",
          "strokes": "4",
          "holeNo": 1
        },
                {
          "playOffSequence": 0,
          "yardage": 471,
          "par": 4,
          "holeFinished": false,
          "holeNo": 18
        }
      ],
      "teamNo": 26
    }
  ],
  "isOfficial": true,
  "seqNum": 73,
  "scoringType": "Points",
  "winningTeamNo": 26,
  "matchId": 1001
}

Categorical Fields

Please find below all possible values for cumulativeHolesAdvantage

Supplementary information

Holescores.Strokes

holescores.strokes field is a string and indicates the number of strokes taken for the given hole. Possible values are any valid integer, as well as "c" and "-" .

Scenarios

  • Team holes the ball - strokes value will be an integer

  • Team concedes hole - strokes value will be "c"

  • Team wins hole but does not hole the ball - strokes value will be "-"

  • Team loses hole without conceding the hole or holing the ball - strokes value will be "-"

*For more information you can refer to holeScores.holeFinishedBy field (details below.)

HoleScores.playerScores.strokes

HoleScores.playerScores.strokes field is an integer and indicates the number of strokes a player had on a hole during a fourball format match (aka better ball.)

To be clear, the overarching score for the team will be taken from Holescores object, but we suggest drilling down to HoleScores.playerScores object for UI implementations as this information is important to the end user.

Suggested business logic for fourballs (aka better ball):

GIVEN fourballs scorecard WHEN holeScores.HoleFinishedBy is "HoleConceded" for a team THEN display "c" for both players' strokes score on the scorecard for that team

GIVEN fourballs scorecard WHEN holeScores.HoleFinishedBy is "LossOfHole" for a team THEN display "-" for both players' strokes score on the scorecard for that team

GIVEN fourballs scorecard WHEN holeScores.HoleFinishedBy is "HoleWon" for a team THEN display "-" for both players strokes score on the scorecard for that team

GIVEN fourballs scorecard WHEN holeScores.HoleFinishedBy is "BallHoled" for a team THEN display playerScores.strokes IF "playerScores.isBallHoled" : "true" AND display "-" IF "playerScores.isBallHoled" : "false"

N.B. currently do not support 'gimmes' i.e. if a player is given a concession stroke from the other player it will go down as a successful stroke or "ballHoled".

For example, player A has 2 inches to make a par putt on a par 3 and player B says to the player to pick up his ball and take a 'gimme' it will go down as 3 strokes and "holeFinishedBy" as "BallHoled".

Play-Offs

No Playoffs in Ryder Cup

Two scenarios need to be addressed.

  1. Scenario: A play-off match is required to determine the winner of a pool.

Play-off matches will have same match score packet format as regular matches, along with unique matchNo. Play-off matches will finish as soon as there is a winner, i.e. if the first hole is tied then a second hole is played etc. until there is a winner.

2. Scenario: There is no winner in a knock out match after 18 holes

In the case of a match not being settled in 18 holes, extra holes will be played until there is a winner. The client can determine when to use play-off logic based on the playOfSequence field which will be "1" in the case of an extra play-off hole.

Last updated