beta GetMarkets push - Saba-sports/OddsDirectAPI GitHub Wiki

This API is to get market information including odds data.

  • Subscribing to updates and retrieving data in one request via this API.

Request

GET  /sports/stream/{version}/GetMarkets?query=$filter=eventId eq 38255274 and bettype eq 127&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
language Specific the language of the response content
token Get the JWT token through /login or /refreshToken

Response

id: string\r\n
data: {
    "status": int,
    "message":string,
    "payload": {
        "markets": {
            "add": Market[],
            "change":MarketChange[],
            "remove":[marketId1,marketId2...]
        }   
    }
}\r\n\r\n
Name Format Description
id string Specifies the serial number of Server Sent Event
data json

Data object

Name Format Description
status int Specifies the status code of the response.
message string Specifies the message of the status.
payload object

Payload object

Name Format Description
markets object Specifies the information of markets.
Markets object
Name Format Description
add Market array Specifies the market information which be added.
- Market class please reference GetMarkets response.
change MarketChange array Specifies the market information which be updated.
- MarketChange class please reference MarketChange.
remove int array Specifies the identified of the market which be removed.

Status Enumeration

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.
⚠️ **GitHub.com Fallback** ⚠️