Connection/Authentication

Connection to the message broker is made using a Websocket connection and the message broker makes use of the MQTT protocol.

More information about how authentication works is available at http://developer.connect.sportradar.com/token.

The authorization call will return a number of things:

  1. An endpoint parameter This is an authorized url where you make a websocket connection to the message broker.

  2. A client identifier This is the identifier you must use when connection to the message broker

  3. A list of topics For each permission scope you requested you will receive a topic that you can subscribe/publish to. If your permission scopes include any 'write' permissions you will also receive a topic specific to your client for feedback from the system. Any errors for the data you send will be sent on this topic.

Some example Python code using the paho.mqtt.client library (https://www.eclipse.org/paho/index.php?page=downloads.php).

urlparts = urlparse(connection_url)
host = urlparts.netloc
client = Client(client_id=client_id, transport="websockets")
client.tls_set()
headers = {'host': host, 'Host': host}
client.ws_set_options(
    path="{}?{}".format(urlparts.path, urlparts.query),
    headers=headers
)
client.on_connect = _on_connect
client.on_message = _on_message
client.connect(host, 443, 15)
client.loop_start()

def _on_connect(client, userdata, flags, connection_result):
    print("connected")

def _on_message(client, userdata, msg):
    print("received message {}".format(msg))

Was this helpful?