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.