Event Stream
Introduction
Real-time events your platform sends to Unibo to trigger gamification. Bets, deposits, withdrawals and logins flow over the Consumer API. They power campaign progression, missions and tournaments.
What you'll send
Event | When to send |
|---|---|
| A bet is placed or a round wins/loss. Pair them via |
| A deposit clears. |
| A withdrawal clears. |
| A player logs in. Only if you run raffle campaigns. |
For player profile and game catalogue updates, see Metadata.
Send your first event
Get an API key from your Unibo account manager (one per casino brand) and run:
curl -X POST https://consumer.unibo.io/api/v1/events \
-H "x-api-key: YOUR_API_KEY" \
-H "content-type: application/json" \
--data '{
"items": [{
"event": "gameround",
"data": {
"unique_id": "9cd823d3fe",
"timestamp": "2025-01-15T12:00:00Z",
"player_id": "StQ-1",
"game_id": "GD8",
"round_id": "round-001",
"amount": 0.50,
"currency": "EUR",
"is_win": false,
"is_bonus": false
}
}]
}'A successful request returns 204 No Content.
For complete field schemas, see the Consumer API Reference →.
Event Model
Platforms differ in how game rounds are represented. Unibo supports both of the following approaches, and the exact approach is aligned during integration:
Single event per game round: one event including both the bet and the outcome (win amount).
Two events per game round: separate bet and win events, linked using a shared
round_id(or equivalent game round identifier).
In both cases, each event must include a unique identifier (unique_id) and a timestamp representing when the event occurred.
Event samples
// gameround — bet
{
"event": "gameround",
"data": {
"unique_id": "bet-9cd823d3fe",
"timestamp": "2025-01-15T12:00:00Z",
"player_id": "StQ-1",
"game_id": "GD8",
"round_id": "f7ltidMBAwexDojlJBY",
"amount": 0.50,
"currency": "EUR",
"is_win": false,
"is_bonus": false
}
}
// gameround — matching win (same round_id)
{
"event": "gameround",
"data": {
"unique_id": "win-9cd823d3fe",
"timestamp": "2025-01-15T12:00:01Z",
"player_id": "StQ-1",
"game_id": "GD8",
"round_id": "f7ltidMBAwexDojlJBY",
"amount": 1.20,
"currency": "EUR",
"is_win": true,
"is_bonus": false
}
}
// deposit
{
"event": "deposit",
"data": {
"unique_id": "dep-ab12cd34ef",
"timestamp": "2025-01-15T12:01:00Z",
"player_id": "StQ-1",
"amount": 100.00,
"currency": "EUR",
"method": "Credit Card"
}
}
// withdraw
{
"event": "withdraw",
"data": {
"unique_id": "wd-cd34ef56gh",
"timestamp": "2025-01-15T13:00:00Z",
"player_id": "StQ-1",
"amount": 50.00,
"currency": "EUR",
"method": "Bank Transfer"
}
}
// login
{
"event": "login",
"data": {
"unique_id": "lg-1700000000-StQ-1",
"timestamp": "2025-01-15T11:00:00Z",
"player_id": "StQ-1"
}
}→ Next: Reliability
Additional Considerations
If your infrastructure or casino operates in a different geographical region than Unibo’s primary instance (Ireland), a regional deployment can be configured to reduce latency. Please contact Unibo to discuss regional setup options.