Broadcast Reports
Modified on Mon, Oct 12 at 9:23 AM
Broadcast reports are archived every month, with one JSON file per month containing the playback logs of all players. Historical logs older than one month can be retrieved from S3 and provided to the customer upon simple request.
Wavespark Logs
Types of logs and content reported by the players, filtering and export of the broadcast history, and archived logs.
log_type values
Three types of logs are currently produced by the players.
| log_type | Content |
|---|---|
diffusion | Everything the player broadcasts: current playback, fallback, no playback ("Broadcast" filter in Wavespark) |
project | Project change published from Wavespark to the player |
system | Only date/time, time zone, and NTP server changes |
content_type values
Announcements inserted between tracks have the content_type spot, which makes it possible to distinguish them and exclude them from reporting.
| log_type | content_type | Meaning | Filter in Wavespark |
|---|---|---|---|
diffusion | music | Music track played (title, artist, album, duration, ISRC if available) | Broadcast > Music Programs > Tracks |
diffusion | radio | Webradio played (stream name and URL) | Broadcast > Music Programs > Webradios |
diffusion | spot | Advertising program: announcements and messages inserted between tracks | Broadcast > Advert Programs |
diffusion | event | Scenario-type program, music only (no announcements) | Broadcast > Scenario |
diffusion | idle | Moment when the player is not broadcasting anything | Broadcast > No playback |
diffusion | fallback | Backup playlist played when the webradio is unavailable | Broadcast (Warning) > Music Programs > Webradios |
project | swap | Project change (project name and version) | Project |
system | dateTime | Date/time, time zone, or NTP server change (before/after values) | System |
Log examples
Every log has the same structure: a log_type, a creation date in UTC, the player's time zone, and a content block whose content_type indicates the nature of the content. The values below are examples.
Music track playback (music)
{
"log_type": "diffusion",
"created_time": "2025-08-31T18:48:51.000000Z",
"timezone": "Europe/Paris",
"content": {
"content_id": "0456f7ab-4bce-447b-bd4f-1303449df861",
"content_type": "music",
"task_title": "Programme musical journée",
"criticity": "info",
"content_details": {
"title": "Resistance",
"artist": "Muse",
"album": "The Resistance",
"duration": "5:46"
}
}
}Announcement playback (spot)
An announcement inserted between two tracks is reported with content_type: "spot"; this is the field that allows you to exclude it.
{
"log_type": "diffusion",
"created_time": "2025-08-31T18:54:37.000000Z",
"timezone": "Europe/Paris",
"content": {
"content_id": "7c1e2a90-3f4b-4d8e-9a61-5b2c8d0e4f13",
"content_type": "spot",
"task_title": "Annonces magasin",
"criticity": "info",
"content_details": {
"title": "Promo rentrée",
"duration": "0:30"
}
}
}Webradio playback (radio)
{
"log_type": "diffusion",
"created_time": "2025-08-30T20:16:33.000000Z",
"timezone": "Europe/Paris",
"content": {
"content_id": "e2d8e351-84fb-4fc9-83b4-2b14bbcc2fd4",
"content_type": "radio",
"task_title": "radio",
"criticity": "info",
"content_details": {
"title": "RFM",
"url": "https://rfm.lmn.fm/rfm.mp3"
}
}
}Project change (project / swap)
{
"log_type": "project",
"created_time": "2025-10-06T09:12:40.000000Z",
"timezone": "Europe/Paris",
"content": {
"content_id": "1842",
"content_type": "swap",
"criticity": "info",
"content_details": {
"title": "Projet Magasin Paris - V3"
}
}
}Date/time change (system / dateTime)
The log keeps the configuration before (old) and after (new) the change.
{
"log_type": "system",
"created_time": "2025-10-07T12:17:16.507Z",
"timezone": "Europe/Berlin",
"content": {
"content_type": "dateTime",
"criticity": "info",
"content_details": {
"old": {
"auto": true,
"servers": ["0.pool.ntp.org", "1.pool.ntp.org", "2.pool.ntp.org"],
"timezone": "Europe/Berlin"
},
"new": {
"auto": true,
"servers": ["0.pool.ntp.org", "1.pool.ntp.org"],
"timezone": "Europe/Berlin"
}
}
}
}Filtering and exporting music without announcements
The CSV export reflects exactly the filters applied in the player's Logs view. To get only the music that was played:
- In Wavespark, open the player settings, then the Logs view.
- Open Filters and choose the Broadcast type.
- Check Music Programs (Tracks and Webradios) and Scenario, and uncheck Advert Programs and No playback.
- Choose the period and time zone (Player by default, Local, or UTC), then click Apply.
- Click Export to download the filtered CSV.
Archived logs (broadcast history)
The entire broadcast history (Proof of Play) is stored in cloud storage (S3), archived by month. Logs older than one month are no longer in Wavespark, but can be extracted from S3 and provided to the customer upon request.
File organization
- One JSON file per month, named
MM-YYYY.json(e.g.10-2025.jsonfor October 2025). - Each file contains the logs of all players for the month, of all types (
diffusion,project,system). - The file is a JSON array: one object per log, sorted by ascending
id.
Structure of an archived log
An archived log has the same content as a Wavespark log, plus the identification of the player and the company.
| Field | Description | Example |
|---|---|---|
id | Unique log identifier | 2283731 |
device_id | Internal player identifier | 1153 |
device_sn | Player serial number | 063236 |
company_id | Company identifier | 158 |
log_type | diffusion, project, or system | diffusion |
created_time | Log date and time, in UTC | 2025-10-01T00:57:47.851000Z |
timezone | Player time zone (may be null) | Europe/Paris |
content | Log details: content_type, criticity, content_details, etc. | see examples above |
Real example extracted from the 10-2025.json file:
{
{
"id": 2283731,
"device_id": 1153,
"device_sn": "063236",
"company_id": 158,
"log_type": "diffusion",
"created_time": "2025-10-01T00:57:47.851000Z",
"timezone": "Europe/Paris",
"content": {
"content_id": "3fc8e99b-d4df-4570-856a-9e282b5bac05",
"content_type": "music",
"task_title": "08",
"criticity": "info",
"content_details": {
"title": "01239 - Kelly Reid",
"artist": "Hardkandy",
"album": "LotB1300",
"duration": "5:35"
}
}
},
{
"id": 2409964,
"device_id": 1697,
"device_sn": "200065",
"company_id": 158,
"log_type": "diffusion",
"created_time": "2025-10-27T13:32:13.747000Z",
"timezone": "Africa/Casablanca",
"content": {
"content_id": "29709fba-aa44-45e5-a630-e04e879ad551",
"content_type": "radio",
"task_title": "vrai radio",
"criticity": "info",
"content_details": {
"title": "Skyrock",
"url": "https://icecast.skyrock.net/s/natio_mp3_128k?tvr_name=tunein16&tvr_section1=128mp3"
}
}
}
}log_type: "diffusion", "spot", etc.) and sample content ("Annonces magasin", "Promo rentrée", "Projet Magasin Paris - V3") were kept in French because they are actual values that appear verbatim in the logs. Page interface elements (feedback form, related articles) were omitted.Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article