beta GetPromotions - Saba-sports/OddsDirectAPI GitHub Wiki
This API is to get promotion events.
GET  /sports/{version}/GetPromotions
Accept: application/json
Accept-Encoding: br, gzip, deflate
X-Forwarded-For: client ip (If using API via proxy)
Authorization: Bearer {JWT token}| Parameter | Description | 
|---|---|
| query | Specific the query parameters for using odata query format | 
| language | Specific the language of the response context | 
| includeMarkets | Specify whether it is necessary to return the market information.  If the parameter of includeMarkets does not include in the query parameters, market information will be responded by default. includeMarkets = $filter=bettype eq 128; Market information is returned with conditions specified by parameters. includeMarkets = none; Market information is not returned.  | 
{    
    "events": Event[],
    "markets": Market[] | null 
} 
| Name | Format | Description | 
|---|---|---|
| events | Event array | Specifies the information of events. | 
| markets | Market array | Specifies the information of markets. | 
{
	"sportType": int,
	"sportName": string,
	"leagueId": int,
	"leagueName": string,
	"eventId": int,
	"eventCode": string,
	"eventStatus": string,
	"isMainMarket": bool,
	"kickOffTime": DateTime,
	"globalShowTime": DateTime,
	"countryCode": string,
	"gameSession": int,
	"parentId": int,
	"isTest": bool,
	"isLive": bool,
	"isParlay": bool,
	"isVirtualEvent": bool,
	"hasLiveMarket": bool,
	"marketCount": int,
	"marketCategories": int[],
	"streamingOption": int,
	"channelCode": string,
	"teamInfo": TeamInfo,//Described in a separate table blow.
	"gameInfo": GameInfo,//Described in a separate table blow.
	"soccerInfo": SoccerInfo | null,//Described in a separate table blow.
	"tennisInfo": TennisInfo | null,//Described in a separate table blow.
	"eSportInfo": ESportInfo | null,//Described in a separate table blow.
}
| Name | Format | Description | Queryable | Query Example | 
|---|---|---|---|---|
| sportType | int | Specifies the identifier of the sport. | Yes | $filter=sporttype eq 1 | 
| sportName | string | Specifies the name of the sport. | Yes | $filter=sportname eq 'Soccer' | 
| leagueId | int | Specifies the identifier of the league. | Yes | $filter=leagueid eq 56038 | 
| leagueName | string | Specifies the name of the league. | Yes | $filter=leaguename eq '*UEFA CHAMPIONS LEAGUE' or $filter=contains(leaguename,'NBA') | 
| eventId | int | Specifies the identifier of the event. | Yes | $filter=eventid eq 38255274 | 
| eventCode | string | Specifies the order of the event. | No | β | 
| eventStatus | string | Specifies the status of the event. running/closed/postponed/ deleted  | 
No | β | 
| isMainMarket | bool | Specifies the event is in the main market. | Yes | $filter=ismainmarket eq true | 
| kickOffTime | DateTime | Specifies the start time for the event of system. (time zone GMT+0) | No | β | 
| globalShowTime | DateTime | Specifies the start time for the event. (time zone GMT+0) | No | β | 
| countryCode | string | Specifies the identifier of the country. | No | β | 
| gameSession | int | Specifies the total games of the event. | No | β | 
| parentId | int | Specifies the identifier of the parent event. | No | β | 
| isTest | bool | Specifies whether the event is test. | No | β | 
| isLive | bool | Specifies whether the event is live. | Yes | $filter=islive eq true | 
| isParlay | bool | Specifies whether the event is parlay. | Yes | $filter=isparlay eq true | 
| isCashout | bool | Specifies whether the event supports cashout. | Yes | $filter=iscashout eq true | 
| isVirtualEvent | bool | Specifies whether the event is a virtual game. | Yes | $filter=isvirtualevent eq true | 
| hasLiveMarket | bool | Specifies the event has a live market. | No | β | 
| marketCount | int | Specifies the amount of markets for each event. | No | β | 
| marketCategories | int[] | Specifies the categories of all markets for each event. | No | β | 
| streamingOption | int | Specifies the identifier of the streaming. | No | β | 
| channelCode | string | Specifies the code of the streaming. | No | β | 
| teamInfo | TeamInfo | Specifies the information of the team. | No | β | 
| gameInfo | GameInfo | Specifies the information of the game. | No | β | 
| soccerInfo | SoccerInfo | Specifies the information of the soccer. | No | β | 
| tennisInfo | TennisInfo | Specifies the information of the tennis. | No | β | 
| eSportInfo | ESportInfo | Specifies the information of the E-Sport. | No | β | 
| virtualGameInfo | VirtualGameInfo | Specifies the information of the virtual game. | No | β | 
{
	"homeId": int,
	"homeName": string,
	"homeIconUrl": string,
	"awayId": int,
	"awayName": string,
	"awayIconUrl": string,
}
| Name | Format | Description | Queryable | Query Example | 
|---|---|---|---|---|
| homeId | int | Specifies the identifier of the home team. | Yes | $filter=homeId eq 17892 | 
| homeName | string | Specifies the name of the home team. | Yes | $filter=contains(homename,'Field') | 
| homeIconUrl | string | Specifies the URL of the home team image. If the image not found, please change to use default url. {domain}/TeamImg/team_flag_home.png  | 
No | - | 
| awayId | int | Specifies the identifier of the away team. | Yes | $filter=awayid eq 714227 | 
| awayName | string | Specifies the name of the away team. | Yes | $filter=contains(awayname,'Lakers') | 
| awayIconUrl | string | Specifies the URL of the away team image. If the image not found, please change to use default url. {domain}/TeamImg/team_flag_away.png  | 
No | - | 
{
	"livePeriod": byte,
	"isNeutral": bool,
	"isHt": bool,
	"isBreak": bool,
	"isClosed": bool,
	"inJuryTime": int,
	"delayLive": bool,
	"gameStatus" byte,
	"inPlayTime": string,
	"liveHomeScore": int,
	"liveAwayScore": int
}
| Name | Format | Description | Queryable | Query Example | 
|---|---|---|---|---|
| livePeriod | byte | Specifies the current part of the game. | No | β | 
| isNeutral | bool | Specifies the game is neither hold in home nor away site. | No | β | 
| isHt | bool | Specifies the event is in the half time interval. | No | β | 
| isBreak | bool | Specifies the game is in break time. | No | β | 
| isClosed | bool | Specifies the event has been closed | No | β | 
| inJuryTime | byte | Specifies the injury time of the game. | No | β | 
| delayLive | bool | Specifies whether the event is delaying. | No | β | 
| gameStatus | byte | Specifies the status for the game. 1=PRC; 2=PPen; 3=VAR; 4=Penalty; 5=Injury; 6=Sudden Death  | 
No | β | 
| inPlayTime | string | Specifies the steps of the event is going. | No | β | 
| liveHomeScore | int | Specifies the current score of home team. | No | β | 
| liveAwayScore | int | Specifies the current score of away team. | No | β | 
{
	"homeRedCard":byte,
	"awayRedCard":byte,
	"homeYellowCard":byte,
	"awayYellowCard":byte
}
| Name | Format | Description | Queryable | Query Example | 
|---|---|---|---|---|
| homeRedCard | byte | Specifies the number of red cards of Homeβs. | No | β | 
| awayRedCard | byte | Specifies the number of red cards of Awayβs. | No | β | 
| homeYellowCard | byte | Specifies the number of yellow cards of Homeβs. | No | β | 
| awayYellowCard | byte | Specifies the number of yellow cards of Awayβs. | No | β | 
{
	"homeGameScore": int[],
	"awayGameScore": int[],
	"homePointScore": string,
	"awayPointScore": string,
	"currentSet": int,
	"currentServe": int
}
| Name | Format | Description | Queryable | Query Example | 
|---|---|---|---|---|
| homeGameScore | int[] | Specifies the number of the point in a set, the Home player got. | No | β | 
| awayGameScore | int[] | Specifies the number of the point in a set, the Away player got. | No | β | 
| homePointScore | string | Specifies the Homeβs point of current game. | No | β | 
| awayPointScore | string | Specifies the Awayβs point of current game. | No | β | 
| currentSet | int | Specifies the current set. | No | β | 
| currentServe | int | Specifies who is current server. | No | β | 
{
	"bestOfMap": int,
	"isStartingSoon": bool,
	"moveBO3Down": bool,
	"overTimeSession": int,
	"leagueGroup": string,
	"leagueGroupId": int
}
| Name | Format | Description | Queryable | Query Example | 
|---|---|---|---|---|
| bestOfMap | int | Specifies how many maps will be use. | No | β | 
| isStartingSoon | bool | Specifies the competition is starting soon. | No | β | 
| moveBO3Down | bool | Specifies to display a flag in web page. | No | β | 
| overTimeSession | int | Specifies the information of league.  | 
No | β | 
| leagueGroup | string | Specifies the name of the league group. | No | β | 
| leagueGroupId | int | Specifies the identifier of the league group. | No | β | 
{
    "eventId": int,
    "marketId": int,
    "betType": int,
    "betTypeName": string,
    "selections": SelectionInfo[]
}
| Name | Format | Description | 
|---|---|---|
| eventId | int | Specifies the identifier of the event. | 
| marketId | int | Specifies the identifier of the market. | 
| betType | int | Specifies the type of the betting. | 
| betTypeName | string | Specifies the name of the betting. | 
| selections | SelectionInfo[] | Specifies the information of bet choices. | 
{
    "key": string,
    "keyName": string,
    "point": decimal,
    "point2": decimal?,
    "price": decimal
}
| Name | Format | Description | 
|---|---|---|
| key | string | Specifies Bet type selections key. | 
| keyName | string | Specifies the name of the selections key. | 
| point | decimal | Specifies the point spread. | 
| point2 | decimal? | Specifies the point spread 2.  Only for bet type=646; point=HDP, point2=OU  | 
| price | decimal | Specifies the information of odds. |