generate
Description
The generate endpoints are used to generate playlists server-side in Broadsign Air. The following endpoints are available:
Note: Any timestamps included in the playlists will use the timezone configured in Broadsign Control Administrator for the related Display Units. It is essential to ensure that the correct timezone is configured. If no timezone is set, the server will default to GMT+0 for the start and end date of campaigns, schedules, and opening hours under that Display Unit. Different Display Units can be set to different timezones if needed. For more information, see Timezone.
generate v1
generate v1 Endpoint
Version 1 of generate offers basic support to generate playlists.
Features
- Synchronized Playback: Players with multiple screens must retrieve the same playlists. If several Players want to use the same playlist, they must fetch it with the same
player_id
, but with a differentscreen_id
. - Offline playback support for 48 hours: Broadsign Air will generate a playlist for up to 48 hours to be used if the Player loses connectivity or goes offline. If the Player is offline for longer than 48 hours and the Playlist has been exhausted, the Playlist will fall back on filler content. To generate an offline playlist longer than 48 hours, use the generate_long endpoint.
- Preemptible Content: Broadsign Air supports the concept of preemptible campaign for programmatic content to optimize campaign delivery. For more information, see Preemptible Content.
Limitations
- Synchronization Not Guaranteed: Synchronization across players is not guaranteed between regular and offline playlists. When a single player has multiple screens, it's recommended to implement a synchronization mechanism to ensure they transition from regular to offline playlists simultaneously. Failure to do so may lead to incomplete proof-of-play recording, depending on the threshold. See Synchronized Players.
generate v2
generate v2 Endpoint
Version 2 of generate adds support for up to 3 frames.
Features
- Synchronized Playback: Players with multiple screens must retrieve the same playlists. If several Players want to use the same playlist, they must fetch it with the same
player_id
, but with a differentscreen_id
. - Frame Support: The endpoint supports up to 3 frames for content display. To configure more than 1 frame, contact Broadsign Services.
- Offline playback support for 48 hours: Broadsign Air will generate a playlist for up to 48 hours to be used if the Player loses connectivity or goes offline. If the Player is offline for longer than 48 hours and the Playlist has been exhausted, the Playlist will fall back on filler content. To generate an offline playlist longer than 48 hours, use the generate_long endpoint.
- Cross-Player Sync: The endpoint supports cross-player sync on one frame.
- Preemptible Content: Broadsign Air supports the concept of preemptible campaign for programmatic content to optimize campaign delivery. For more information, see Preemptible Content.
Limitations
- Synchronization Not Guaranteed: Synchronization across players is not guaranteed between regular and offline playlists. When a single player has multiple screens, it's recommended to implement a synchronization mechanism to ensure they transition from regular to offline playlists simultaneously. Failure to do so may lead to incomplete proof-of-play recording, depending on the threshold. See Synchronized Players.
- Day Part Changes: The endpoint does not support playlists with items that are expected to play across a day part change if the frame layout is different in each day part.
- Scheduled Conditions: The endpoint does not support scheduled conditions.
Endpoints
https://air.broadsign.com/playlist/v1/generate
https://air.broadsign.com/playlist/v2/generate
HTTP Method
POST
Request Body Parameters
Parameter | Description | Type | Required (R) or Optional (O) |
---|---|---|---|
player_identifier |
A user-defined Custom Unique ID identifier within the Broadsign Control Player system. It is intended to uniquely represent a single physical location or venue where the player is deployed. |
string | R |
active_conditions |
Uses active conditions to generate playlists specific for those conditions. Passes an array of Condition objects. For more information, see Criteria and Conditions. |
Array of Condition | O |
Condition.name | Name of the condition. If active_conditions is used, this is mandatory. |
string | R |
Condition.exclusive | If set to "true", after generating the loop, the player will strip out all slots that are without this condition.
|
boolean | O |
screen_identifier |
Uniquely identifies individual screens within a venue that are connected to the same Broadsign Control Player. It is a customer-provided opaque value. The Tip: Using clear and consistent screen identifiers is essential for generating accurate proof of play reports in Broadsign Air. The same This field is not mandatory but is highly recommended for precise playback tracking. For more information, see Reporting Players POPs with Broadsign Air. |
string | O |
duration |
The time duration, in seconds, covered by the generated Playlist. The default value is 48 hours (172,800 seconds), which is also the maximum supported value. For example, if the duration is set to 48 hours, the returned Playlist will cover the next two days. The total duration of the returned items may be shorter than the covered time if there are periods where nothing is scheduled to play. Note: Setting a smaller duration increases the risk of missing Playlist items or experiencing black screens due to downtime or network issues. To minimize the risk of playback issues, it is recommended to use the default or longer durations where possible. See api.proto for definition. |
google.protobuf.Duration | O |
next_expected_poll |
The next time that this player is expected to request a new playlist. If this parameter is not specified in the request, the player is considered offline. This parameter is used by Broadsign Control to determine when players are MIA. For more information, see Player Incidents. The format <year>-<month>-<day>T<hour>:<minute>:<seconds>.<milliseconds>Z is supported. For example: 2021-09-23T20:00:00.000Z. Note: If the See api.proto for definition. |
google.protobuf.Timestamp | O |
exclude_programmatic_precaching_info |
Turns on or off Broadsign Reach pre-caching. If set to True, only returns information on Broadsign Reach content that is actually in the playlist. Not setting this parameter or setting it to False will return all Broadsign Reach approved creatives. |
bool | O |
Response
Refer to Response for complete information about the Broadsign Air Response parameters.