LivePlay Bingo Integration Docs

Slots

Slot games inside a bingo room, and the wallet calls each spin makes

Rolling out. Slots run in our sandbox today and are not yet live in production. We switch them on per room. Details on this page may still change before go-live; we'll list changes in the changelog.

Some of our bingo rooms also offer slot games. They open inside the same game iframe, next to the bingo game. There is no separate launch, no separate gamecode and no separate embed: the player launches the bingo game as usual and can spin from there.

What changes for you is the wallet traffic: every spin is its own small round with its own roundid.

What you need to do

  • Nothing in your launch or embed. Same /gamelauncher/play, same launch URL, same iframe.
  • Make sure your wallet accepts the spin calls below. In particular, a roundid that is not a plain UUID, and a player who has a bingo round and spins open at the same time.
  • Tell us which slot games and stakes you want in which rooms. We switch them on per room.

Wallet calls per spin

Each spin makes exactly one /debit, then exactly one /credit, even when the spin wins nothing. The credit is what closes the spin. If the spin fails before its result is drawn, we send a /reverse instead of the credit.

POST /debit   { round: slots:A, trans: T1, debit: 50, ended: false }
POST /credit  { round: slots:A, trans: T2, credit: 0, ended: true }
                                                → spin slots:A closed

The /debit for a spin:

{
  "playerid": "player_42",
  "sessionid": "<our-session-id>",
  "externalsessionid": "<your-session-id>",
  "gamecode": "live-bingo",
  "currency": "EUR",
  "roundid": "slots:0f8c5a4e-6d3b-5c1a-9e2f-7b4d8a1c3e5f",
  "transid": "<uuid>",
  "debitamount": 50,
  "reason": "REGULAR",
  "roundstarted": true,
  "roundended": false,
  "autoplay": true
}
FieldFor a spin
roundidslots: followed by a UUID (42 characters). New for every spin
transidA UUID. Fixed per spin and step, so a retry of the same step always reuses it
gamecodeThe bingo game the player launched. Slots don't have their own game code
reasonAlways REGULAR. Free cards don't apply to slots
debitamountThe bet for this one spin
autoplaytrue when the player's autospin placed this bet. Left out otherwise (never sent as false). For your support team only; it doesn't change the bet or the odds

The /credit and /reverse for a spin use the same shape as for bingo (see Direct integration): the credit has roundstarted: false and roundended: true; the reverse has originaltransid set to the spin's debit and roundended: true.

A spin can be open while the same player's bingo round is open, on the same session. You may see a bingo round and one or more spins open for one player at the same time. Each one closes on its own roundid.

When things go wrong

  • You decline the bet (a 4xx, or a response with an errorcode): the spin stops and we don't send a reverse, because nothing was taken. NOT_SUFFICIENT_FUNDS, BET_LIMIT_REACHED and GAMING_LIMIT_REACHED show the player a matching message.
  • The debit gets a server error or times out: we send a /reverse for it, with the usual 3 attempts.
  • The spin stops before its result is drawn (for example, our side is interrupted): a background job reverses it. It only picks up spins older than 25 seconds, so this /reverse can arrive well after the debit. It can also arrive for a debit you never received, because we can't tell whether the debit reached you before the interruption. If that reverse fails or is refused, we keep resending it in the background (see retries).
  • Once the result is drawn, the spin always pays. If the /credit still fails after its 3 attempts, a background job retries the same credit, with the same transid, about every 2 minutes until your wallet accepts it. This includes a credit you refused. So a spin's credit can arrive minutes late, and you will see the same transid more than once. Be idempotent on transid: return the original success for a repeat, never an error, or we'll keep retrying.
  • The player token is older than 1 hour: spins are refused. The bingo game can keep running on its open connection, but the player needs a fresh launch URL to spin again.

Stakes and limits

  • Bets are per spin. Each room has its own list of slot stakes per currency. If we haven't set slot stakes for a currency, the room's per-card bingo stakes are used.
  • The room's win cap applies. If a room has a maximum win per currency, a spin's win is capped at it.

Call volume

Opening the slot panel sends one /getbalance. Each spin sends one /debit and one /credit. With autospin on, that is a debit and a credit every few seconds for each spinning player, on top of normal bingo traffic. Size your wallet for it.

Replays

Send the spin's roundid (including the slots: part) to POST /gamelauncher/replay. The replay shows each screen the player saw, the bet, the win, and whether the spin was autospun.

Only finished spins can be replayed. A spin that failed, or is still in progress, returns errorcode: 206 ("Game not found"). Slot spins are not listed in the replay dashboard yet; open them with /gamelauncher/replay.

Payout rate (RTP)

Each slot game's payout rate is set per room. Ask us for the RTP statement for the slot games in your rooms before go-live.

On this page