Connectivity
Connection endpoints
Client integration environment (WebSocket over TLS 1.2/1.3 secure connection)
Host: wss.dataplane-nonprod.sportradar.dev Port: 443
Production environment (WebSocket over TLS 1.2/1.3 secure connection)
Host: wss.dataplane.sportradar.com Port: 443
Authentication
Before connecting to the above connection endpoints, the client must obtain a token. To obtain the token, a POST request must be made to https://auth.sportradar.com/oauth/token. The request must include a Content-Type header and in the body, 4 url encoded key-value pairs are required:
Header
Content-Type
application/x-www-form-urlencoded
Body - url encoded key value pair
client_id
<Sportradar provided client id>
Body - url encoded key value pair
client_secret
<Sportradar provided client secret>
Body - url encoded key value pair
audience
mbs-dp-non-prod-wss (integration env)
mbs-dp-production-wss (production env)
Body - url encoded key value pair
grant_type
client_credentials
Example using cURL:
curl -L -X POST 'https://auth.sportradar.com/oauth/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'client_id=<provided client id>' \
--data-urlencode 'client_secret=<provided client secret>' \
--data-urlencode 'audience=mbs-dp-non-prod-wss' \
--data-urlencode 'grant_type=client_credentials'
The request returns a JSON response with "access_token" field/attribute that is necessary to establish a WebSocket connection:
{
"access_token": "GENERATED_TOKEN",
"expires_in": 300,
"token_type": "Bearer"
}
When establishing the connection to the websocket, value of access_token must be provided in an Authorization header. Value of the header must be: Bearer GENERATED_TOKEN where GENERATED_TOKEN must be replaced with the value obtained from the JSON response.
Example using wscat:
wscat -H "Authorization: Bearer GENERATED_TOKEN" --connect wss://wss.dataplane-nonprod.sportradar.dev
Tokens remain valid for a relatively short timeframe (5 minutes). If the token has expired, follow the procedure outlined above to generate a new one.
Connections
For establishing the connection, token is needed (see above). Maximum connection duration is 2h. After 2h connection is automatically terminated and new connection must be established with new token. Each client's node should establish at least one websocket connection to the MTS endpoint. MTS servers will reply back with a response through the same connection on which the request was received. In the case of unexpected connection termination, the client should resend all requests for which the response was not received. For such requests, MTS will reply with an original response (the same response as it would be received if the termination of a connection would not occur).
Rate Limiting
MTS performs the client request rate limiting described below. The values are valid:
Per client
For all request types (operation types) combined
500
5.000
Limitations
Maximum supported size of a websocket frame is 32 KB. Maximum supported size of the message payload is 128 KB. Because of the websocket frame-size quota of 32 KB, a message larger than 32 KB must be split into multiple frames, each 32 KB or smaller (maximum number of frames is 4). If a larger message (or larger frame size) is received, the connection is closed with code 1009.
Avoid IP-based whitelisting
Clients should avoid IP-based whitelisting for WebSocket connections to MBS Dataplane because WebSocket connections are provided through the AWS API Gateway. AWS dynamically manages the underlying infrastructure, so IPs may change without notice. Attempting to whitelist specific IPs may result in unintended connectivity failures. Any issues resulting from such configurations are the sole responsibility of the client and are considered a known risk. Instead, clients should rely on TLS-secured WebSocket (wss://) connections with MBS Dataplane. There is a valid server certificate from the TLS handshake, which clients should verify based on the Fully Qualified Domain Name (FQDN) they are connecting to: wss://wss.dataplane.sportradar.com/
By verifying the server certificate against this FQDN, clients ensure a secure and trusted connection without relying on static IPs.
Last updated
Was this helpful?