此API用于获取赛事相关信息包含部分盘口信息
## Request
```http request
GET /sports/{version}/GetEvents?query=$filter=sporttype eq 1&includeMarkets=$filter=bettype eq 128&language=cs
Accept: application/json
Accept-Encoding: br, gzip, deflate
X-Forwarded-For: client ip (如果通过代理使用API需要额外带入)
Authorization: Bearer {JWT token}
```
| Parameter | Description |
| ------ | ------ |
| query | 使用Odata指定特定格式的查询 |
| from | 指定赛事开始日期,可以单独输入<br>日期字串格式應符合: "2021-01-01T00:00:00"(可 encode) |
| until | 指定赛事结束日期,可以单独输入<br>日期字串格式應符合: "2021-01-01T00:00:00"(可 encode) |
| language | 指定欲回应的数据语系,请参阅[Language Table](/Saba-sports/OddsDirectAPI_CN/wiki/Language-Table) |
| includeMarkets | 此参数仅在 **/GetEvents** 中使用,指定是否有必要回传market讯息。<br>**如果includeMarkets未指定,则默认回传。** <br /> **includeMarkets = $filter=bettype eq 128;** 仅筛选指定条件Market信息。<br> **includeMarkets = none;** 将不回传Market信息。|
## Response
```
{
"events": Event[],
"markets": Market[] | null
}
```
| Name| Format | Description |
| ------ | ------ | ------ |
| events | Event array | 赛事信息列表|
| markets | Market array | 盘口信息列表|
### **Event**
```
{
"sportType": int,
"sportName": string,
"leagueId": int,
"leagueName": string,
"leagueIconUrl": 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,
"isCashout": bool,
"isVirtualEvent": bool,
"hasLiveMarket": bool,
"marketCount": int,
"marketCategories": int[],
"streamingOption ": int,
"channelCode ": string,
"teamInfo": TeamInfo,
"gameInfo": GameInfo,
"soccerInfo": SoccerInfo | null,
"tennisInfo": TennisInfo | null,
"beachVolleyBallInfo": BeachVolleyBallInfo | null,
"eSportInfo": ESportInfo | null,
"basketballInfo": BasketballInfo | null,
"baseballInfo": BaseballInfo | null,
"volleyBallInfo": VolleyballInfo | null
}
```
| Name| Format | Description | Queryable | Query Example |
| ------ | ------ | ------ | ------ | ------ |
|sportType|int|体育项目ID|Yes|$filter=sporttype eq 1|
|sportName|string|体育项目名称|Yes|$filter=sportname eq 'Soccer'|
|leagueId|int|联赛ID|Yes|$filter=leagueid eq 56038|
|leagueName|string|联赛名称|Yes|$filter=leaguename eq '*UEFA CHAMPIONS LEAGUE' or $filter=contains(leaguename,'NBA')|
|leagueIconUrl|string|联赛图片URL, 如果图片不存在请使用预设联赛图片URL<br>{domain}/LeagueImg/league_flag.png<br>domain请用leagueIconUrl返回的domain取代|No|-|
|eventId|int|赛事ID|Yes|$filter=eventid eq 38255274|
|eventCode|string|赛事代码|No|—|
|eventStatus|string|赛事状态<br>running/ closed/ postponed/ deleted|Yes|$filter=eventStatus eq 'running'|
|isMainMarket|bool|是否为主要盘口|Yes|$filter=ismainmarket eq true |
|kickOffTime|DateTime|系统开赛时间 (时区**GMT+0**)|No|—|
|globalShowTime|DateTime|开赛时间 (时区**GMT+0**)|No|—|
|countryCode|string|联赛国别代码|No|—|
|gameSession|int|赛事比赛有多少节|No|—|
|parentId|int|该赛事的母赛事ID|No|—|
|isTest|bool|是否为测试赛事|No|—|
|isLive|bool|是否为滚球赛事|Yes|$filter=islive eq true|
|isParlay|bool|是否为串关赛事|Yes|$filter=isparlay eq true|
|isCashout|bool|赛事是否支持实时兑现|Yes|$filter=iscashout eq true|
|isVirtualEvent|bool|是否为虚拟赛事|Yes|$filter=isvirtualevent eq true|
|hasLiveMarket|bool|是否有滚球盘口|No|—|
|marketCount|int|该赛事的所有盘口数量|No|—|
|marketCategories|int[]|该赛事的所有盘口投注类型<br>0: None (主要) <br>1: FullTime (全场) <br>2: Half (半场) <br>3: Corners (角球)/Bookings (罚牌) <br>4: Intervals (区间) <br>5: Specials (特别产品) <br>6: Players (选手) <br>7: FastMarket (快速盘口) <br>8: Quarter (节) <br>9: ExtraTime (加时) <br>10: Penalty (点球) <br>11-19: E-Sports Map 1-9 (电子竞技适用 – 地图 1~9)|No|—|
|streamingOption|int|视频ID |Yes|$filter=streamingOption eq 131072|
|channelCode|string|视频代码|Yes|$filter=channelCode ne null|
|teamInfo|TeamInfo|团队相关信息|No|—|
|gameInfo|GameInfo|球赛相关信息|No|—|
|soccerInfo|SoccerInfo|足球相关信息|No|—|
|tennisInfo|TennisInfo|网球相关信息|No|—|
|beachVolleyBallInfo|BeachVolleyBallInfo|沙滩排球相关信息|No|—|
|eSportInfo|ESportInfo|电子竞技相关信息|No|—|
|basketballInfo|BasketballInfo|篮球相关信息|No|—|
|baseballInfo|BaseballInfo|棒球相关信息|No|—|
|volleyballInfo|VolleyballInfo|排球相关信息|No|—|
#### **TeamInfo**
```
{
"homeId": int,
"homeName": string,
"homeIconUrl": string
"awayId": int,
"awayName": string,
"awayIconUrl": string
}
```
| Name| Format | Description | Queryable | Query Example |
| ------ | ------ | ------ | ------ | ------ |
|homeId|int|主队ID|Yes|$filter=homeId eq 17892|
|homeName|string|主队名称|Yes|$filter=contains(homename,'Field')|
|homeIconUrl|string|主队队徽URL, 如果图片不存在请使用预设主队队徽URL<br>{domain}/TeamImg/team_flag_home.png<br>domain请用homeIconUrl返回的domain取代|No|-|
|awayId|int|客队ID|Yes|$filter=awayid eq 714227|
|awayName|string|客队名称 |Yes|$filter=contains(awayname,'Lakers')|
|awayIconUrl|string|客队队徽URL, 如果图片不存在请使用预设客队队徽URL<br>{domain}/TeamImg/team_flag_away.png<br>domain请用homeIconUrl返回的domain取代|No|-|
#### **GameInfo**
```
{
"livePeriod": byte,
"clockDirection": string,
"seconds": int,
"isNeutral": bool,
"isHt": bool,
"isBreak": bool,
"isClosed": bool,
"inJuryTime": byte,
"delayLive": bool,
"gameStatus" byte,
"inPlayTime": string,
"liveHomeScore": int,
"liveAwayScore": int
}
```
| Name| Format | Description | Queryable | Query Example |
| ------ | ------ | ------ | ------ | ------ |
|livePeriod|byte|目前进行到第几节<br>如果值为 0,则前端不显示时间。这意味着比赛正处于特殊时期。<br>仅支援以下运动类型:<br>1: 足球 <br>2: 篮球 <br>3: 美式足球 <br>4: 冰上曲棍球<br>9: 羽毛球<br>24: 手球<br>26: 橄榄球<br>43: 电子竞技|No|—|
|clockDirection|string|赛事时间计算方式<br>inc:从0开始计数到赛事结束<br> dec:从特定值开始计数到0|No|—|
|seconds|int|当前赛事时间以秒为单位|No|—|
|isNeutral|bool|是否为中立场|No|—|
|isHt|bool|是否为中场休息|No|—|
|isBreak|bool|赛事是否中断(休息时间)|No|—|
|isClosed|bool|赛事是否关闭|No|—|
|inJuryTime|byte|伤停时间|No|—|
|delayLive|bool|赛事是否延迟|No|—|
|gameStatus|byte|球赛状态<br>1=PRC(有可能被判红牌) <br>2=PPen(有可能被判点球) <br>3=VAR(视频助理裁判) <br>4=Penalty(点球) <br>5=Injury(球员受伤) <br>6=Sudden Death(骤死赛) |No|—|
|inPlayTime|string|目前赛事时间|No|—|
|liveHomeScore|int|主队滚球分数|No|—|
|liveAwayScore|int|客队滚球分数 |No|—|
#### **SoccerInfo**
```
{
"homeRedCard":byte,
"awayRedCard":byte,
"homeYellowCard":byte,
"awayYellowCard":byte
}
```
| Name| Format | Description | Queryable | Query Example |
| ------ | ------ | ------ | ------ | ------ |
|homeRedCard|byte|主场红牌数|No|—|
|awayRedCard|byte|客场红牌数|No|—|
|homeYellowCard|byte|主场黄牌数|No|—|
|awayYellowCard|byte|客场黄牌数|No|—|
#### **TennisInfo**
```
{
"homeGameScore": int[],
"awayGameScore": int[],
"homePointScore": string,
"awayPointScore": string,
"currentSet": int,
"currentServe": int
}
```
| Name| Format | Description | Queryable | Query Example |
| ------ | ------ | ------ | ------ | ------ |
|homeGameScore|int[]|主队每盘获得局数|No|—|
|awayGameScore|int[]|客队每盘获得局数|No|—|
|homePointScore|string|主队目前局数比分|No|—|
|awayPointScore|string|客队目前局数比分|No|—|
|currentSet|int|目前盘数|No|—|
|currentServe|int|目前发球方|No|—|
#### **BeachVolleyBallInfo**
```
{
"homeGameScore": int[],
"awayGameScore": int[],
"currentSet": int,
"currentServe": int,
"playerInjury": int,
"isRain" bool`
}
```
| Name| Format | Description | Queryable | Query Example |
| ------ | ------ | ------ | ------ | ------ |
|homeGameScore|int[]|主队每盘获得局数|No|—|
|awayGameScore|int[]|客队每盘获得局数|No|—|
|currentSet|int|目前盘数|No|—|
|currentServe|int|目前发球方|No|—|
|playerInjury|int|哪支队伍有人受伤<br>0=no one(无), 1=home(主队), 2=away(客队), 3=both(两队) |No|—|
|isRain|bool|是否为雨天|No|—|
#### **ESportInfo**
```
{
"bestOfMap": int,
"isStartingSoon": bool,
"moveBO3Down": bool,
"overTimeSession": int,
"leagueGroup": string,
"leagueGroupId": int
}
```
| Name| Format | Description | Queryable | Query Example |
| ------ | ------ | ------ | ------ | ------ |
|bestOfMap|int|Best Of Map标识会打几个地图|No|—|
|isStartingSoon|bool|是否即将开赛|No|—|
|moveBO3Down|bool|控制是否显示网页的旗帜 |No|—|
|overTimeSession|int|联赛信息<br>1 → Dota2 ; 2 → LOL ; 3 → CS2 ; 4 → KOG ; 99 → Others|Yes|$filter=overTimeSession eq 1|
|leagueGroup|string|电子竞技联赛名称|No|—|
|leagueGroupId|int|电子竞技联赛ID|No|—|
#### **BasketballInfo**
```
{
"homeGameScore": int[],
"awayGameScore": int[],
"lastestLivePeriod":int,
"homeOverTimeScore": int,
"awayOverTimeScore": int
}
```
| Name| Format | Description | Queryable | Query Example |
| ------ | ------ | ------ | ------ | ------ |
|homeGameScore|int[]|主队目前得分|No|—|
|awayGameScore|int[]|客队目前得分|No|—|
|latestLivePeriod|int|目前进行节数|No|—|
|homeOverTimeScore|int|主隊延長賽得分|No|—|
|awayOverTimeScore|int|客队延长赛得分|No|—|
#### **BaseballInfo**
```
{
"homeGameScore": int[],
"awayGameScore": int[],
"homeOverTimeScore": int,
"awayOverTimeScore": int,
"baseHasRunner": bool[],
"currentInning": int,
"currentBattingTeam": int,
"currentOuts": int
}
```
| Name| Format | Description | Queryable | Query Example |
| ------ | ------ | ------ | ------ | ------ |
|homeGameScore|int[]|主队目前得分|No|—|
|awayGameScore|int[]|客队目前得分|No|—|
|homeOverTimeScore|int|主隊延長賽比分|No|—|
|awayOverTimeScore|int|客队延长赛比分|No|—|
|baseHasRunner|bool[]|垒上是否有跑者<br>第一笔项目为一垒是否有跑者,二、三垒以此类推|No|—|
|currentInning|int|目前局数|No|—|
|currentBattingTeam|int|目前打击队伍<br>1=主队,2=客队|No|—|
|currentOuts|int|目前出局数|No|—|
#### **VolleyballInfo**
```
{
"homeGameScore": int[],
"awayGameScore": int[],
"homePointScore":int,
"awayPointScore":int,
"currentServe":int,
"homeCurrentPoint":int,
"awayCurrentPoint":int,
"playerInjury":int,
"lastestLivePeriod":int
}
```
| Name| Format | Description | Queryable | Query Example |
| ------ | ------ | ------ | ------ | ------ |
|homeGameScore|int[]|主队每盘获得局数|No|—|
|awayGameScore|int[]|客队每盘获得局数|No|—|
|homePointScore|int|主队目前总比分|No|—|
|awayPointScore|int|客队目前总比分|No|—|
|currentServe|int|目前发球方|No|—|
|homeCurrentPoint|int|主队目前比分|No|—|
|awayCurrentPoint|int|客队目前比分|No|—|
|playerInjury|int|哪支队伍有人受伤<br>0=no one(无), 1=home(主队), 2=away(客队), 3=both(两队) |No|—|
|latestLivePeriod|int|目前进行的节数|No|—|
### **Market**
盘口相关信息请参阅[GetMarkets]( /Saba-sports/OddsDirectAPI_CN/wiki/GetMarkets)