Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
curl --request POST \
--url https://s-apis.oppigames.com/game/bonus-configure \
--header 'Content-Type: <content-type>' \
--header 'x-api-key: <x-api-key>' \
--header 'x-signature: <x-signature>' \
--header 'x-timestamp: <x-timestamp>' \
--data '
{
"bonuses": [
{
"requestId": "<string>",
"playerId": "<string>",
"bonusType": "<string>",
"gameId": "<string>",
"currency": "<string>",
"expiredAt": "<string>",
"totalSpinCount": 123,
"spinBetAmount": 123,
"bonusAmount": 123
}
]
}
'import requests
url = "https://s-apis.oppigames.com/game/bonus-configure"
payload = { "bonuses": [
{
"requestId": "<string>",
"playerId": "<string>",
"bonusType": "<string>",
"gameId": "<string>",
"currency": "<string>",
"expiredAt": "<string>",
"totalSpinCount": 123,
"spinBetAmount": 123,
"bonusAmount": 123
}
] }
headers = {
"x-api-key": "<x-api-key>",
"x-signature": "<x-signature>",
"x-timestamp": "<x-timestamp>",
"Content-Type": "<content-type>"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-api-key': '<x-api-key>',
'x-signature': '<x-signature>',
'x-timestamp': '<x-timestamp>',
'Content-Type': '<content-type>'
},
body: JSON.stringify({
bonuses: [
{
requestId: '<string>',
playerId: '<string>',
bonusType: '<string>',
gameId: '<string>',
currency: '<string>',
expiredAt: '<string>',
totalSpinCount: 123,
spinBetAmount: 123,
bonusAmount: 123
}
]
})
};
fetch('https://s-apis.oppigames.com/game/bonus-configure', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://s-apis.oppigames.com/game/bonus-configure",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'bonuses' => [
[
'requestId' => '<string>',
'playerId' => '<string>',
'bonusType' => '<string>',
'gameId' => '<string>',
'currency' => '<string>',
'expiredAt' => '<string>',
'totalSpinCount' => 123,
'spinBetAmount' => 123,
'bonusAmount' => 123
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: <content-type>",
"x-api-key: <x-api-key>",
"x-signature: <x-signature>",
"x-timestamp: <x-timestamp>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"status": "RS_OK",
"data": [
{
"status": "RS_OK",
"requestId": "bonus_request_2",
"bonusId": "4eda52cd-b8a6-43fa-b5d6-327f003032b7"
},
{
"status": "RS_OK",
"requestId": "bonus_request_2",
"bonusId": "8eda00cd-b8a6-43fa-b5d6-327f00303289"
}
]
}
{
"status": "RS_ERROR",
"message": "Oops! Something went wrong. Please refresh the page or try again in a moment"
}
{
"status": "RS_ERROR_BONUS_EXPIRED",
"message": "Bonus expired or not found"
}
This API is used to create single or multiple bonuses. The bonus was created in USD currency, and the awarded amount was converted accordingly.
curl --request POST \
--url https://s-apis.oppigames.com/game/bonus-configure \
--header 'Content-Type: <content-type>' \
--header 'x-api-key: <x-api-key>' \
--header 'x-signature: <x-signature>' \
--header 'x-timestamp: <x-timestamp>' \
--data '
{
"bonuses": [
{
"requestId": "<string>",
"playerId": "<string>",
"bonusType": "<string>",
"gameId": "<string>",
"currency": "<string>",
"expiredAt": "<string>",
"totalSpinCount": 123,
"spinBetAmount": 123,
"bonusAmount": 123
}
]
}
'import requests
url = "https://s-apis.oppigames.com/game/bonus-configure"
payload = { "bonuses": [
{
"requestId": "<string>",
"playerId": "<string>",
"bonusType": "<string>",
"gameId": "<string>",
"currency": "<string>",
"expiredAt": "<string>",
"totalSpinCount": 123,
"spinBetAmount": 123,
"bonusAmount": 123
}
] }
headers = {
"x-api-key": "<x-api-key>",
"x-signature": "<x-signature>",
"x-timestamp": "<x-timestamp>",
"Content-Type": "<content-type>"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-api-key': '<x-api-key>',
'x-signature': '<x-signature>',
'x-timestamp': '<x-timestamp>',
'Content-Type': '<content-type>'
},
body: JSON.stringify({
bonuses: [
{
requestId: '<string>',
playerId: '<string>',
bonusType: '<string>',
gameId: '<string>',
currency: '<string>',
expiredAt: '<string>',
totalSpinCount: 123,
spinBetAmount: 123,
bonusAmount: 123
}
]
})
};
fetch('https://s-apis.oppigames.com/game/bonus-configure', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://s-apis.oppigames.com/game/bonus-configure",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'bonuses' => [
[
'requestId' => '<string>',
'playerId' => '<string>',
'bonusType' => '<string>',
'gameId' => '<string>',
'currency' => '<string>',
'expiredAt' => '<string>',
'totalSpinCount' => 123,
'spinBetAmount' => 123,
'bonusAmount' => 123
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: <content-type>",
"x-api-key: <x-api-key>",
"x-signature: <x-signature>",
"x-timestamp: <x-timestamp>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"status": "RS_OK",
"data": [
{
"status": "RS_OK",
"requestId": "bonus_request_2",
"bonusId": "4eda52cd-b8a6-43fa-b5d6-327f003032b7"
},
{
"status": "RS_OK",
"requestId": "bonus_request_2",
"bonusId": "8eda00cd-b8a6-43fa-b5d6-327f00303289"
}
]
}
{
"status": "RS_ERROR",
"message": "Oops! Something went wrong. Please refresh the page or try again in a moment"
}
{
"status": "RS_ERROR_BONUS_EXPIRED",
"message": "Bonus expired or not found"
}
| Bonus Type | Description |
|---|---|
| Free Bets | Free Bets are configured for a player on a specific game. Each spin is played at a predefined bet amount set by the operator and does not deduct any funds from the player’s account balance. Instead, the spins are fully funded by the operator or the bonus balance. Any winnings generated from these free spins are credited directly to the player’s wallet. Free bet’s transactions are also considered in RTP calculation. |
| Free Spins | A bonus to grants the player any number of free spins, having winning up to the configured reward amount. |
| Wheel Of Fortune | A bonus mini-game featuring a spinning wheel. |
| Cascading Reels | A bonus game where winning symbols disappear and new symbols fall into place, potentially triggering bonus multiplier for additional wins in a single spin. |
| Fortune Guess | A bonus mini-game game where the player is presented with multiple items and must guess the correct one. |
| Wagering | A bonus where player can claim/unlock bonus wallet/winnings |
| Card Scratch | A bonus mini-game where the player is presented with multiple cards and must guess & scratch the correct one. |
application/json.Show Bonus Object Properties
Show Data properties
{
"status": "RS_OK",
"data": [
{
"status": "RS_OK",
"requestId": "bonus_request_2",
"bonusId": "4eda52cd-b8a6-43fa-b5d6-327f003032b7"
},
{
"status": "RS_OK",
"requestId": "bonus_request_2",
"bonusId": "8eda00cd-b8a6-43fa-b5d6-327f00303289"
}
]
}
{
"status": "RS_ERROR",
"message": "Oops! Something went wrong. Please refresh the page or try again in a moment"
}
{
"status": "RS_ERROR_BONUS_EXPIRED",
"message": "Bonus expired or not found"
}
