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 file

  • Video: An MPG, MP4, TS, MOV, VOB, or WMV video file

  • Audio: An MP3 or WAV audio file

  • Other: 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 the Name 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 instance

  • Name 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 instance

  • Name 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: The FileName 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 the pageSize 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: The FileName 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 the pageSize 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 of Id 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 exact FileName string of the Content instance (or its wildcard-based pattern). Supported wildcards currently include “*”, “?”, and “[‘and’]”.

  • marker string: The FileName 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 the pageSize 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 initialized Name string, VirtualPath string, and ThumbPath 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 of Id 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 of Id 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 Content Id 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