Intents Schema 1.0.0 | Core SDK
Overview
undefined
Types
Intent
A Firebolt compliant representation of a user intention.
type Intent = {
  action: string
  context: {
    source: string
  }
}
IntentProperties
type IntentProperties = {
  action: any
  data: any
  context: any
}
ProgramEntity
type ProgramEntity = {
  entityType: "program"
  programType: ProgramType  // In the case of a program `entityType`, specifies the program type.
  entityId: string
}
See also:
'movie' | 'episode' | 'season' | 'series' | 'other' | 'preview' | 'extra' | 'concert' | 'sportingEvent' | 'advertisement' | 'musicVideo' | 'minisode'
Identifier
type Identifier = string
SearchIntent
A Firebolt compliant representation of a user intention to navigate an app to it's search UI with a search term populated, and bring that app to the foreground if needed.
type SearchIntent = {
  action: "search"
  data?: {
    query: string
  }
  context: {
    source: string
  }
}
SectionIntent
A Firebolt compliant representation of a user intention to navigate an app to a section not covered by home, entity, player, or search, and bring that app to the foreground if needed.
type SectionIntent = {
  action: "section"
  data?: {
    sectionName: string
  }
  context: {
    source: string
  }
}
ChannelEntity
type ChannelEntity = {
  entityType: "channel"
  channelType: 'streaming' | 'overTheAir'
  entityId: string                         // ID of the channel, in the target App's scope.
  appContentData?: string
}
AdditionalEntity
type AdditionalEntity = {
  entityType: "program"
  programType: ProgramType  // In the case of a program `entityType`, specifies the program type.
  entityId: string
  assetId?: string
  appContentData?: string
}
See also:
PlayQueryIntent
A Firebolt compliant representation of a user intention to navigate an app to a the video player for an abstract query to be searched for and played by the app.
type PlayQueryIntent = {
  action: "play-query"
  data: {
    query: string
    options?: {
      programTypes?: ProgramType[]
      musicTypes?: MusicType[]
    }
  }
  context: {
    source: string
  }
}
See also:
'movie' | 'episode' | 'season' | 'series' | 'other' | 'preview' | 'extra' | 'concert' | 'sportingEvent' | 'advertisement' | 'musicVideo' | 'minisode'
'song' | 'album'
HomeIntent
A Firebolt compliant representation of a user intention to navigate an app to it's home screen, and bring that app to the foreground if needed.
type HomeIntent = {
  action: "home"
  context: {
    source: string
  }
}
LaunchIntent
A Firebolt compliant representation of a user intention to launch an app.
type LaunchIntent = {
  action: "launch"
  context: {
    source: string
  }
}
TVSeriesEntity
type TVSeriesEntity = {
  entityType: "program"
  programType: "series"
  entityId: string
  assetId?: string
  appContentData?: string
}
See also:
MovieEntity
type MovieEntity = {
  entityType: "program"
  programType: "movie"
  entityId: string
  assetId?: string
  appContentData?: string
}
See also:
TVSeasonEntity
A Firebolt compliant representation of a TV Season entity.
type TVSeasonEntity = {
  entityType: "program"
  programType: "season"
  entityId: string
  seriesId: string
  assetId?: string
  appContentData?: string
}
See also:
UntypedEntity
type UntypedEntity = {
  entityId: string
  assetId?: string
  appContentData?: string
}
TVEpisodeEntity
type TVEpisodeEntity = {
  entityType: "program"
  programType: "episode"
  entityId: string
  seriesId: string
  seasonId: string
  assetId?: string
  appContentData?: string
}
See also:
EntityIntent
A Firebolt compliant representation of a user intention to navigate an app to a specific entity page, and bring that app to the foreground if needed.
type EntityIntent = {
  action: "entity"
  data: MovieEntity | TVEpisodeEntity | TVSeriesEntity | TVSeasonEntity | AdditionalEntity | UntypedEntity
  context: {
    source: string
  }
}
See also:
MovieEntity
TVEpisodeEntity
TVSeriesEntity
TVSeasonEntity
AdditionalEntity
UntypedEntity
PlaylistEntity
A Firebolt compliant representation of a Playlist entity.
type PlaylistEntity = {
  entityType: "playlist"
  entityId: string
  assetId?: string
  appContentData?: string
}
TuneIntent
A Firebolt compliant representation of a user intention to 'tune' to a traditional over-the-air broadcast, or an OTT Stream from an OTT or vMVPD App.
type TuneIntent = {
  action: "tune"
  data: {
    entity: ChannelEntity
    options?: {
      assetId?: string                 // The ID of a specific 'listing', as scoped by the target App's ID-space, which the App should begin playback from.
      restartCurrentProgram?: boolean  // Denotes that the App should start playback at the most recent program boundary, rather than 'live.'
      time?: string                    // ISO 8601 Date/Time where the App should begin playback from.
    }
  }
  context: {
    source: string
  }
}
See also:
PlayableEntity
type PlayableEntity = MovieEntity | TVEpisodeEntity | PlaylistEntity | AdditionalEntity
See also:
MovieEntity
TVEpisodeEntity
PlaylistEntity
AdditionalEntity
PlaybackIntent
A Firebolt compliant representation of a user intention to navigate an app to a the video player for a specific, playable entity, and bring that app to the foreground if needed.
type PlaybackIntent = {
  action: "playback"
  data: PlayableEntity
  context: {
    source: string
  }
}
See also:
MovieEntity | TVEpisodeEntity | PlaylistEntity | AdditionalEntity
PlayEntityIntent
A Firebolt compliant representation of a user intention to navigate an app to a the video player for a specific, playable entity, and bring that app to the foreground if needed.
type PlayEntityIntent = {
  action: "play-entity"
  data: {
    entity: PlayableEntity
    options?: {
      playFirstId?: string
      playFirstTrack?: number
    }
  }
  context: {
    source: string
  }
}
See also:
MovieEntity | TVEpisodeEntity | PlaylistEntity | AdditionalEntity
NavigationIntent
A Firebolt compliant representation of a user intention to navigate to a specific place in an app.
type NavigationIntent = HomeIntent | LaunchIntent | EntityIntent | PlaybackIntent | SearchIntent | SectionIntent | TuneIntent | PlayEntityIntent | PlayQueryIntent
See also:
HomeIntent
LaunchIntent
EntityIntent
PlaybackIntent
SearchIntent
SectionIntent
TuneIntent
PlayEntityIntent
PlayQueryIntent