Bonus List
curl --request GET \
--url https://s-apis.oppigames.com/game/bonus-list \
--header 'Content-Type: <content-type>' \
--header 'x-api-key: <x-api-key>' \
--header 'x-signature: <x-signature>' \
--header 'x-timestamp: <x-timestamp>'import requests
url = "https://s-apis.oppigames.com/game/bonus-list"
headers = {
"x-api-key": "<x-api-key>",
"x-signature": "<x-signature>",
"x-timestamp": "<x-timestamp>",
"Content-Type": "<content-type>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'x-api-key': '<x-api-key>',
'x-signature': '<x-signature>',
'x-timestamp': '<x-timestamp>',
'Content-Type': '<content-type>'
}
};
fetch('https://s-apis.oppigames.com/game/bonus-list', 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-list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
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": {
"totalPages": 1,
"currentPage": 1,
"totalCount": 1,
"result": [
{
"bonusId": "253c5712-1043-410c-a29e-dde9a333bc44",
"playerId": "JAY10111111",
"gameId": "G1729071770000",
"type": "Fortune Guess",
"status": 5,
"rewardedAmount": 87000000,
"bonusAmount": 100000000,
"redeemAt": "2025-07-25T09:56:04.926Z",
"createdAt": "2025-07-25T09:56:03.169Z"
}
]
}
}
Note : bonusAmount = bonusAmount * 100000
(e.g.,1000 = 100000000)
{
"status": "RS_ERROR",
"message": "Oops! Something went wrong. Please refresh the page or try again in a moment"
}
Bonus
Bonus List
This API is used to retrieve a paginated list of bonus. It also allows optional filtering by gameId, playerId and status.
GET
/
game
/
bonus-list
Bonus List
curl --request GET \
--url https://s-apis.oppigames.com/game/bonus-list \
--header 'Content-Type: <content-type>' \
--header 'x-api-key: <x-api-key>' \
--header 'x-signature: <x-signature>' \
--header 'x-timestamp: <x-timestamp>'import requests
url = "https://s-apis.oppigames.com/game/bonus-list"
headers = {
"x-api-key": "<x-api-key>",
"x-signature": "<x-signature>",
"x-timestamp": "<x-timestamp>",
"Content-Type": "<content-type>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'x-api-key': '<x-api-key>',
'x-signature': '<x-signature>',
'x-timestamp': '<x-timestamp>',
'Content-Type': '<content-type>'
}
};
fetch('https://s-apis.oppigames.com/game/bonus-list', 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-list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
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": {
"totalPages": 1,
"currentPage": 1,
"totalCount": 1,
"result": [
{
"bonusId": "253c5712-1043-410c-a29e-dde9a333bc44",
"playerId": "JAY10111111",
"gameId": "G1729071770000",
"type": "Fortune Guess",
"status": 5,
"rewardedAmount": 87000000,
"bonusAmount": 100000000,
"redeemAt": "2025-07-25T09:56:04.926Z",
"createdAt": "2025-07-25T09:56:03.169Z"
}
]
}
}
Note : bonusAmount = bonusAmount * 100000
(e.g.,1000 = 100000000)
{
"status": "RS_ERROR",
"message": "Oops! Something went wrong. Please refresh the page or try again in a moment"
}
Status
- 1 = Pending
- 2 = Active
- 3 = Awarded
- 5 = Cancelled
Headers
string
required
A unique identifier associated with operator calling API.
string
required
A SHA256 HMAC signature generated using the request body and timestamp.
Format: HMAC_SHA256(JSON.stringify(data) + ’|’ + timestamp), signed using the
provided secret key.
string
required
An Unix timestamp (milliseconds) Used to verify the request’s freshness.
Ensure the same value is used in signature generation.
The signature will remain valid for only 5 minutes from the provided
timestamp.
string
required
Must be set to
application/json.Query Parameters
number
default:1
Specifies the current page number for pagination purposes.
number
default:10
Specifies how many records to display on each page, controlling the size of each data segment.
string
Retrieve bonus rewards for a specific game.
string
Retrieve bonus rewards received by a specific player.
string
Retrieve bonus rewards received by a specific status.
Response
string
required
Code indicates status of the request weather it is succeed or failed. We have listed error codes here
Data Object
Show Data properties
Show Data properties
integer
required
The current page number of the results.
integer
required
The total number of pages available.
integer
required
The total number of records matching the query.
array
required
List of result parameters.
Show result properties
Show result properties
string
required
Unique identifier of bonus.
string
required
Unique identifier for player.
string
required
Unique identifier of game.
string
required
Type of bonus.
integer
required
Status of the bonus request (1 = PENDING, 2 = ACTIVE, 3 = USED, 4 = EXPIRED, 5 = CANCELLED).
integer
required
The amount which has been awarded to player for this bonus. This amount should be less than or equals to bonusAmount.
To maintain precision and avoid floating-point errors, the rewardedAmount field is processed as an integer value by multiplying the actual amount by 100000.For example, a rewardedAmount of 12.34567 will be represented as 1234567 in the API.
integer
required
Amount configure to be awarded to player for this bonus.
To maintain precision and avoid floating-point errors, the bonusAmount field is processed as an integer value by multiplying the actual amount by 100000.For example, a bonusAmount of 12.34567 will be represented as 1234567 in the API.
string
required
Timestamp indicating when the bonus had been redeemed.
string
required
Amount configure to be awarded to player for this bonus.
{
"status": "RS_OK",
"data": {
"totalPages": 1,
"currentPage": 1,
"totalCount": 1,
"result": [
{
"bonusId": "253c5712-1043-410c-a29e-dde9a333bc44",
"playerId": "JAY10111111",
"gameId": "G1729071770000",
"type": "Fortune Guess",
"status": 5,
"rewardedAmount": 87000000,
"bonusAmount": 100000000,
"redeemAt": "2025-07-25T09:56:04.926Z",
"createdAt": "2025-07-25T09:56:03.169Z"
}
]
}
}
Note : bonusAmount = bonusAmount * 100000
(e.g.,1000 = 100000000)
{
"status": "RS_ERROR",
"message": "Oops! Something went wrong. Please refresh the page or try again in a moment"
}
⌘I
