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:
| Parameter | Type | Validation | Description |
|---|---|---|---|
| token | string | 10-64 | A string that you generating for each user session to be able to identify and authorize user on backend. |
| userId | string | 1-64 | The user’s unique ID on the Partner’s platform. |
| currency | string | 3-5 | Currently active currency of the user’s account (ISO 4217). Sets the default currency on the iFrame. |
| currencies | string[] | - | The list of available currencies for the user. This list may be shown on the iFrame. |
| isTest | boolean | - | Optional. If this parameter is missing, a user will be count as isTest = false. |
| customFields | object | - | A field holding additional information about a user. This field is optional. |
| requestId | string | 10-64 | A 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:
| Parameter | Type | Validation | Description |
|---|---|---|---|
| firstName | string | - | User’s first name. |
| lastName | string | - | User’s last name. |
| nickname | string | - | User’s nickname. |
string | - | User’s email. | |
| birthday | string | YYYY-MM-DD | User’s date of birth. |
| gender | string | - | User’s gender. Options: female, male, no data. |
| phone | string | - | User’s phone number. |
| isCashOutAllowed | boolean | - | Optional parameter that enables/disables cashout for this user. |
| isVerified | boolean | - | The verification state of the user on the Partner’s side. |
| userCountry | string | ISO 3166-1 | User’s country code (alpha-2). |
| userStatus | enum | - | Antifraud reputation status in the Sportsbook system. |
| userSessionIp | string | IP | The IP address of the user’s session. |
| userSessionCountry | string | ISO 3166-1 | User’s session country code (alpha-2). |
| registrationDate | string | UTC | Registration date (YYYY-MM-DD hh:mm:ss). |
| percentMargin | float | - | Average margin from the Partner’s product on specific user. |
| avgBet | float | - | 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:
- User opens the website -> our system calls
/user/profile. - The Operator/Aggregator returns the user profile, including the current active currency.
- Our system stores the returned currency.
- For all subsequent bet-related requests, our system sends the currency that was active at the moment the bet was placed.
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
userIdmust 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.
This pattern prevents issues with encoding, routing, or request parsing across different environments.