Query Player Report (paginated)
Query statistical reports by Player using pagination, passing different offsets to retrieve different data. Each call returns a maximum of 5000 records.
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 match the agentId used when authenticating via /v2/auth) |
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 first query, increasing by 5000 for each subsequent query |
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 | List of Player Reports |
data.rows[].agentId | string | Agent ID |
data.rows[].brand | string | Brand, always '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 | Amount won |
data.rows[].ggr | string | Net win of the Game |
data.rows[].jackpotWin | string | Jackpot amount won |
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 | The request is too frequent, please try again later |
Error Response Example
Parameters error
{
"code": 11,
"message": "Parameters error",
"logUUID": "24cdc3b9-9fe8-44de-8391-a96863e46954"
}
Too many requests
{
"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 span: The time range set between
startDateandendDatecannot exceed 7 days - Call frequency: The maximum call frequency per agentId is 10 requests per second
- Time segmentation: Queries must be made on hour boundaries; otherwise a parameters error (code: 11) is returned. E.g.: 04:00~04:01 (invalid) vs 04:00~05:00 (valid)
- Number of records returned: Each call returns a maximum of 5000 records. If the total number of records exceeds 5000, use a loop with different offsets to query in batches