Query Player Report (Paginated)
Query statistical reports by Player with pagination, querying different data with different offsets. A maximum of 5000 records are returned each time.
API Information
- URL:
POST /v2/report/user/offset - Authentication:Bearer Token
- Encryption:Requests are encrypted using AES-256-GCM; responses are returned as plaintext JSON
request
Request Headers
POST /v2/report/user HTTP/1.1
Host: api.example.com
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
x-agentid: integratorNBTest04
x-timestamp: 1769746894501
x-nonce: 4ff08bc2a45c6b38068dbcd24296a25b
x-signature: c25f8d23704373e8776cce6d9b10f1fde091c34db80d60523c7e04ff30e54633
Request Parameters
Parameters Before Encryption
{
"startDate": "2026-01-21T07:00:00Z",
"endDate": "2026-01-21T07:30:00Z",
"agentId": "integratorNBTest04",
"betSource": 1,
"offset": 0
}
Encrypted Request Body
{
"cipherText": "G0ZMDELeJwx+7JcIfIFOLJjkSzANPu6krGM2uw==..."
}
| Field | Type | Required | Description |
|---|---|---|---|
startDate | string | Yes | Start time (ISO 8601 format) |
endDate | string | Yes | End time (ISO 8601 format) |
agentId | string | Yes | Agent ID (must be the same as the agentId used for /v2/auth verification) |
betSource | number | No | Filter type, default is 1, 1: Regular bets and items, 2: Operator Cards, 3: All |
offset | number | Yes | Offset, 0 for the initial query, increases by 5000 for subsequent queries |
Response
Success Response
{
"code": 0,
"message": "No error.",
"data": {
"rows": [
{
"agentId": "integratorNBTest04",
"brand": "VP",
"username": "VPSysDevTest001",
"currency": "THB",
"count": 96,
"actualBetAmt": "48",
"validBetAmt": "48",
"winAmt": "44.9",
"ggr": "3.1",
"jackpotWin": "0",
"jackpotContribute": "0",
"lastStatisticsTime": "2026-02-02T23:29:44.621Z"
},
{
"agentId": "integratorNBTest04",
"brand": "VP",
"username": "VPSysDevTest002",
"currency": "THB",
"count": 96,
"actualBetAmt": "4",
"validBetAmt": "4",
"winAmt": "4",
"ggr": "3",
"jackpotWin": "0",
"jackpotContribute": "0",
"lastStatisticsTime": "2026-02-02T23:29:44.621Z"
}
],
"totalRowsNumber": "19999"
},
"logUUID": "146c3bf2-ce4b-4154-a550-f3f37c1068fc"
}
| Field | Type | Description |
|---|---|---|
data | object | Player Report List |
data.rows[].agentId | string | Agent ID |
data.rows[].brand | string | Brand, fixed as 'VP' |
data.rows[].username | string | Player Account |
data.rows[].currency | string | Currency |
data.rows[].count | number | Number of bets |
data.rows[].actualBetAmt | string | Actual bet amount |
data.rows[].validBetAmt | string | Valid bet amount |
data.rows[].winAmt | string | Win amount |
data.rows[].ggr | string | Game net win |
data.rows[].jackpotWin | string | Jackpot win amount |
data.rows[].jackpotContribute | string | Jackpot contribution amount |
data.rows[].lastStatisticsTime | string | Last statistics time |
data.totalRowsNumber | Number | Total number of records |
logUUID | string | Request tracking ID for troubleshooting and log queries |
Error Response
When the request fails, the corresponding error code will be returned.
Error Codes
| Code | Description | Handling Suggestion |
|---|---|---|
| 11 | Parameters error | Please ensure the request parameters are complete and correctly formatted |
| 77 | Too many request | Request too frequent, please try again later |
Error Response Example
Parameter Error
{
"code": 11,
"message": "Parameters error",
"logUUID": "24cdc3b9-9fe8-44de-8391-a96863e46954"
}
Request Too Frequent
{
"code": 77,
"message": "Too many request, please try again later",
"logUUID": "asdsaggderv"
}
Important Notes
- Time range: To ensure data consistency, the query time range can only be between 90 days before the current time and 2 hours before the current time
- Time Range: The time range set between startDate and endDate cannot exceed 7 days
- Call frequency: The fastest call frequency per agentId is 10 times per second
- Time segmentation: Queries can only be segmented to the hour; if less than an hour, it will be calculated as that hour + 1. EX: A query for 04:00
04:01 will actually return data for 04:0005:00 - Number of records returned: A maximum of 5000 records are returned each time. If the total number of records is greater than 5000, batch queries should be performed in a loop with different offsets