Skip to content
KOI Games Developer

Aggregators

Brands & routing

When you integrate on behalf of several brands, each callback must reach the wallet of the brand that owns the player.

Routing fields

KOI returns these fields unchanged in every bet, win and rollback callback:

FieldSet byUse it for
extra_dataYou, in request-accessBrand reference and any routing context you need.
user_idYou, in request-accessPlayer ID in the brand's system.
currencyYou, in request-accessBrand currency.
aggregatorKOIYour KOI account ID. Constant for your account.

Example: put a brand key in extra_data.

json
{
  "user_id": "acme:player-123",
  "username": "Ana",
  "game": "aviator-wars",
  "currency": "BRL",
  "extra_data": "{\"brand\":\"acme\",\"casino_session\":\"s-88a1\"}"
}

extra_data is a string. Encode structured data as JSON and decode it in your callback handler.

Player IDs must be unique per account

KOI identifies a player by your account plus user_id. If two brands can have the same player ID, prefix it with the brand (acme:player-123). Otherwise their sessions, balances and free bets will be merged.

Brand-level accounts

When brands need separate access tokens, callback URLs or game lists, KOI can create one partner account per brand under your management. Each brand account then has its own credentials and its own aggregator value. Ask your account manager.

Reporting

Report per brand with the fields you set: group transactions by the brand in extra_data or by aggregator when you use brand-level accounts.