Fusion is a new product designed for streaming extremely low-latency event data. It has been written from scratch leveraging Cloud technologies to reduce latency at all points across the collection , distribution and delivery of data.
Event data is shipped via ultra low-latency sports data streams shipped via subscriber-specific channels and provides multiple events such as real-time updates, context ( last price state ) and heartbeats.
Clients subscribe via a query mechanism that allows full control via custom selection of elected data cubes according to such dimensions as sports, bookmakers,competitions and odds types.
Concurrent client subscriptions can be started or stopped independently. Each new subscription can start by optionally shipping a fully consistent context i.e. all the offers corresponding to the specified subscription query or alternative options for “gap-filling” i.e. to request messages between your last subscription and now. All other offers (and associated timestamps) for the bookmakers specified in the query are included with each update, simplifying the logic on the clients.
The reference sports data required to support the odds data such as fixtures, competitions, bookmakers, and odds types are also available via streams to avoid polling and to ensure any new or changed data is available in real-time.
To further reduce latency on shipping data to the client, we have reduced each streams message payload to the bare minimum and allow the client to decide if they want messages decorated with optional data.
For example, for odds streams we do not ship the Country, Competition or Bookmaker names but do provide the IDs as this information is available via the reference data streams/endpoints. However, the client can ask for these names to be shipped if preferred.
As new derivative markets are continuously added by bookmakers we have built a new method to classify odds markets into a unified representation called SuperOddsTypes to avoid issues encountered when mapping traditional odds types to allow clients to subscribe to only the specific markets (or subset of the market) that they require.
For example, a Soccer Over Under market can have a period i.e. full time, 1st half, 2nd half, extra time plus various selections for both teams, individual participants plus the line value ladder or ranges and so on. SuperOddsTypes can be queried within a subscription with AND, NOT, OR to return only what is required.
Fusion utilizes Server-Sent Events (SSE)/ Eventsource as a transport mechanism to stream the odds. This uses regular HTTP requests for the persistent connection, not a special protocol greatly simplifying the integration process.
Connections are initiated by the client, and once connected the server will send events in text/event-stream format without closing the connection. Similar to WebSockets in that they happen in real time, SSE are a one-way read-only communication method from the server.
Each payload message in the stream contains the event type which can be `live`, `context` or `heartbeat` to allow the client to process messages via different callbacks/listeners and act appropriately i.e. heartbeats can be used tp monitor the status of the subscription.
Each event also is decorated with SSE LastEventId which allows clients to automatically re-connect if the connection is interrupted and the data stream can be continued from the point of interruption, so no messages are lost. Clients also have full control so they can decide not to use the LastEventId feature and use timestamps on reconnect to gap fill if they so wish.
It is possible to have many streams open at the same time with the SSE streams being multiplexed over the same physical connection. Highly available, resilient and load balanced Odds Distributor endpoints are available from which to consume data and are accessing via a single URL and the subscription is transparently placed onto the least loaded endpoint.
There are many SSE/Eventsource libraries available for all major languages and at least getting started to consume Fusion data for review is a lot simpler than using legacy messaging protocols.
TXODDS has several different legacy feeds such Trader Feed/AHC, Market Feed/xml2 & Push that can deliver information about competitions, fixtures, and odds.
Fusion uses a new platform to manage this reference data but to protect existing customers investment in the Trader, Market and Push feeds the IDs generated by these systems are optionally available in the Fusion feed via the IOI feature described above.
Users of Fusion will therefore be able to obtain all required information to support the odds subscriptions from Fusion itself without having to rely on other feeds. The customer experience and integration effort will be greatly simplified as all feeds will be delivered in a single, consistent manner.
The service allows a client to have one or more subscriptions concurrently, with each subscription’s scope (or interest) expressed in a very simple subscription DSL. The client application communicates with the server-side Odds Distributor component that authorises and manages all the current customer subscriptions.
For example, clients can query to get just pre-game or just in-play pricing or both via the same endpoint. TXODDS have the same FixtureId for an event whether it’s pre-game or in-play but some customer systems can require pre-game to be forwarded to one internal endpoint and in-play to another. Clients can have multiple subscriptions to achieve this without having to read the payload data.
The same applies to sports, bookmakers, competitions, SuperOddsTypes so if a client wants to have different subscriptions with different bookmakers and SuperOddsTypes for each sport or competition that’s also possible.
With the entensive global coverage TXODDS provide for specialist bookmakers, clients can choose the best in breed for their pricing, whether that be Asian bookmakers for Soccer, US bookmakers for NBA, NFL, MLB,NCAA and European bookmakers for Eurobasket it’s all possible.
There’s also no need to `book` an event or fixture in Fusion, all events are available based on the scope of a subscription.
The Fusion endpoint(s) are available only via HTTPS to provide encryption to ensure your requests are being sent to our servers and to protect the privacy and integrity of the exchanged data from malicious attacks or being read by a third party.
Customers will need to supply external facing IP address(es) from which they will connect as these will have to be added to the allow list on the firewall. Customer subscriptions will also be required to supply credentials for authentication and access to the feeds.
Compression can also be requested by the client to further reduce bandwidth consumption and decrease latency.
You can request only updates to the odds you are interested in, so no need to refresh the entire catalogue of event(s) constantly thereby reducing your server bandwidth and processing resources.
As mentioned earlier using SSE libraries and the LastEventId when the client is running it can automatically and transparently handle short interruptions like network failures and distributor restarts/maintenance and request any updates including market OTBs during the time of the disconnection.
For longer outages/clients being restarted on the customer side if the LastEventId and/or the last received Ts ( timestamp ) will need to be maintained/stored on the customers side so you can request `as much or as little data` as required.
We send our server timestamp which is set always to GMT to you to ensure that there are no time zone or clock synchronization problems. Wherever you are in the world or whatever time your local PC or server is set to will not affect the data we send you.