Skip to main content

User Data

Get User Data

POST https://{PARTNER_API_URL}/user/profile

Summary

This request will be performed when user loads an iFrame and every time we will need additional information for processing user requests on our side. When you receive a request you should perform the following actions on your side:

Actions to perform:

  • Check that the method is POST.
  • Verify request signature.
  • Verify user token.
  • Respond with a current user balance in requested currency.

Request Example

{
"token": "5caa4cabce523c2f7610c50ce9819bfb",
"requestId": "d9195aef-9492-43dd-88d0-dc1732a37f4e"
}

Response Example

{
"userId": "1999",
"currency": "USD",
"currencies": ["USD", "EUR"],
"isTest": false,
"customFields": {
"nickname": "Mr",
"firstName": "John",
"lastName": "Smith",
"email": "johnsmith@email.com",
"birthday": "1995-12-17",
"gender": "female",
"phone": "447911123456",
"isCashOutAllowed": true,
"isVerified": true,
"userCountry": "GB",
"userStatus": "positive",
"userSessionIp": "10.10.121.120",
"userSessionCountry": "GB",
"registrationDate": "2019-09-10 12:00:01",
"percentMargin": 13.2,
"avgBet": 12,
"isAbuser": 1,
"isVIP": 1
}
}

The table below describes the parameters:

ParameterTypeValidationDescription
tokenstring10-64A string that you generating for each user session to be able to identify and authorize user on backend.
userIdstring1-64The user’s unique ID on the Partner’s platform.
currencystring3-5Currently active currency of the user’s account (ISO 4217). Sets the default currency on the iFrame.
currenciesstring[]-The list of available currencies for the user. This list may be shown on the iFrame.
isTestboolean-Optional. If this parameter is missing, a user will be count as isTest = false.
customFieldsobject-A field holding additional information about a user. This field is optional.
requestIdstring10-64A unique id to identify and track this particular request.

The CustomFields parameters are holding additional information about user. Some parts of this information (e.g., nickname, first name, last name) can be displayed in Sportsbook iFrame and may be used within the leader boards (and other additional features) visible for other users. The table below describes the CustomFields parameters:

ParameterTypeValidationDescription
firstNamestring-User’s first name.
lastNamestring-User’s last name.
nicknamestring-User’s nickname.
emailstring-User’s email.
birthdaystringYYYY-MM-DDUser’s date of birth.
genderstring-User’s gender. Options: female, male, no data.
phonestring-User’s phone number.
isCashOutAllowedboolean-Optional parameter that enables/disables cashout for this user.
isVerifiedboolean-The verification state of the user on the Partner’s side.
userCountrystringISO 3166-1User’s country code (alpha-2).
userStatusenum-Antifraud reputation status in the Sportsbook system.
userSessionIpstringIPThe IP address of the user’s session.
userSessionCountrystringISO 3166-1User’s session country code (alpha-2).
registrationDatestringUTCRegistration date (YYYY-MM-DD hh:mm:ss).
percentMarginfloat-Average margin from the Partner’s product on specific user.
avgBetfloat-The average sum of the bet.

Use Case

Multi-Currency Support Requirements and Usage

Overview

Our system supports multiple currencies for a single user. Operators and Aggregators may implement multi-currency handling based on their platform architecture.

Regardless of the chosen integration approach, our system always expects the current active currency in the response to the User Data request (/user/profile). Our system also always includes the currency in all bet-related interactions (placebet, settle, unsettle, rollback).

Standard Approach for Multi-Currency Integration

Flow Description:

  1. User opens the website -> our system calls /user/profile.
  2. The Operator/Aggregator returns the user profile, including the current active currency.
  3. Our system stores the returned currency.
  4. For all subsequent bet-related requests, our system sends the currency that was active at the moment the bet was placed.
Note

If a bet was placed while the user’s active currency was USD, then even if the user later switches to another currency (e.g., EUR), all future operations related to that bet continue using USD.

Summary

  • The User Data response (/user/profile) must always include the current active currency.
  • All bet-related requests include the currency.
  • The userId must remain constant for the same real user.
  • After each currency change, the token must be changed, because each userId + currency pair must have a unique token.

Strict Requirements

Changing the userId for the same real player when their currency changes is strictly prohibited. Changing it may lead to:

  • Broken limits and risk-management rules.
  • Incorrect or incomplete bet history.
  • Vulnerability to user fraud and potential financial losses.

OperatorUser Field Requirements and Usage

Overview

The operatorUser field is used exclusively in scenarios where an Aggregator integrates with our system and acts as an intermediary between us and the Operators.

When requests are routed through an Aggregator, the standard userId field may contain the Aggregator’s internal identifier. To ensure accurate identification, the Aggregator must provide the Operator’s real player ID in the operatorUser field.

When Should operatorUser Be Used?

You MUST include the operatorUser field when userId represents the Aggregator’s Internal ID.

When operatorUser Is Not Required

If an Operator integrates directly (without an Aggregator) and passes its own user ID using userId, the operatorUser field may be omitted.

Allowed Format

  • Regex: /^[A-Za-z0-9._~-]+$/ (Alphanumeric and safe characters only: ., _, ~, -).
  • Maximum length: 64 characters.
tip

This pattern prevents issues with encoding, routing, or request parsing across different environments.