Tips Feed Integration
Welcome to the LSports Tips Feed Integration Guide !
Overview
LSports Tips Feed is a real-time betting insights distribution service that processes and delivers data-driven tips to customers through RabbitMQ.
It enables sportsbooks, affiliates, and media or analytics platforms to enhance user engagement and betting activity by providing timely, intelligence-backed recommendations that guide users toward the most relevant markets and deepen in-play interaction.
By automating the delivery of statistically validated tips across both PreMatch and InPlay events, the system empowers customers to drive betting volume, strengthen retention, and build user confidence — all while maintaining transparency and full control over the tip generation process.
The system supports:
PreMatch Tips — for scheduled fixtures
InPlay Tips — for live and ongoing events
Step 1: Access Credentials
Get your Username, Password, and CustomerPackageId from your CSM.
You will receive access to two RabbitMQ virtual hosts:
/fixtures– pre-event metadata/tips– real-time tips (added/removed)
Step 2: Queue Provisioning
For each vhost, LSports provisions a queue per customer.
Queue name (both vhosts): _{CustomerPackageId}_
Encoding: UTF-8 JSON
Transport: AMQP 0-9-1 over TLS (port 5671)
Step 3: Establish Connections
Open two AMQP connections (one per vhost) and consume from the same queue name on each vhost:
/fixtures→_{CustomerPackageId}_/tips→_{CustomerPackageId}_
Integration examples in C#, Python, and Java appear under Code Samples below.
Step 4: Data Mapping
Fixtures: subscribe to /fixtures and persist by body.fixtureId.
Delta updates only (messages are sent only on change).
Use add or update: unknown fixture ⇒ add; known fixture ⇒ update changed fields.
Tips: subscribe to /tips and correlate by body.fixtureId against your fixtures store.
Two message kinds: Added (1) and Removed (2).
For Added, you get full tip objects; for Removed, you get IDs to remove.
Message Structure
For each message type, fields that are null are omitted from the payload to deliver the lightest possible message.
Common Header
MessageId
string (GUID)
No
Unique per message; UUID v4
Timestamp
ISO-8601 (UTC)
No
UTC
MessageType
int (enum)
No
1 = Fixture, 3 = Tips
Fixtures (shared contract)
Fields (body)
fixtureId
int
No
Join key for tips/incidents
status
int (numeric enum)
No
See Fixture Status (numeric enum)
startDate
ISO-8601 (UTC)
No
Scheduled start
sport.id / sport.name
int / string
No
Sport metadata
league.id / league.name
int / string
No
League metadata
location.id / location.name
int / string
No
Country/venue
participants
array of Participant objects
No
Ordered by position (home/away)
Participant (object)
id
int
No
Participant id
name
string
No
Participant name
position
int (numeric enum)
No
1 = home, 2 = away
Fixture Status (numeric enum)
1
NSY
Fixture is in the pre-match phase (not started yet).
2
InProgress
Fixture is live and currently in play.
3
Finished
Fixture has ended and results are confirmed.
4
Cancelled
Event will not take place or requires recreation under a new Id.
5
Postponed
Fixture is postponed; may later return to NSY with an updated start time.
6
Interrupted
Temporarily stopped (e.g., weather); resumes under the same fixture Id.
7
Abandoned
Permanently stopped and will not resume.
8
LostCoverage
Coverage lost; may later become InProgress/Interrupted/Abandoned/Finished.
9
AboutToStart
Fixture is about to begin shortly.
Tips
Added Tips — Example (tipEventType = 1)
Fields — Added (tipEventType = 1)
fixtureId
int
No
Join to fixtures
status
int (FixtureStatus)
No
Fixture status at update time
tips
array of Tip objects
No
Added/updated tips for this fixture
Tip (object)
id
string
No
Tip id
marketId
int
No
Market identifier
betName
string
No
Market/bet label
line
string
Yes
Odds line or relevant value
text
string
Yes
Tip description
playerId
int
Yes
If applicable
isHomeTeamTip
bool
Yes
true = home, false = away/neutral
language
string
Yes
ISO language code (e.g., "en")
Removed Tips — Example (tipEventType = 2)
Fields — Removed (tipEventType = 2)
fixtureId
int
No
Join to fixtures
status
int (FixtureStatus)
No
Status at update time
tips
array of string
No
Tip IDs to remove
Code Samples
C# — Two vhosts / Same queue name
Python (pika) — Two vhosts / Same queue name
Java — Two vhosts / Same queue name
Tips Text Placeholder Replacement Rules
This page describes how placeholders inside Tip Text are dynamically replaced with fixture participant names based on the isHomeTeamTip flag.
1. {participant} Placeholder
{participant} PlaceholderThe {participant} placeholder is dynamically replaced with one of the fixture teams. The selected team depends on the isHomeTeamTip property.
Replacement Logic
If
isHomeTeamTip = true→{participant}= Home teamIf
isHomeTeamTip = false→{participant}= Away team
Received Tip
Example Resolution
Home Team: Boston Red Sox
Away Team: New York Yankees
isHomeTeamTip: false
Resolved Tip
2. {participant} and {opponent} Placeholders
{participant} and {opponent} PlaceholdersSome tips contain both placeholders:
Replacement Logic
Resolve
{participant}using the same rule as beforeResolve
{opponent}as the opposite team:If
{participant}= Home →{opponent}= AwayIf
{participant}= Away →{opponent}= Home
Example Resolution
Home Team: Los Angeles Dodgers
Away Team: San Diego Padres
isHomeTeamTip: true
Replacements:
{participant}→ Los Angeles Dodgers{opponent}→ San Diego Padres
Resolved Tip
3. {league} Placeholder
{league} PlaceholderThe {league} placeholder is used in tips that reference historical performance within a specific competition or league. It should be replaced with the league name associated with the fixture (e.g., MLB, NFL, NBA, Premier League, etc.).
Replacement Logic
Replace {league} with the competition name of the current fixture. This field is taken directly from the fixture's metadata.
Example Tip
Example Resolution
Home Team: Atlanta Braves
Away Team: Philadelphia Phillies
isHomeTeamTip: true
Fixture League: MLB
Replacements:
{participant}→ Atlanta Braves{league}→ MLB
Resolved Tip
4. {player} Placeholder
{player} PlaceholderThe {player} placeholder is used in tips that reference individual player performance. It must be replaced with the player name provided by the tip data model.
Replacement Logic
Replace {player} with the player's full name supplied in the tip payload.
{opponent} is replaced according to the existing team logic:
If
isHomeTeamTip = true,{opponent}= Away teamIf
isHomeTeamTip = false,{opponent}= Home team
Example Tip
Example Resolution
Home Team: Liverpool FC
Away Team: West Ham United
isHomeTeamTip: true
Player: Cody Gakpo
Replacements:
{player}→ Cody Gakpo{opponent}→ West Ham United
Resolved Tip
Last updated
Was this helpful?