Comment on page
Marketing Campaigns
On the Promo Management page you can distribute rewards for activity to certain user segments within Promo Campaigns.
The Promo Campaigns functionality supports the following types of rewards:
- crediting a certain number of tokens to the balance
- increased accrual for Play to Earn
- increased staking limit
- daily cashback — a certain % of the losses for the day is returned to the user in the form of tokens
Certain user segments can be rewarded for the following actions:
- registration
- passing KYC
- reaching a certain amount of bets
The operator can also define a user segment to add to the campaign using API. Reward distribution may be limited by:
- a certain date
- the number of hours during which the campaign shall be active
- the number of users that can be added to the campaign
- you can specify a list of users who can be added to the campaign
The life cycle of a campaign is shown in Fig. 1.

Fig. 1. Promo campaign life cycle
The status is assigned immediately after a campaign is created.
The status is assigned in the campaign list (see Campaign Management). When a campaign is active, users can be added to it to earn rewards.
The status is assigned in the campaign list (see Campaign Management). When a campaign is deactivated, users cannot be added to it.
The status is assigned to a campaign automatically when reward distribution reaches the limit (upon reaching the expiration date or the maximum number of users in the campaign).
To create a campaign, click on the Create Campaign (Fig. 2) button and configure campaign settings.

Fig. 2. Promo Management page interface

Fig. 3. Create Campaign window
To create a campaign, you must enter its name and configure the reward.
After being created, the campaign will be added to the list and assigned Draft status. When the campaign has Active status, users will be added to the campaign (according to automatic rules or using API).
Created campaigns can be filtered by status and creation date (Fig. 4).

Fig. 4. Filters
On the Promo Management page, you can perform the following actions with the campaign (Fig. 5):
- change status
- add a users allowed list (users who can be added to the campaign)
- view the list of users added to the campaign
- view campaign configuration
- edit the created campaign (if assigned Draft, Deactivated, Expired status)
- delete the campaign (if assigned Draft, Deactivated, Expired status)

Fig. 5. Campaign management options
The Promo Campaigns API supports the following methods:
- Get all Active promo campaigns. The method returns a list of active promo campaigns. This must be performed before adding a user to the campaign, so as to avoid adding a user to a campaign with the Draft/Expired/Deactivated status by accident.
- Get promo campaign participants by ID. Returns a list of promo campaign participants.
- Assign User to promo campaign. Adding a user to the campaign.
- Delete User from promo campaign. Deleting a user from the campaign.
METHOD | GET |
URL | https://integration.trueplay.io/api/v1/promo-campaign/active |
HEADER | X-API-KEY (see value at Integration Settings) |
PARAMETERS | - |
RESPONSE | [ { "betVolumeRule": 0, "createdAt": "2023-04-20T09:13:51.735Z", "dailyCashbackReward": 0, "duration": 0, "expirationDate": "2023-04-20", "fixedAmountReward": 500, "id": 0, "kycRule": true, "maxUserCount": 0, "name": "Campaing_1", "p2eMultiplierReward": 1.5, "signUpRule": true, "stakingLimitCoefficientReward": 10000, "status": "Active" }, { "betVolumeRule": 0, "createdAt": "2023-04-20T09:13:51.735Z", "dailyCashbackReward": 0, "duration": 0, "expirationDate": "2023-04-20", "fixedAmountReward": 50, "id": 0, "kycRule": false, "maxUserCount": 0, "name": "string", "p2eMultiplierReward": 0, "signUpRule": true, "stakingLimitCoefficientReward": 15000, "status": "Active" } ] |
STATUS CODES | 200 OK - The request is successful 400 Bad Request - Invalid request parameters provided 401 Unauthorized - Requester is unauthorized to perform an action 403 Forbidden - Requester is forbidden to perform an action 404 Not Found - Resource not found |
METHOD | GET |
URL | https://integration.trueplay.io/api/v1/promo-campaign/{campaign_id}/participants |
HEADER | X-API-KEY (see value at Integration Settings) |
PARAMETERS | - id - Operator ID |
RESPONSE | { "content": [ { "campingId": 10, "createdAt": "2023-04-20T09:15:40.545Z", "method": "API", "operatorUserId": "23423", }, { "campingId": 15, "createdAt": "2023-04-20T09:15:40.545Z", "method": "Manual", "operatorUserId": "97500", }, ] |
STATUS CODES | 200 OK - The request is successful 400 Bad Request - Invalid request parameters provided 401 Unauthorized - Requester is unauthorized to perform an action 403 Forbidden - Requester is forbidden to perform an action 404 Not Found - Resource not found |
METHOD | POST |
URL | https://integration.trueplay.io/api/v1/promo-campaign/{campaignId}/user/{operatorUserId} |
HEADER | X-API-KEY (see value at Integration Settings) |
PARAMETERS | - Campaign ID - Operator user ID |
RESPONSE | { "campingId": 0, "createdAt": "2023-04-20T09:17:49.302Z", "method": "API", "operatorUserId": "65464", "transaction": "API" } |
STATUS CODES | 200 OK - The request is successful 400 Bad Request - Invalid request parameters provided 401 Unauthorized - Requester is unauthorized to perform an action 403 Forbidden - Requester is forbidden to perform an action 404 Not Found - Resource not found |
METHOD | DELETE |
URL | https://integration.trueplay.io/api/v1/promo-campaign/{campaignId}/user/{operatorUserId} |
HEADER | X-API-KEY (see value at Integration Settings) |
PARAMETERS | - Campaign ID - Operator user ID |
STATUS CODES | 200 OK - The request is successful 400 Bad Request - Invalid request parameters provided 401 Unauthorized - Requester is unauthorized to perform an action 403 Forbidden - Requester is forbidden to perform an action 404 Not Found - Resource not found |
Last modified 1mo ago