Operator guideENplayersapilogs

Players / API Requests

Inspection page for player-related API event logs, with payload search, system and time filters, row-level JSON export, and a three-mode request/response viewer.

Reader view

Clean portal guidance

This page keeps the operator explanation, field and action descriptions, and screenshots visible without exposing repo paths, raw sidecars, or editorial-only implementation details.

Narrative content

Page body

What this page shows

Players / API Requests is a technical inspection surface for rows returned from db.ApiEvent. Operators use it to inspect raw request and response traffic connected to player-related systems.

The page combines:

  • top-level monitoring controls (Auto-refresh, Refresh)
  • quick filters for free-text payload search, User ID, and System
  • an expandable advanced-filter area
  • a request log table with per-row actions
  • a details dialog with Pretty, Raw, and Info tabs for one selected event

When to use it

Use this page when you need to:

  • inspect a failed or suspicious integration call
  • search request or response payload text for one user or one transaction trace
  • compare how the same log row looks in formatted JSON, raw payload form, and metadata form
  • export one log row as JSON for debugging or escalation

Visible controls

The FE currently renders these top-level controls:

  • Auto-refresh: re-fetches the current result set every 10 seconds
  • Refresh: immediate manual refetch
  • Search in requests and responses: free-text search sent to the backend search query parameter
  • User ID: backend query filter for one user
  • System: backend query filter for one source system (carouseller, softgamings, st8, or all)
  • Filters: advanced filter drawer toggle with a badge showing active local controls
  • Clear: resets all local filter controls back to defaults

The advanced filter section renders:

  • Time Period
  • From
  • To
  • Status Code
  • HTTP Method
  • URL Path

How to read the table

The visible table columns are:

  • System: integration or subsystem label rendered as a chip with a system icon
  • User ID: user identifier stored on the log row
  • Method: FE-derived method extracted from the request payload when possible
  • URL: FE-derived url or path extracted from the request payload when possible
  • Status: FE-derived status code extracted from the response payload when possible
  • Response: truncated response preview, shown either as a compact formatted block or a raw CodeEditor block depending on Raw Format
  • Date: createdAt timestamp
  • Actions: row menu for View Details, Copy as JSON, and Export

The header status bar also exposes:

  • Raw Format: toggles the list column renderer for Response
  • request count chip
  • current local refresh timestamp

Details dialog

Each row can be opened with View Details. The dialog contains three views:

  • Pretty: formatted request and response sections with quick metadata cards
  • Raw: full raw request and response payloads in code viewers
  • Info: metadata summary including system, user, created date/time, detected content types, and payload byte size

The dialog footer repeats two export-style actions:

  • Copy as JSON
  • Export

Known caveats

  • The backend query currently accepts only search, userId, system, timeRange, dateFrom, dateTo, limit, and pageNo.
  • FE controls for Status Code, HTTP Method, and URL Path are rendered locally, but the current hook does not send them to the backend query. They should be treated as presentational / future-ready controls, not effective backend filters.
  • Method, URL, and Status are not stored as first-class DB columns in this page response. The FE derives them by parsing the request or response payload.
  • Copy as JSON and Export work on the selected log row only. They do not export the whole filtered result set.
  • The page is inspection-only. It does not replay requests or mutate player data.

Verification status

  • status: verified_backend
  • last verified: 2026-04-18
  • note: FE page, SWR hook, admin controller, and ApiRequestsService query contract are traced. Derived Method, URL, and Status semantics are verified as FE parsing logic, not backend-owned columns.
Grid columns

Columns

field

System

Integration or subsystem handling the request.

Data Type
string
field

User ID

User identifier attached to the API event row.

Data Type
string
field

Method

HTTP method extracted in the FE from the stored request payload.

Data Type
string
field

URL

URL or path extracted in the FE from the stored request payload.

Data Type
string
field

Status

HTTP status code extracted in the FE from the stored response payload and rendered as a status chip.

Data Type
number
field

Response

Truncated response payload preview. In `Raw Format` mode the table renders the full payload in a disabled code editor.

Data Type
object
field

Date

Timestamp when the API event row was written.

Data Type
datetime
field

Actions

Opens the row-level menu for detail inspection and JSON export.

Data Type
action-group
Filter dictionary

Filters

field

Search in requests and responses

Free-text search through request and response payload content.

Type
text
field

User ID

Narrows the result set to one user identifier.

Type
text
field

System

Restricts the table to one upstream or integration system.

Type
select
field

Time Period

Sends a relative time bucket to the backend and also auto-populates `From` and `To` in the FE.

Type
preset-range
field

From

Lower date bound for manual time filtering.

Type
date
field

To

Upper date bound for manual time filtering.

Type
date
field

Status Code

FE-visible status bucket selector. In the current implementation it does not affect the backend query.

Type
select
Transport Only
true
field

HTTP Method

FE-visible method selector. In the current implementation it does not affect the backend query.

Type
select
Transport Only
true
field

URL Path

FE-visible URL path filter. In the current implementation it does not affect the backend query.

Type
text
Transport Only
true
Operational notes

Notes

item

Backend query accepts `limit`, `pageNo`, `search`, `userId`, `system`, `timeRange`, `dateFrom`, and `dateTo`.

item

The FE renders additional controls for `statusFilter`, `methodFilter`, and `urlFilter`, but the current hook does not send them to the backend URI.

item

`Method`, `URL`, and `Status` are FE-derived from the stored request and response payload objects or strings.

item

Row export downloads one selected log row as `api-log-<id-or-timestamp>.json`; there is no full-table export on this surface.

Related references

Related pages

pageDashboard / Player Statistics

Top-player table for winners, losers, and depositors, with rank, player identity, level, and amount shown in a compact comparison view.

pagePlayers / Activity Log

Standalone player activity history page with filters for activity, device, date range, PID, country, tags, and comment-group context.

pagePlayers / Banking

Banking tab inside the player workspace with transaction filters, a paginated banking grid, analytics cards, CSV export, and automatic-withdrawal availability.

pagePlayers / Bonus Detail

Read-only detail page for one issued bonus, showing user, bonus, transaction, issuer, game, and lifecycle metadata.

pagePlayers / Bonuses

Cross-player issued-bonus inventory with server-side filters, preview popover, CSV export, and navigation into one issued-bonus detail page.

pagePlayers / Detail Workspace

Main player workbench at `/player/[playerId]` with tabbed sections, player-level actions, and modal-based operator workflows.