NBA2K

NBA2K - Quarter start

                
{
      "name": "start-first-quarter",
      "type": "match"
      "time":  <milliseconds remaining in the period>,
      "period":
      {
          "type": "quarter",
          "value": 1
      }
   }
        

NBA2K - Clock start|stop

                
{
      "name": "clock-start"|"clock-stop",
      "type": "match"
      "time": <milliseconds remaining in the period>,
      "period":

      	"type": "quarter",
      	"value": 1
    	}
}
        

NBA2K - Quarter end

                
{
      "name": "end-third-quarter",
      "type": "match"
      "time":  <milliseconds remaining in the period>,
      "period":
      {
          "type": "quarter",
          "value": 3
      }
   }
        

NBA2K - Overtime start

                
{
      "name": "start-first-overtime",
      "type": "match"
      "time":  <milliseconds remaining in the period>,
      "period":
      {
          "type": "overtime",
          "value": 1
      }
   }
        

NBA2K - Overtime end

                
{
      "name": "end-second-overtime",
      "type": "match"
      "time":  <milliseconds remaining in the period>,
      "period":
      {
          "type": "overtime",
          "value": 2
      }
   }
        

NBA2K - Half-time start

                
{
      "name": "start-half-time",
      "type": "match"
      "time":  <unused>,
      "period":
      {
          "type": "half-time",
          "value":  <unused>
      }
   }
        

NBA2K - Half-time end

                
{
      "name": "end-half-time",
      "type": "match"
      "time":  <unused>,
      "period":
      {
          "type": "half-time",
          "value":  <unused>
      }
   }
        

NBA2K - Goal (1-pointer/2-pointer/3-pointer)

                
{
      "name":  "goal",
      "type": "match"
      "time":  <milliseconds remaining in the period>,
      "period":
      {
          "type": "quarter",
          "value": 3
      },
      "payload":
      {
          "team":  <home|away>,
          "type": <1-pointer|2-pointer|3-pointer>
      }

   }
        

NBA2K - Foul

                
{
      "name":  "foul",
      "type": "match"
      "time":  <milliseconds remaining in the period>,
      "period":
      {
          "type": "quarter",
          "value": 2
      },
      "payload":
      {
          "team":  <home|away>,
          "type":  <off-3-sec|shot-clock|illegal-screen|out-of-bounds|reach-in|suns-ball|clippers-ball|celtics-ball|shooting|personal|blocking|charging|loose-ball|over-the-back>
      }
   }
        

NBA2K - Timeout start

                
{
      "name": "start-timeout",
      "type": "match"
      "time":  <milliseconds remaining in the period>,
      "period":
      {
          "type": "quarter",
          "value": 2
      }
      "payload":
      {
          "team":  <home|away>,
          "timeout-number": <1-9>
      }
   }
        

NBA2K - Timeout end

                
{
      "name": "end-timeout",
      "type": "match"
      "time":  <milliseconds remaining in the period>,
      "period":
      {
          "type": "quarter",
          "value": 2
      }
      "payload":
      {
          "team":  <home|away>,
          "timeout-number": <1-9>
      }
   }
        

NBA2K - Free-throw scored

                
{
      "name":  "free-throw-scored",
      "type": "match"
      "time":  <milliseconds remaining in the period>,
      "period":
      {
          "type": "quarter",
          "value": 3
      },
      "payload":
      {
          "team":  <home|away>
      }
   }
        

NBA2K - Free-throw missed

                
{
      "name":  "free-throw-missed",
      "type": "match"
      "time":  <milliseconds remaining in the period>,
      "period":
      {
          "type": "quarter",
          "value": 3
      },
      "payload":
      {
          "team":  <home|away>
      }
   }
        

NBA2K - Free-throws completed

                
{
      "name":  "free-throws-completed",
      "type": "match"
      "time":  <milliseconds remaining in the period>,
      "period":
      {
          "type": "quarter",
          "value": 3
      },
      "payload":
      {
          "team":  <home|away>,
          "numberOfFreeThrows": <1|2|3>,
          "first":  <score|miss>,
          "second":  <score|miss>,
          "third":  <score|miss>
      }
   }
        

NBA2K - Possession change, tip off winner

                
{
      "name": <possession/tip-off-winner>,
      "type": "match"
      "time": <milliseconds since match started>,
      "period":
      {
          "type": "quarter",
          "value": 3
      },
      "payload":
      {
          "team": <home|away>
      }
   }
        

NBA2K - Coach challenge

                
{
      "name": "coach-challenge",
      "type": "match"
      "time": <milliseconds since match started>,
      "period":
      {
          "type": "quarter",
          "value": 3
      },
      "payload":{}
}
        

NBA2K - Official review

                
{
      "name": "official-review",
      "type": "match"
      "time": <milliseconds since match started>,
      "period":
      {
          "type": "quarter",
          "value": 3
      },
      "payload":
      {
      	"outcome": "CALL OVERTURNED"|"CALL STANDS"
    	}
}
        

Outbound messages format

NBA2K - Game Status messages: First|second|third|forth quarter started|ended, Clock stop|start, Bet suspend|unsuspend, Overtime 1|2 started|ended…

                
{
	"eventMessageCount": <integer>,
	"inPlayClockSeconds": <integer>,
	"gameplayClock": "00:00",
	"gameStatus": {
  	  "id": <uuid>,
  	  "gameStatusCounter": <integer>,
  	  "gameStatusId": <integer>,
  	  "message": "FIRST_QUARTER_STARTED"|"CLOCK_STOP"|"BET_SUSPEND"...
	},
	"eventDateTime": "2022-10-26 19:25",
	"sportCode": "NBA",
	"sentAt": <timestamp>,
}
        

NBA2K - In game messages: Tip off won, Possession, Score 1|2|3, Foul committed, Free throw, Timeout called|over, …

                
{
	"inPlay": {
  	    "id": <uuid>,
  	    "inPlayCounter": <integer>,
  	    "inPlayMessageId": <integer>,
  	    "message": "BALL_LOCATION"|"ATTACK_TEAM_A"|"GOAL_TEAM_B",
  	    "detail": {
    	    "type": "BALL_LOCATION",
    	    "data": [
      	  {
        	  "positionX": <integer>
      	  },
      	  {
        	  "positionY": <integer>
      	  }
    	]
  	}
	},
	"eventMessageCount": <integer>,
	"inPlayClockSeconds": <integer>,
	"gameplayClock": "01:18",
	"eventDateTime": "2022-10-26 19:25",
	"sportCode": "FIFA",
	"sentAt": "2022-10-26T18:25:12.184169Z",
}