Screens: reading, schedule, statuses
Endpoints of the point controller: screen list and card, daily schedule, content assignment, screen capture, device control, networks.
The point controller reads the state of every screenA device running the Advision player that shows content; the cabinet calls it a media device. (online, sync, player version, assigned content), returns the second-by-second daily schedule, requests a capture from the screenA device running the Advision player that shows content; the cabinet calls it a media device. and changes settings or content. All examples assume the base URL http://api.advision.digital and the header Authorization: Bearer $ADV_T. A screenA device running the Advision player that shows content; the cabinet calls it a media device. is called a point in the API; its content binding lives in the playlistGroups field.
Method and path | What it does | Important |
|---|---|---|
| List of all screens in the cabinet | Response key is |
| One screenA device running the Advision player that shows content; the cabinet calls it a media device. with its full content |
|
| Second-by-second daily schedule for a channel | Date as a number |
| Change screenA device running the Advision player that shows content; the cabinet calls it a media device. settings or content | Accepts a partial body, but |
| Bulk change of screens | Body format not verified |
| Create a screenA device running the Advision player that shows content; the cabinet calls it a media device. record without a device: | Record with |
| Request a fresh capture from the screenA device running the Advision player that shows content; the cabinet calls it a media device. | The parameter is |
| Link to the latest capture | 204 if there is no capture yet; the image is about 320 px on the long side |
| Device state log | Same as the «Log» tab in the cabinet |
| Restart the player app | Body format not verified |
| Reboot the device | Body format not verified |
| Stop or start playback | Body format not verified; the current state is in the |
| Networks (screenA device running the Advision player that shows content; the cabinet calls it a media device. groups) | Key |
| Summary: | The cheapest way to see how many screens are offline |
Screen list and statuses
Request: curl -s -H "Authorization: Bearer $ADV_T" "http://api.advision.digital/point?itemsPerPage=9999"
Python: pts = c.get("/point", params={"itemsPerPage": 9999}).json()["points"]; offline = [p["name"] for p in pts if not p["isOnline"]]
Field | Type | Meaning |
|---|---|---|
| number, string, string | Identifier, name and device code |
| boolean | The device is connected to the server |
| boolean | Online judged by incoming statistics (not verified, the field is present in the response) |
| boolean | Playback stopped by a manager: the screenA device running the Advision player that shows content; the cabinet calls it a media device. is online but shows nothing |
| datetime | Last device sync; if earlier than your change, the change has not arrived yet |
| boolean | Statistics are not collected for this screenA device running the Advision player that shows content; the cabinet calls it a media device. |
| string | Player version, OS and device model |
| string | Time zone, for example |
| string, datetime | Device plan, for example |
| time | Working hours of the screenA device running the Advision player that shows content; the cabinet calls it a media device. |
| number | Transition and loop duration |
| number | Free space on the device (the field is spelled exactly like this) |
| string | Player service settings as a query string |
| array | Content per channel: |
| array | Player windows: |
Daily schedule
Request: curl -s -H "Authorization: Bearer $ADV_T" "http://api.advision.digital/point/get-daily-schedule?id=<POINT_ID>&channel=0&date=20261001"
The response has a schedule key: each item contains start and end in seconds from 00:00, fileId, fileName, the playlistA set of files with a playback schedule that is assigned to screens or networks. name and periodicity. For ADVERTISING playlists periodicity is the interval between insert starts. Pass the date as a number YYYYMMDD: the error text mentions YYYY/mm/dd, but that is wrong. Expired playlists do not appear in the schedule.
Assign content with point/patch
The safer way to bind a playlistA set of files with a playback schedule that is assigned to screens or networks. to screens is described in the playlists reference: the points field in playlistA set of files with a playback schedule that is assigned to screens or networks./patch. point/patch is needed only when content must go to a channel other than 0 or the all-day background must change.
Order: GET /point/<POINT_ID> → take the current playlistGroups → add your playlistA set of files with a playback schedule that is assigned to screens or networks. to the right group → POST /point/patch/<POINT_ID> with the full array of groups → re-read the screenA device running the Advision player that shows content; the cabinet calls it a media device. and make sure no groups were lost.
Body: {"playlistGroups": [{"channel": 0, "files": [{"id": <FILE_ID>, "duration": 10}], "playlists": [{"id": <PLAYLISTA set of files with a playback schedule that is assigned to screens or networks._ID>}]}]}
Field | Type | Required | Note |
|---|---|---|---|
| number | yes | ScreenA device running the Advision player that shows content; the cabinet calls it a media device. channel (windowA zone of the screen (A to G) with its own size, position and playlists.), usually |
| number | yes | All-day background file |
| number | yes | Without it |
| number | yes | PlaylistA set of files with a playback schedule that is assigned to screens or networks. with its own schedule |
| boolean | yes, if plugins are present | Plugins travel with the group; without |
Screen settings
A partial body without playlistGroups changes only the fields you send and leaves content untouched: curl -s -X POST -H "Authorization: Bearer $ADV_T" -H "Content-Type: application/json" -d '{"broadcastFromTime": "09:00:00", "broadcastToTime": "22:30:00"}' http://api.advision.digital/point/patch/<POINT_ID>
transitionDuration, loopDuration, timezone and config change the same way. Renaming a screenA device running the Advision player that shows content; the cabinet calls it a media device., deleting it or entering the player code is not possible via API: do it in the cabinet.
Screen capture
Two requests: GET /point/ajax-get-point-screenA device running the Advision player that shows content; the cabinet calls it a media device.?pointId=<POINT_ID> orders a capture and answers ["pending"]; 5–10 s later GET /point/get-screenshot-url?pointId=<POINT_ID> returns {"url": "..."}. A flat single-color image of a few hundred bytes means the panel shows nothing; compare with a neighbouring screenA device running the Advision player that shows content; the cabinet calls it a media device. and with playback statistics.
Related articles
- How-to · 5 minGet a token and make the first requestWhere to create an API token in the cabinet, how to pass it in the Authorization header and verify it with /user/info.
- ReferencePlaylists: creation, update, assignmentEndpoints of the playlist controller: list, card, creation, full-body update, binding to screens with the points field, copy with screens, deletion.
- ConceptTypical scenarios and pitfallsThe four-step rule (read, back up, write, re-read), patch request pitfalls and ready request sequences for typical tasks.
- ConceptWhat a screen is and what its statuses meanA screen (media device) is a display running Advision Player. In the list it has two independent statuses: connection and sync.