beta GetLeagues push - Saba-sports/OddsDirectAPI GitHub Wiki
This API is to get how many events count for each league.
- Subscribing to updates and retrieving data in one request via this API.
 
GET  /sports/stream/{version}/GetLeagues?from=2021-02-28&language=cs
Accept: text/event-stream
Accept-Encoding: br, gzip, deflate(If Header is available)| Parameter | Description | 
|---|---|
| query | Specific the query parameters for using odata query format | 
| from | Specific the start date of the data. It can be inputted separately | 
| until | Specific the end date of the data. It can be inputted separately | 
| language | Specific the language of the response content | 
| token | Get the JWT token through /login or /refreshToken | 
id: string\r\n
data: {
    "status": int,
    "message":string,
    "payload": {
        "leagues":{
            "add": League[],
            "change":LeagueChange[],
            "remove":LeagueRemove[]
        }
    }
}\r\n\r\n
| Name | Format | Description | 
|---|---|---|
| id | string | Specifies the serial number of Server Sent Event | 
| data | json | 
| Name | Format | Description | 
|---|---|---|
| status | int | Specifies the status code of the response. | 
| message | string | Specifies the message of the status. | 
| payload | object | 
| Name | Format | Description | 
|---|---|---|
| leagues | object | Specifies the information of leagues. | 
| Name | Format | Description | 
|---|---|---|
| add | League array | Specifies the league information which be added. - League class please reference GetLeagues response.  | 
| change | LeagueChange array | Specifies the league information which be updated. - please refer to the following.  | 
| remove | LeagueRemove array | Specifies the league information which be removed. - please refer to the following.  | 
| Name | Format | Description | 
|---|---|---|
| leagueId | int | Specifies the identifier of the league. | 
| liveGameCount | int | Specifies the number of the live events. | 
| gameCount | int | Specifies the number of the non-live events. | 
| isParlay | bool | Specifies whether the event is a parlay. | 
| Name | Format | Description | 
|---|---|---|
| leagueId | int | Specifies the identifier of the league. | 
| isParlay | bool | Specifies whether the event is a parlay. | 
| status | message | Description | 
|---|---|---|
| 0 | Success | Connect success and continue to get the updated data. | 
| 1 | InitialData | First time to connect and get initial data. | 
| 3 | Reset | Reset connection. | 
| 97 | Invalid Accept-Encoding | Http Status Code = 400 The encoding compression format is invalid.  | 
| 98 | Invalid OData query attributes | Http Status Code = 400 The Odata query attributes are invalid or not support.  | 
| 99 | System under maintenance | Http Status Code = 503 System is under maintenance.  | 
| 100 | Internal Server Error | Http Status Code = 500 The server encountered an unexpected condition that prevented it from fulfilling the request.  | 
- It will return status=1 when the first time to connect, and the initial data will be in the add class; the updated data with status=0 will continue to be received in add/change/remove classes.
 - If the user disconnects due to the network or other issue:
- If using browser native javascript EventSource api, without closing the page, the browser will auto-reconnect and add Last-Event-Id in the header. Server will base on the Last-Event-Id and resend the missing data to client.
 - If using other languages or frameworks, need to create the reconnection mechanism and add Last-Event-Id into the header by themselves.
 - If cannot find the Last-Event-Id, it will reset the connection by status=3, and the data is initial data.