
Changes
| Date | Version | Description |
|---|---|---|
| 01.12.22 | 1.0 | Creation of the documentation |
| 25.10.24 | 1.1 | GameId is added in params Rollback method is deleted |
| 28.05.25 | 1.2 | A method for initiating integration testing has been added |
| 11.07.25 | 1.3 | Added methods for working with freespins |
| 15.10.25 | 1.4 | Replace all integer with bigint |
| 10.12.25 | 1.5 | Added freebet parameter to game list response. Added finished parameter to bet/win/refund requests. |
1. Introduction
This document describes the process of interaction between the pixmove-games processing system and the partner processing system. It provides a description of the methods required for implementation on the partner’s side.
Transport protocol - HTTPS.
Methods - GET/POST.
Data format - JSON.
In the request headers, set Content-Type to - application/json.
After signing the contract, you will be provided with:
- the url of the pixmove-games server (hereinafter <server-pixmove-games>)
- partnerId - a unique partner identifier
- apiKey - a secret key for generating a hash
The partner must provide an url (hereinafter <server-partner>) for making the necessary requests (see method descriptions below), as well as a list of IP addresses of their servers to be added to the whitelist.
2. Generation of request signature
The signature is formed as follows
requestType + param1 + param2 + … + paramN + apiKey
requestType - type of request (bet, win, balance, etc.) param1 - 1st parameter passed in the request
... paramN - Nth parameter passed in the request
apiKey - partner’s secret key
The hmac-sha256 algorithm is used for encryption, with the apiKey as the key for encryption.
Example
apiKey: test_key
requestType: bet
Parameters:
amount: '10.00',
currency: 'USD',
partnerId: 1,
playerId: '432',
roundId: 7562,
sessionId: '123',
transactionId: 33,
The following string is formed for encryption:
bet10.00USD1432756212333test_key
We perform encryption with the key and get the hash.
47226afaf96b699b71d1942ede85a6867b668f21f4bb8928db3b52a7410f29aa
INFO
A website for checking the signature
TIP
Example using NodeJS
const crypto = require('crypto');
const apiKey = 'test_key';
const result = 'bet10.00USD1432756212333test_key';
const cryptoHash = crypto.createHmac('sha256', apiKey);
const hash = cryptoHash.update(result).digest('hex');
console.log(hash);3. The format of the returned data
The following data structure is used to return data from both the provider's server and the partner’s server.
In the case of a successful request, the following structure is returned:
{
status: 'success'
data: {
field1: value1,
field2: value2,
...
fieldN: valueN,
}
}In case of an error, the following data is returned:
{
status: 'error',
error: {
message: 'ValueNotFound',
details: {
field1: value1,
field2: value2,
...
fieldN: valueN,
}
}
}TIP
message - an error message will be provided for each method, listing possible errors.
details - data allowing for detailed error analysis.
4 Method descriptions
4.1 Getting a list of games
Url: https://<server-pixmove-games>/game/list
Request type: GET
The method allows you to get an up-to-date list of games. The request is executed by the partner.
Request parameters:
| Name | Type | Description |
|---|---|---|
| partnerId | bigint | Unique partner identifier |
| class* | string | Game class (instant, slot, table) |
| hash | string | sha256 from string (“game_list” + partnerId + class + apiKey) |
| icons** | boolean | Flag indicating the need to return all sizes of game icons (default = 'false') |
* - Optional fields: If they are not passed, they are not taken into account when calculating the hash (“game_list” + partnerId + apiKey)
** - Optional fields: they are never used in hash calculation
Response parameters:
| Name | Type | Description |
|---|---|---|
| games | array | Array with games |
| Game parameters in an array | ||
| id | bigint | Unique game identifier |
| title | string | Game’s name |
| class | string | Game’s class (instant, slot, table) |
| icon | string | Game icon URL |
| icons | array | Array with game icons |
| freebet | boolean | Flag indicating whether freespins are available in the game |
Example of a request:
{
partnerId: 1,
hash: 'f01729f278481b7934b9c859fdbf030195e924e2e17d99b925ec2bff4655dfc2'
}The hash is calculated from the string "game_list1test_key"
Example of a response
{
status: 'success'
data: {
games: [{
id: 1,
title: 'Pirate dice',
class: 'instant,
icon: '.../icon/1.png',
icons: {
'128x128': '.../icon/1.png',
'256x256': '.../icon/2.png'
},
freebet: true
}]
}
}Possible error messages
| Message | Description |
|---|---|
| RequiredParamsNotFound | Incorrect number of parameters in the request |
| InvalidParamType | Incorrect type of parameter |
| PartnerNotFound | Partner with such partnerId not found |
| IncorrectHash | Incorrectly calculated hash |
| ServerError | Sever error |
4.2 Obtaining a demo game
Url: https://<server-pixmove-games>/game/demo
Request type: GET
This method allows you to obtain a link for opening the game in iFrame. The request is executed by the partner.
Request parameters:
| Name | Type | Description |
|---|---|---|
| partnerId | bigint | Unique partner identifier |
| gameId | bigint | Unique game identifier |
| language* | string | Game localization language (en, ru, etc.) |
| returnUrl* | string | Link for returning from the game back to the partner’s website |
| hash | string | sha256 from string (“demo”+ partnerId + gameId + language + returnUrl + apiKey) |
* - Optional fields: If they are not passed, they are not taken into account when calculating the hash (“demo” + partnerId + gameId + apiKey)
Response parameters:
| Name | Type | Description |
|---|---|---|
| gameUrl | string | Link for opening the game in iFrame |
Request example:
{
partnerId: 1,
gameId: 1,
hash: '504b47948ff3efe5247b9e369502e9e20b19752eaf3c6eb7f7354e75b09c61ac'
}The hash is calculated from the string "demo11test_key".
Response example:
{
status: 'success'
data: {
gameUrl: '\<server-pixmove-games\>/pirate\_dice/?token=rzcvPWua8zjMw2'
}
}Possible error messages
| Message | Description |
|---|---|
| RequiredParamsNotFound | Incorrect number of parameters in the request |
| InvalidParamType | Incorrect parameter type |
| PartnerNotFound | Partner with such partnerId not found |
| GameNotFound | Game with such gameId not found |
| IncorrectHash | Incorrectly calculated hash |
| ServerError | Server error |
4.3 Obtaining a game
Url: https://<server-pixmove-games>/game/init
Request type: GET
This method allows you to obtain a link for opening the game in iFrame. The request is executed by the partner.
Request parameters:
| Name | Type | Description |
|---|---|---|
| currency | string | The currency in which the game will be played (USD, EUR etc.) |
| partnerId | bigint | Unique partner identifier |
| gameId | bigint | Unique game identifier |
| playerId | string | Unique player identifier in the partner’s system |
| sessionId* | string | Unique game session identifier in the partner’s system, which will be passed in all subsequent requests. This is an optional field and can be omitted if not required |
| language* | string | Game localization language (en, ru, etc.) |
| returnUrl* | string | Link for returning from the game back to the partner’s website |
| hash | string | sha256 from string ("game" + currency + partnerId + gameId + playerId + sessionId + language + returnUrl + apiKey) |
* - Optional fields: If they are not passed, they are not taken into account when calculating the hash ("game" + currency + partnerId + gameId + playerId + apiKey)
Response parameters:
| Name | Type | Description |
|---|---|---|
| gameUrl | string | Link for opening the game in iFrame |
Request example:
{
currency: 'USD',
partnerId: 1,
gameId: 1,
playerId: '132',
sessionId: '123',
hash: '5ac72c7cec4949fc3d268dee6bff0394c3378a3a0ed21727d5523d272638a430'
}hash_string = 'gameUSD11132123test_key'
Response example:
{
status: 'success'
data: {
gameUrl: '\<server-pixmove-games\>/pirate\_dice/?token=rzcvPWua8zjMw2'
}
}Possible error messages
| Message | Description |
|---|---|
| RequiredParamsNotFound | Incorrect number of parameters in the request |
| InvalidParamType | Incorrect type of parameter |
| CurrencyNotFound | Currency with such code not found |
| PartnerNotFound | Partner with such partnerId not found |
| GameNotFound | Game with such partnerId not found |
| IncorrectHash | Incorrectly calculated hash |
| ServerError | Server error |
4.4 Obtaining a player’s balance
Url: https://<server-partner>/balance
Request type: GET
This method allows you to get the current player's balance. The request is executed by the provider.
Request parameters:
| Name | Type | Description |
|---|---|---|
| currency | string | Currency in which the game is played (USD, EUR etc.) |
| partnerId | bigint | Unique partner identifier |
| playerId | string | Unique player identifier in the partner’s system |
| sessionId* | string | Unique game session identifier in the partner’s system |
| hash | string | sha256 from string (“balance” + currency + partnerId + playerId + sessionId + apiKey) |
* - Optional fields: If they are not passed, they are not taken into account when calculating the hash (“balance” + currency + partnerId + playerId + apiKey)
Response parameters:
| Name | Type | Description |
|---|---|---|
| balance | string | Player's current balance |
Request example:
{
currency: 'USD',
partnerId: 1,
playerId: '432',
sessionId: '123',
hash: 'bafb050a6f04d30d6b684f024a5e38c97f8de84b7c957bbd357e6da867cf2f3c'
}Response example:
{
status: 'success'
data: {
balance: '10103.63'
}
}Possible error messages
| Message | Description |
|---|---|
| RequiredParamsNotFound | Incorrect number of parameters in the request |
| InvalidParamType | Incorrect parameter type |
| CurrencyNotFound | Currency with such code not found |
| IncorrectHash | Incorrectly calculated hash |
| ServerError | Server error |
4.5 Placing a bet by the player
Url: https://<server-partner>/bet
Request type: POST
This method allows the player to place a bet. The request is executed by the provider.
Request parameters:
| Name | Type | Description |
|---|---|---|
| amount | string | Transaction amount |
| currency | string | The currency in which the game will be played (USD, EUR etc.) |
| partnerId | bigint | Unique partner identifier |
| playerId | string | Unique player identifier in the partner’s system |
| gameId | bigint | Unique identifier of the game |
| roundId | bigint | Unique identifier of the betting round |
| transactionId | bigint | Unique identifier of the provider's betting transaction |
| sessionId* | string | Unique game session identifier in the partner's system |
| finished** | boolean | Flag indicating whether the round is finished |
| hash | string | sha256 from string ("bet" + amount + currency + partnerId + playerId + gameId + roundId + transactionId + sessionId + apiKey) |
* - Optional fields: If they are not passed, they are not taken into account when calculating the hash ("bet" + amount + currency + partnerId + playerId + gameId + roundId + transactionId + apiKey)
** - Optional fields: they are never used in hash calculation
Response parameters:
| Name | Type | Description |
|---|---|---|
| balance | string | Player's current balance |
| transactionId | string | Unique identifier of the betting transaction in the partner’s system. |
Request example:
{
amount: '10.00',
currency: 'USD',
partnerId: 1,
playerId: '432',
gameId: 3,
roundId: 7665,
transactionId: 35,
sessionId: '123',
finished: false,
hash: '433e73d9de350fdae70a85634de4eedb2923868ea09f8e35423b25ec2b0a3762'
}Response example:
{
status: 'success'
data: {
balance: '10113.63',
transactionId: '1333882828'
}
}Possible error messages
| Message | Description |
|---|---|
| RequiredParamsNotFound | Incorrect number of parameters in the request |
| InvalidParamType | Incorrect parameter type |
| PlayerLowBalance | Insufficient funds on player's balance |
| CurrencyNotFound | Currency with such code not found |
| IncorrectHash | Incorrectly calculated hash |
| ServerError | Server error |
4.6 Crediting the player's winnings
Url: https://<server-partner>/win
Request type: POST
This method allows to credit the player's winnings. The request is executed by the provider.
Request parameters:
| Name | Type | Description |
|---|---|---|
| amount | string | Transaction amount |
| currency | string | The currency in which the game will be played (USD, EUR etc.) |
| partnerId | bigint | Unique partner identifier |
| playerId | string | Unique player identifier in the partner’s system |
| gameId | bigint | Unique identifier of the game |
| roundId | bigint | Unique identifier of the betting round |
| betTransactionId | string | Unique identifier of the betting transaction in the partner's system |
| transactionId | bigint | Unique identifier of the provider's winning transaction |
| sessionId* | string | Unique game session identifier in the partner's system |
| finished** | boolean | Flag indicating whether the round is finished |
| hash | string | sha256 from string ("win" + amount + currency + partnerId + playerId + gameId + roundId + betTransactionId + transactionId + sessionId + apiKey) |
* - Optional fields: If they are not passed, they are not taken into account when calculating the hash ("win" + amount + currency + partnerId + playerId + gameId + roundId + betTransactionId + transactionId + apiKey)
** - Optional fields: they are never used in hash calculation
Response parameters:
| Name | Type | Description |
|---|---|---|
| balance | string | Player's current balance |
| transactionId | string | Unique identifier of the winning transaction in the partner’s system |
Request example:
{
amount: '20.00',
currency: 'USD',
partnerId: 1,
playerId: '432',
gameId: 3,
roundId: 7665,
betTransactionId: '1333882827',
transactionId: 36,
sessionId: '123',
finished: true,
hash: 'd919a11d4cb1b0dc4cc0d5f880c6970fd160d434b3a779a66a9a7f6451d108fd'
}Response example:
{
status: 'success'
data: {
balance: '10123.63',
transactionId: '1333882829'
}
}Possible error messages
| Message | Description |
|---|---|
| RequiredParamsNotFound | Incorrect number of parameters in the request |
| InvalidParamType | Incorrect parameter type |
| CurrencyNotFound | Currency with such code not found |
| IncorrectHash | Incorrectly calculated hash |
| ServerError | Server error |
4.7 Refund of the bet to the player
Url: https://<server-partner>/refund
Request type: POST
This method allows to refund the player's bet. The request is executed by the provider.
Request parameters:
| Name | Type | Description |
|---|---|---|
| amount | string | Transaction amount |
| currency | string | The currency in which the game will be played (USD, EUR etc.) |
| partnerId | bigint | Unique partner identifier |
| playerId | string | Unique player identifier in the partner’s system |
| gameId | bigint | Unique identifier of the game |
| roundId | bigint | Unique identifier of the betting round |
| betTransactionId | string | Unique identifier of the betting transaction in the partner's system |
| transactionId | bigint | Unique identifier of the provider's refund transaction |
| sessionId* | string | Unique game session identifier in the partner's system |
| finished** | boolean | Flag indicating whether the round is finished |
| hash | string | sha256 from string ("refund" + amount + currency + partnerId + playerId + gameId + roundId + betTransactionId + transactionId + sessionId + apiKey) |
* - Optional fields: If they are not passed, they are not taken into account when calculating the hash ("refund" + amount + currency + partnerId + playerId + gameId + roundId + betTransactionId + transactionId + apiKey)
** - Optional fields: they are never used in hash calculation
Response parameters:
| Name | Type | Description |
|---|---|---|
| balance | string | Player's current balance |
| transactionId | string | Unique identifier of the refund transaction in the partner’s system |
Request example:
{
amount: '10.00',
currency: 'USD',
partnerId: 1,
playerId: '432',
gameId: 3,
roundId: 7686,
betTransactionId: '1333882828',
transactionId: 37,
sessionId: '123',
finished: false,
hash: '3d304f5134260424a0777a91745565cf3e8b80226d0e1aa66bb0835ffe59839a'
}Response example:
{
status: 'success'
data: {
balance: '10113.63',
transactionId: '1333882830'
}
}Possible error messages
| Message | Description |
|---|---|
| RequiredParamsNotFound | Incorrect number of parameters in the request |
| InvalidParamType | Incorrect parameter type |
| CurrencyNotFound | Currency with such code not found |
| IncorrectHash | Incorrectly calculated hash |
| ServerError | Server error |
5. Integration tests
Our API provides the ability to verify the correctness of the integration by sending a POST request that triggers various game scenarios. In response, you will receive a final status (success or error) along with detailed information for each test case. Successfully passing all tests indicates that the integration has been completed correctly.
In tests we expect that on any /bet request with transactionId: 999999999 will return error, so we can send /refund on this bet.
Url: https://<server-pixmove-games>/test/self-validate
Request type: POST
Request parameters:
| Name | Type | Description |
|---|---|---|
| partnerId | bigint | Unique partner identifier |
| playerId | string | Unique player identifier in the partner’s system |
| currency* | string | The currency in which requests will be made (USD by default) |
| gameId* | bigint | Unique identifier of the game (1 by default) |
| sessionId* | string | Unique game session identifier in the partner’s system (if not provided - will not be included in requests) |
| hash | string | sha256 from string (“self_validate” + partnerId + playerId + apiKey) |
Response parameters:
| Name | Type | Description |
|---|---|---|
| failedTests | array | Detailed data of failed tests |
Request example:
{
partnerId: 1,
playerId: '1',
hash: 'f01729f278481b7934b9c859fdbf030195e924e2e17d99b925ec2bff4655dfc2'
}Response example:
{
"status": "success",
"data": {
"success": true,
"failedTests": []
},
"serverTime": 1748437219129,
"duration": 334
}6. Freespins
General Provisions
The implementation of freespins involves two main entities: a freespins campaign and freespins.
A freespins campaign is a general promotion that a partner can create. Based on its parameters, players will be awarded freespins.
Freespins are complimentary spins that are credited to players when they enter the game.
Within a single freespins campaign, a user can only receive one set of freespins.
6.1 Creating a freespins campaign
To award free spins to players, you need to create a free spins campaign. The parameters of this campaign will determine how free spins are distributed.
When a player enters the game, the system checks if they match the campaign’s conditions (e.g., correct currency, game, or specific player identifier). If they qualify, the player receives the free spins.
If the free spins campaign creation request does not specify parameters like currencies, gameIds, or playerIds, the free spins will be awarded to all players.
Example: If the request only specifies gameIds = [1], free spins will be granted to all players in any currency who enter the game with ID = 1.
The strictBetLevel parameter: if set to true, it guarantees that the player will receive freespins exactly at the betLevel specified during creation. If the game does not have that exact betLevel, the player will not have access to freespins in this game. If the default value false is used for this parameter, then if the required betLevel is not available in the game, the nearest one will be used instead.
Url: https://<server-pixmove-games>/freespins/create
Request type: POST
Request parameters:
| Name | Type | Description |
|---|---|---|
| campaignExtId | string | Unique identifier of the campaign in the partner's system |
| spinCount | bigint | Number of freespins |
| partnerId | bigint | Unique partner identifier |
| betLevel | bigint | Desired bet size (from the available ones obtained in request 6.2) |
| strictBetLevel* | boolean | Enable mandatory betLevel match for freespins (default - false ) |
| startTime | string | Time of campaign start in ISO 8601 format |
| endTime | string | Time of campaign end in ISO 8601 format |
| betLevelCurrency* | string | Currency of betLevel (default USD) |
| maxWin* | bigint | Maximum winning amount in betLevelCurrency (default - not limited) |
| currencies* | array | Array of currencies for which free spins will be issued (example - ["USD", "EUR"]) |
| gameIds* | array | Array of unique game identifiers for which free spins will be issued (example - [1, 2, 3]) |
| playerIds* | array | Array of unique player identifiers for which free spins will be issued (example - ["playerId1", "playerId2"]) |
| hash | string | sha256 from string (“freespins_create” + campaignExtId + spinCount + partnerId + betLevel + apiKey) |
Response parameters:
| Name | Type | Description |
|---|---|---|
| id | bigint | Unique identifier of the campaign |
Request example:
{
campaignExtId: 1,
spinCount: 20,
betLevel: 8,
betLevelCurrency: 'USD',
strictBetLevel: true,
maxWin: 10000000,
partnerId: 1,
startTime: '2025-07-01T15:04:32.384Z',
endTime: '2025-07-07T15:04:32.384Z',
currencies: ['RUB', 'USD', 'EUR'],
playerIds: ['1', '2', '3'],
gameIds: [1, 2, 3, 4, 5],
hash: '123'
}Response example:
{
"status": "success",
"data": {
"id": 713
},
"serverTime": 1748437219129,
"duration": 334
}6.2 Getting a list of available bet levels
This method allows you to get available betLevels for creating a freespins campaign, based on the parameters passed. You can select a betLevel from the received data to create a freespins campaign.
Url: https://<server-pixmove-games>/freespins/bet-levels
Request type: GET
Request parameters:
| Name | Type | Description |
|---|---|---|
| currency | string | Currency of betLevel (USD, EUR, RUB and etc.) |
| partnerId | bigint | Unique partner identifier |
| hash | string | sha256 from string (“freespins_bet_levels” + currency + partnerId + apiKey) |
Response parameters:
| Name | Type | Description |
|---|---|---|
| betLevels | array | Array with available betLevels |
Request example:
{
currency: 'USD',
partnerId: 1,
hash: '123'
}Response example:
{
"status": "success",
"data": {
"betLevels": [
10,
20,
30,
40,
50,
100,
200,
300,
400,
500
]
},
"serverTime": 1748437219129,
"duration": 334
}6.3 Getting a list of freespins campaigns
All parameters in this request except partnerId - optional, if they are passed - they are used to filter received freespins campaigns.
The withFreespins flag defines whether information about current freespins for campaigns will be included in the response.
Url: https://<server-pixmove-games>/freespins/list
Request type: GET
Request parameters:
| Name | Type | Description |
|---|---|---|
| partnerId | bigint | Unique partner identifier |
| campaignExtId* | string | Unique identifier of the campaign in the partner's system |
| currencies* | array | Array with currencies for which freespins will be issued (example - ["USD", "EUR"]) |
| gameIds* | array | Array with unique game identifiers for which freespins will be issued (example - [1, 2, 3]) |
| playerIds* | array | Array with unique player identifiers for which freespins will be issued (example - ["playerId1", "playerId2"]) |
| status* | string | Status of freespins campaign ("active", "completed", "canceled") |
| closed* | boolean | Flag determining whether only closed freespins campaigns will be returned |
| startTimeFrom* | string | Filter by freespins campaign startTime in ISO 8601 format |
| startTimeTo* | string | Filter by freespins campaign startTime in ISO 8601 format |
| endTimeFrom* | string | Filter by freespins campaign endTime in ISO 8601 format |
| endTimeTo* | string | Filter by freespins campaign endTime in ISO 8601 format |
| limit* | bigint | Number of freespins campaigns to return |
| offset* | bigint | Offset, determining from which freespins campaign to start returning |
| withFreespins* | boolean | Flag determining whether information about current freespins for campaigns will be included in the response |
| hash | string | sha256 from string (“freespins_list” + partnerId + apiKey) |
Response parameters:
| Name | Type | Description |
|---|---|---|
| campaigns | array | Array with freespins campaigns |
Request example:
{
partnerId: 1,
campaignExtId: 1,
currencies: ['USD', 'EUR'],
gameIds: [1, 2, 3],
playerIds: ['1', '2', '3'],
status: 'active',
closed: false,
startTimeFrom: '2025-07-01T15:04:32.384Z',
startTimeTo: '2025-07-07T15:04:32.384Z',
endTimeFrom: '2025-07-01T15:04:32.384Z',
endTimeTo: '2025-07-07T15:04:32.384Z',
limit: 10,
offset: 0,
withFreespins: true,
hash: '123'
}Response example:
{
"status": "success",
"data": {
"campaigns": [
{
"id": 11,
"extId": "22",
"spinCount": 20,
"betLevel": 8,
"closed": false,
"maxWin": null,
"startTime": "2025-07-01T15:04:32.384Z",
"endTime": "2025-08-25T15:05:16.592Z",
"partnerId": 1,
"Freespins": [
{
"id": 23,
"campaignId": 11,
"playerId": 164,
"gameId": 17,
"currencyId": 1,
"status": "active",
"currentSpins": 0,
"currentWin": 0,
"closed": false
}
]
}
]
},
"serverTime": 1752245215266,
"duration": 182
}6.4 Freespins Campaign Cancellation
This request allows you to cancel and close a free spins campaign.
Attention! This method also cancels and closes all current free spins, its use is not recommended if any of the clients have already received them
Url: https://<server-pixmove-games>/freespins/cancel
Request type: POST
Request parameters:
| Name | Type | Description |
|---|---|---|
| campaignExtId | string | Unique identifier of the campaign in the partner's system |
| partnerId | bigint | Unique partner identifier |
| hash | string | sha256 from string (“freespins_cancel” + partnerId +campaignExtId + apiKey) |
Response parameters:
| Name | Type | Description |
|---|---|---|
| id | bigint | Unique identifier of the campaign |
Request example:
{
campaignExtId: 1,
partnerId: 1,
hash: '123'
}Response example:
{
"status": "success",
"data": {
"id": 11
},
"serverTime": 1752245215266,
"duration": 182
}6.5 Crediting the player's winnings for freespins
Url: https://<server-partner>/finish
Request type: POST
This method allows to credit the player's winnings for freespins. The request is executed by the provider.
Request parameters:
| Name | Type | Description |
|---|---|---|
| amount | string | Transaction amount |
| currency | string | The currency in which the game will be played (USD, EUR etc.) |
| partnerId | bigint | Unique partner identifier |
| playerId | string | Unique player identifier in the partner’s system |
| gameId | bigint | Unique identifier of the game |
| roundId | bigint | Unique identifier of the betting round |
| sessionId* | string | Unique game session identifier in the partner’s system |
| transactionId | bigint | Unique identifier of the provider's winning transaction |
| freespinId | string | Unique identifier of the freespins |
| campaignExtId | string | Unique identifier of the campaign in the partner’s system |
| hash | string | sha256 from string (“finish” + amount + currency + partnerId + playerId + gameId + roundId + transactionId + freespinId + campaignExtId + sessionId + apiKey) |
Optional fields: if they are not passed, they are not taken into account when calculating the hash (“finish” + amount + currency + partnerId + playerId + gameId + roundId + transactionId + freespinId + campaignExtId + apiKey)
Response parameters:
| Name | Type | Description |
|---|---|---|
| balance | string | Player's current balance |
| transactionId | string | Unique identifier of the winning transaction in the partner’s system |
Request example:
{
amount: '20.00',
currency: 'USD',
partnerId: 1,
playerId: '432',
gameId: 3,
roundId: 7665,
sessionId: '123',
transactionId: 36,
freespinId: '123',
campaignExtId: '1',
hash: 'd919a11d4cb1b0dc4cc0d5f880c6970fd160d434b3a779a66a9a7f6451d108fd'
}Response example:
{
status: 'success'
data: {
balance: '10103.63',
transactionId: '1234567890'
}
}7. Available currencies
| id | code |
|---|---|
| 1 | USD |
| 2 | UAH |
| 3 | AZN |
| 4 | TMT |
| 5 | GEL |
| 6 | KGS |
| 7 | MDL |
| 8 | KZT |
| 9 | RUB |
| 10 | EUR |
| 11 | AMD |
| 12 | TJS |
| 13 | PRB |
| 14 | GBP |
| 15 | TRY |
| 16 | MNT |
| 17 | µBT |
| 18 | COP |
| 19 | mBT |
| 20 | XAF |
| 21 | XOF |
| 22 | BRL |
| 23 | CNY |
| 24 | IRR |
| 25 | CLP |
| 26 | PEN |
| 27 | ARS |
| 28 | VEF |
| 29 | MXN |
| 30 | UYU |
| 31 | HTG |
| 32 | PLN |
| 33 | CHF |
| 34 | BGN |
| 35 | CZK |
| 36 | DKK |
| 37 | HRK |
| 38 | HUF |
| 39 | SEK |
| 40 | NOK |
| 41 | RON |
| 42 | RSD |
| 43 | ALL |
| 44 | BAM |
| 45 | ISK |
| 46 | MKD |
| 47 | AUD |
| 48 | NZD |
| 49 | CAD |
| 50 | BOB |
| 51 | PYG |
| 52 | UZS |
| 53 | BDT |
| 54 | VND |
| 55 | KRW |
| 56 | LTC |
| 57 | DTC |
| 58 | INR |
| 59 | GMC |
| 60 | ILS |
| 61 | JPY |
| 62 | MYR |
| 63 | PHP |
| 64 | SGD |
| 65 | THB |
| 66 | TWD |
| 67 | NGN |
| 68 | ETB |
| 69 | EGP |
| 70 | CDF |
| 71 | ZAR |
| 72 | TZS |
| 73 | SDG |
| 74 | KES |
| 75 | DZD |
| 76 | UGX |
| 77 | MAD |
| 78 | GHS |
| 79 | MZN |
| 80 | AOA |
| 81 | AED |
| 82 | HKD |
| 83 | IDR |
| 84 | MMK |
| 85 | KWD |
| 86 | SAR |
| 87 | BYN |
| 88 | TND |
| 89 | OMR |
| 90 | JOD |
| 91 | BHD |
| 92 | ZMW |
| 93 | QAR |
| 94 | ZWL |
| 95 | DASH |
| 96 | XMR |
| 97 | IQD |
| 98 | ZEC |
| 99 | ETH |
| 100 | GAME |
| 101 | XEM |
| 102 | PKR |
| 103 | DMO |
| 104 | RUR |
| 105 | DOP |
| 106 | BTC |