Skip to main content

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

  • URLPOST /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==..."
}
FieldTypeRequiredDescription
startDatestringYesStart time (ISO 8601 format)
endDatestringYesEnd time (ISO 8601 format)
agentIdstringYesAgent ID (must match the agentId used when authenticating via /v2/auth)
betSourcenumberNoFilter type, default is 1, 1: Regular bets and items, 2: Operator Cards, 3: All
offsetnumberYesOffset; 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"
}
FieldTypeDescription
dataobjectList of Player Reports
data.rows[].agentIdstringAgent ID
data.rows[].brandstringBrand, always 'VP'
data.rows[].usernamestringPlayer Account
data.rows[].currencystringCurrency
data.rows[].countnumberNumber of bets
data.rows[].actualBetAmtstringActual bet amount
data.rows[].validBetAmtstringValid bet amount
data.rows[].winAmtstringAmount won
data.rows[].ggrstringNet win of the Game
data.rows[].jackpotWinstringJackpot amount won
data.rows[].jackpotContributestringJackpot contribution amount
data.rows[].lastStatisticsTimestringLast statistics time
data.totalRowsNumberNumberTotal number of records
logUUIDstringRequest tracking ID for troubleshooting and log queries

Error Response

When the request fails, the corresponding error code will be returned.

Error Codes

CodeDescriptionHandling Suggestion
11Parameters errorPlease ensure the request parameters are complete and correctly formatted
77Too many requestThe 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

  1. 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
  2. Time range span: The time range set between startDate and endDate cannot exceed 7 days
  3. Call frequency: The maximum call frequency per agentId is 10 requests per second
  4. 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)
  5. 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