Skip to content
Knowledge base
Open dashboard
UAEN
ReferenceUpdated 02/11/2026

Playback statistics and reports

Two sources: /statistic with one record per playback (kept about two months) and /statistic/get-report with hourly totals (kept longer).

Checked on the current dashboard version

The statistic controller exposes playback facts in two ways. GET /statistic returns every playback as a separate record with an exact time and filters by screenA device running the Advision player that shows content; the cabinet calls it a media device., file and playlistA set of files with a playback schedule that is assigned to screens or networks.: it is the backend of the «Statistics» page in the cabinet. GET /statistic/get-report returns hourly totals for charts. Base URL http://api.advision.digital, header Authorization: Bearer $ADV_T. There is no CSV export on the API side.

Method and path

What it does

Important

GET /statistic?points=<POINT_ID>&files=<FILE_ID>&from=YYYY-MM-DD&to=YYYY-MM-DD

Event statistics: one record per playback, total = number of plays

Key data; kept about two months, an older period answers 500 Unknown partition

GET /statistic/get-report?instances[]=<POINT_ID>&from=YYYY-MM-DD&to=YYYY-MM-DD

Hourly aggregate: data = [{"ts": <unix>, "shows": <N>}]

Step is fixed at 1 hour, no per-file breakdown; kept longer than event data

GET /dashboard

Fleet counters: points{total,syncing,notSynced,offline}, playlists{total,expiring,expired}

Not playback statistics, but a quick check that everything is online

Parameters of /statistic

Parameter

Type

Required

Note

points

number

no

ScreenA device running the Advision player that shows content; the cabinet calls it a media device. ID; also works as points[], several comma-separated or repeated

files

number

no

File ID; also works as files[]

playlists

number

no

PlaylistA set of files with a playback schedule that is assigned to screens or networks. ID

from, to

YYYY-MM-DD

yes

Period; dateFrom/dateTo are ignored

itemsPerPage

number

no

Page size, default 100, verified up to 500; limit does not work

page

number

no

Page number

Record field

Meaning

playbackDt

Exact playback time, unix UTC

dt

Time the event was written to the database, usually 10–20 s later

duration

Playback duration in seconds

fileId, fileName

Which clip played

pointId, pointName

On which screenA device running the Advision player that shows content; the cabinet calls it a media device.

playlistId, playlistName

Within which playlistA set of files with a playback schedule that is assigned to screens or networks.

channel

ScreenA device running the Advision player that shows content; the cabinet calls it a media device. channel (playlistGroups[].channel)

total (response level)

Number of playbacks matching the filter; this is the number of plays of the clip

Count plays of a clip

Fastest way: itemsPerPage=1 and read total. curl: curl -s -H "Authorization: Bearer $ADV_T" "http://api.advision.digital/statistic?points=<POINT_ID>&files=<FILE_ID>&from=2026-10-01&to=2026-10-07&itemsPerPage=1"

Python: total = c.get("/statistic", params={"points": POINT_ID, "files": FILE_ID, "from": "2026-10-01", "to": "2026-10-07", "itemsPerPage": 1}).json()["total"]

Download the playback log

Page through until you have total records: page = 1; rows = [], then in a loop j = c.get("/statistic", params={**params, "itemsPerPage": 500, "page": page}).json(); rows += j["data"]; page += 1, stopping when len(rows) >= j["total"] or j["data"] is empty. Playback time: datetime.fromtimestamp(int(r["playbackDt"]), timezone.utc). Build the CSV yourself: format=csv and export=1 return the same JSON.

Screen load by hour

curl: curl -s -H "Authorization: Bearer $ADV_T" "http://api.advision.digital/statistic/get-report?instances[]=<POINT_ID>&from=2026-10-01&to=2026-10-07"

Response: a continuous series of {"ts": 1759300000, "shows": 12} with a one-hour step; hours without playback have 0. Detail parameters (interval, step, groupBy, granularity) and the fileId/playlistId filters are ignored: for a per-clip breakdown use /statistic.

What to choose

Task

Endpoint

How many times a specific clip played

/statistic with files, read total

Exact time of every playback

/statistic, field playbackDt

Playback log as CSV

/statistic with pagination, convert yourself

ScreenA device running the Advision player that shows content; the cabinet calls it a media device. load chart or a period older than two months

/statistic/get-report

Any plays on a screenA device running the Advision player that shows content; the cabinet calls it a media device. with isStatsDisabled: true

None: statistics are not collected for such a screenA device running the Advision player that shows content; the cabinet calls it a media device.

How the cabinet counts plays is described in proof of play. These two endpoints give the same numbers as the cabinet report; a mismatch usually means the screenA device running the Advision player that shows content; the cabinet calls it a media device. has not synced or has not sent its statistics.