Content APIs
Content Entity
The Content entity has the following properties:
Id
int:(read only) The identifier and primary key of the Content entity.FileName
string: The virtual name of the file represented by the current Content instance. This string may differ from the file name on the client device before being uploaded. This property can be set by both client and server, and is used in many capacities both within BSN and on devices.PhysicalPath
string:(read only) An external URL for the associated file contained in persistent storage.VirtualPath
string: A virtual path to the associated file within the Library of the BSN account.Type
ContentType:(read only) The simplified content type of the associated file. This property is represented with a ContentType enumeration value.FileSize
long:(read only) The size of the associated file in bytes.FileHash
string:(read only) The SHA1 hash of the associated file.ThumbPath
string:(read only) An external URL for the file thumbnail image contained in persistent storage.UploadDate
DateTime:(read only) A UTC timestamp indicating when the associated file was uploaded to BSN.FileLastModifiedDate
DateTime: A value representing the last time the associated file was modified on the user storage (e.g. the "Date modified" value in Windows). This property is set during the content upload process. It can also be set by the client or server at any time.DynamicPlaylists
DynamicPlaylistInfo[]: (read only) An array of DynamicPlaylistInfo structures that denote parent Dynamic Playlists.Presentations
PresentationInfo[]: (read only) An array of PresentationInfo structures that denote parent presentations.
ContentFolder Entity
The ContentFolder entity has the following properties:
Id
int:(read only) The identifier and primary key of the ContentFolder entity.AccountId
int:(read only) The identifier of the account that owns the ContentFolder entity.Name
string: The user-defined name of the folder represented by the ContentFolder instance. This name must be unique in the scope of the parent folder.VirtualPath
string: A virtual path to the associated folder within the Library of the BSN account (for example, “\Shared\Incoming\” or “\Users\jdoe@example.com\Home\”).ThumbPath
string:(read only) An external URL for the file thumbnail image contained in persistent storage.CreationDate
DateTime:(read only) A UTC timestamp indicating when the associated folder was created in BSN.
ContentType Enumeration
The ContentType enumeration specifies the type of the file associated with the Content instance. It has the following properties.
Image
: A JPG, PNG, or BMP image fileVideo
: An MPG, MP4, TS, MOV, VOB, or WMV video fileAudio
: An MP3 or WAV audio fileOther
: An unknown file type
ContentTransition Enumeration
The ContentTransition enumeration represents the screen effect that is shown during the transition between the previous presentation state and the current content state. It has the following properties:
NoEffect
WipeFromTop
WipeFromBottom
WipeFromLeft
WipeFromRight
ExplodeFromCenter
ExplodeFromTopLeft
ExplodeFromTopRight
ExplodeFromBottomLeft
ExplodeFromBottomRight
VenetianBlindsVertical
VenetianBlindsHorizontal
CombVertical
CombHorizontal
FadeToBackground
FadeToNewImage
SlideTop
SlideBottom
SlideLeft
SlideRight
DynamicPlaylistContent Entity-Relation
The DynamicPlaylistContent entity-relation represents associations between Content and ImageVideoDynamicPlaylist or AudioDynamicPlaylist instances. It has the following properties:
ContentId
int: The identifier and primary key of the associated Content instance. This value can be set by both client and server.FileName
string: The virtual name of the file represented by the current Content instance.DisplayDuration
TimeSpan: The amount of time that the device displays an associated image. This property does not apply to audio or video files.ValidityStartDate
DateTime: A value that determines the validity start date for the associated content item (i.e. the point at which the content item will start being displayed in the Dynamic Playlist). A Null value determines that the content item is valid from the moment it is added to the Dynamic Playlist; this is the standard case for most content items.ValidityEndDate
DateTime: A value that determines the validity end date for the associated content item (i.e. the point at which the content item will no longer be displayed in the Dynamic Playlist). A Null value determines that the content item will be valid until it is removed from the Dynamic Playlist manually by the user; this is the standard case for most content items.
PresentationContent Entity-Relation
The PresentationContent entity-relation represents the association between Content and Presentation instances. It has the following properties:
Id
int: (Read Only) The identifier and primary key of the PresentationContent entity-relation.Name
string: The user-defined name of the related Presentation item. This value can represent the name of a content file, feed, Video Stream, Live Video, or RF In object. When the entity-relation represents the relationship between a Presentation instance and a Content instance, this property contains the virtual name of the content file. Alternatively, when the entity-relation represents the relationship between a Presentation instance and a ImageVideoDynamicPlaylist/AudioDynamicPlaylist instance, this property contains theName
string of the Dynamic Playlist.StateName
string: The name of the playlist state that corresponds to the associated Content instance. This value is optional.
ImageContent Entity-Relation
The ImageContent entity-relation represents the association between a Presentation instance and an image Content instance.
ContentId
int: The identifier and primary key of the associated Content instance.DisplayDuration
TimeSpan: The amount of time that the device displays the associated image.Transition
ContentTransition: A ContentTransition enumeration representing the screen effect that is shown during the transition between the previous presentation state and the current content state (i.e. the associated content state).
BackgroundImageContent Entity-Relation
The BackgroundImageContent entity-relation represents the association between a Presentation instance and an image Content instance.
ContentId
int: The identifier and primary key of the associated Content instance.
VideoContent Entity-Relation
The VideoContent entity-relation represents the association between a Presentation instance and a video Content instance.
ContentId
int: The identifier and primary key of the associated Content instance.Volume
byte: The volume level of the video as a percentage.
AudioContent Entity-Relation
The AudioContent entity-relation represents the association between a Presentation instance and an audio Content instance.
ContentId
int: The identifier and primary key of the associated Content instance.Volume
byte: The volume level of the audio track as a percentage.
MediaRssFeedContent Entity-Relation
The MediaRssFeedContent entity-relation represents the association between a Presentation instance and a DynamicPlaylist instance.
DynamicPlaylistId
int: The identifier and primary key of the associated DynamicPlaylist instance.
WebPageContent Entity-Relation
The WebPageContent entity-relation represents the association between a Presentation instance and a WebPage instance.
WebPageId
int: The identifier and primary key of the associated WebPage instance.DisplayDuration
TimeSpan: The amount of time that the player will display the page. A zero value specifies an unlimited playback interval.
VideoStreamContent Entity-Relation
The VideoStreamContent entity-relation represents the association between a Presentation instance and a streaming video object.
URL
string: The absolute URI of the video stream.PlaybackDuration
TimeSpan: The amount of time the player will play the video stream. A zero value specifies an unlimited playback interval.
LiveVideoContent Entity-Relation
The LiveVideoContent entity-relation represents the association between a Presentation instance and an HDMI® input object.
PlaybackDuration
TimeSpan: The amount of time the player will play video from the HDMI input. A zero value specifies an unlimited playback interval.Volume
byte: The volume level of the HDMI input as a percentage.
RadioInputContent Entity-Relation
The RadioInputContent entity-relation represents the association between a Presentation instance and an RF-input object.
Channel
RadioChannel: A VirtualRadioChannel or CustomRadioChannel structure specifying the channel-tuning settings for the RF-input object.ReentryAction
RadioStateReentryAction: A RadioStateReentryAction enumeration specifying how the RF tuner should behave when the player returns to the RF-input object.PlaybackDuration
TimeSpan: The amount of time the player will play video from the RF-input. A zero value specifies an unlimited playback interval.Volume
byte: The volume level of the RF-input video as a percentage.Overscan
bool: A flag specifying whether or not overscan settings should be applied to the RF-input video.
VirtualRadioChannel Structure
The VirtualRadioChannel Structure has the following parameters:
Channel
string: The virtual number of the channel.
CustomRadioChannel Structure
The CustomRadioChannel Structure has the following parameters:
Channel
string: The name of the channel.VirtualChannel
string: The virtual number of the channel.
RadioStateReentryAction Enumeration
The RadioStateReentryAction enumeration has the following parameters:
Retune
: Instructs the player to retune to a channel every time the RF-input object is encountered in a playlist.RemainOnLastTuned
: Instructs the player to remain on the last tuned channel when the RF-input object is encountered again in a playlist.
DynamicPlaylistInfo Structure
The DynamicPlaylistInfo structure provides information about a parent ImageVideoDynamicPlaylist or AudioDynamicPlaylist instance. It has the following properties:
Id
int:(read only) The identifier and primary key of the instanceName
string: The user-defined name of the instance. This string value is an alternate key that is unique in the scope of the BrightSign Network account.
PresentationInfo Structure
The PresentationInfo structure provides information about a parent Presentation instance. It has the following properties:
Id
int:(read only) The identifier and primary key of the Presentation instanceName
string: The user-defined name of the Presentation instance. This string value must be unique in the scope of the BrightSign Network account.
Content Management Web Methods
Content update and creation operations can only be performed by the File Upload Service.
PagedList<Content> GetAllContent(string marker, int pageSize)
Retrieves the next page of the Content list, sorted alphabetically by [string] FileName
. The returned list will contain no more items than the defined page size. This method only supports retrieval of image, audio, and video file types.
Required Permissions
Content: View Content
Parameters
marker
string: TheFileName
string of the last Content instance on the previous page. If the value is Null, then the method will retrieve the first page.pageSize
int: The maximum number of objects returned by the method. If the list of objects that match the search criteria exceeds thepageSize
int limit, the returned list will indicate that it is truncated. If the integer is not positive, then the method will return the maximum allowed number of objects. Attempting to request more objects than is allowed will lead to the same result, but without an error.
List<ContentFolder> GetContentFolders(string virtualPath)
Retrieves all levels of subfolders that are part of the parent ContentFolder entity, which is specified using its virtual path. The returned list will contain no more items than the defined page size.
Required Permissions
Content: View Content
Parameters
virtualPath
string: The virtual path of the parent ContentFolder entity containing the requested subfolders. The root virtual path is “\”.
PagedList<Content> GetFolderContent(string virtualPath, string marker, int pageSize)
Retrieves the first level of files within the parent ContentFolder entity, which is specified using its virtual path. The returned list is organized by File Name and may not contain more items than the defined page size. This method only supports retrieval of image, audio, and video file types.
Required Permissions
Content: View Content
Parameters
virtualPath
string: The virtual path of the parent ContentFolder entity. The root virtual path is “\”.marker
string: TheFileName
string of the last Content instance on the previous page. If the value is Null, then the method will retrieve the first page.pageSize
int: The maximum number of objects returned by the method. If the list of objects that match the search criteria exceeds thepageSize
int limit, the returned list will indicate that it is truncated. If the integer is not positive, then the method will return the maximum allowed number of objects. Attempting to request more objects than is allowed will lead to the same result, but without an error.
List<Content> GetSpecifiedContent(int[] contentIds)
Retrieves a list of Content instances matching the specified identifiers. The results are sorted alphabetically by Content FileName
string. The identifiers of nonexistent Content instances will be ignored.
Required Permissions
Content: View Content
Parameters
contentIds
Int[]: An array ofId
int values for the Content instances being requested. The maximum number of items is limited to 100 by the server. Attempting to request more than the maximum allowed number of objects will cause an error, while passing an empty array will lead to an immediate empty response without an error.
PagedList<Content> FindContent(string fileNamePattern, string marker, int pageSize)
Retrieves the next page of a Content list containing file names matched with the specified pattern. The returned list is organized by FileName
string and may not contain more items than the defined page size. This method only supports retrieval of image, audio, and video file types.
Required Permissions
Content: View Content
Parameters
fileNamePattern
string: The exactFileName
string of the Content instance (or its wildcard-based pattern). Supported wildcards currently include “*”, “?”, and “[‘and’]”.marker
string: TheFileName
string of the last Content instance on the previous page.pageSize
int: The maximum number of objects returned by the method. If the list of objects that match the search criteria exceeds thepageSize
int limit, the returned list will indicate that it is truncated. If the integer is not positive, then the method will return the maximum allowed number of objects. Attempting to request more objects than is allowed will lead to the same result, but without an error.
Content GetContent(int contentId)
Retrieves a single Content instance with the specified identifier. This method returns Null if there are no Content instances containing the specified identifier. This method only supports retrieval of image, audio, and video file types.
Required Permissions
Content: View Content
Parameters
contentId
int: The identifier and primary key of the associated Content instance.
ContentFolder CreateContentFolder(ContentFolder entity)
Creates a new virtual folder within the BSN Library. The folder will have a specified name and location defined by its virtual path. This method returns the newly created object with all initialized properties (or Null if an error occurs during the creation process).
Required Permissions
Content: View Content
Parameters
entity
ContentFolder: A ContentFolder instance with an initializedName
string,VirtualPath
string, andThumbPath
string (if needed). All other property values for the ContentFolder instance will be ignored. If this parameter is set to Null, then the method will immediately return Null without error. A descriptive error will be returned to the client if any of the following conditions occur:The
VirtualPath
string of the initialized ContentFolder does not contain a leading slash(“\”).The
ThumbPath
string does not begin with an absolute URI (i.e. “http://” or “https://”).The
Name
string of the initialized ContentFolder is more than 128 characters.A ContentFolder instance within the same parent folder has the same name.
bool MoveContent(int[] contentIds, string newVirtualPath)
Moves the specified Content and/or ContentFolder instances to the specified virtual folder. This method returns True upon success and False upon failure.
Required Permissions
Content: Update Content
Parameters
contentIds
int[]: An array ofId
int values for the Content and/or ContentFolder instances that will be updated. The number of items is limited to 100 by the server. Attempting to request more than the maximum allowed number of objects will cause an error. If the client passes an empty array, or if none of the identifiers in the array match existing content instances, the server will immediately return an empty response without an error.newVirtualPath
string: The new virtual path for the specified Content and/or ContentFolder instances (e.g. “\Shared\Incoming\”).
bool CheckContentUsage(int contentId)
Determines whether the specified Content instance is referenced by Presentations, Dynamic Playlists, Web Pages, or Device Web Pages. This method returns True if the specified Content instance has parent dependencies (i.e. it is in use).
Note that this method only supports retrieval of image, audio, and video file types. Also note that when using this method to check whether a Content instance can be deleted, a False (“not in use”) status may change in the time between calling this method and calling DeleteContent()
.
Required Permissions
Content: View Content
Parameters
contentId
int: The identifier and primary key of the associated Content instance. If there are no Content instances with the specified identifier, this method will return False without an error.
bool DeleteContent(int[] contentIds)
Deletes the specified Content and ContentFolder instances, as well as any associated files, in both the database and persistent storage. This method returns True only if the operation was completely successful. None of the affected instances can be in use by any Presentation, Dynamic Playlist, Web Page, or Device Webpage. In these cases a descriptive error will be returned to the client.
Required Permissions
Content: Delete Content
Parameters
contentIds
int[]: An array ofId
int values reflecting the Content instances to be deleted. The maximum number of items is limited to 100 by the server. Attempting to request more than the allowed number of objects will cause an error. A descriptive error will be returned if one or more ContentId
int is invalid. If the client passes an empty array, or if none of the identifiers in the array match existing content instances, the server will immediately return an empty response without an error.
ON THIS PAGE