Data/movie-api/v1.1/design-your-app

Jump to: navigation, search

Designing Your Movie Data Application

You have a vision for your app. Here's what you need to know to make your vision a reality.

Your Home Page

The entry to your Rovi Movie app can begin in several ways:
  1. A presentation of featured content.
    • Content from your catalog of movies and TV series. You can get Rovi IDs for your catalog with Rovi Catalog Matching.
    • Top movies and TV series in a genre or subgenre as described below.
    • Movies and TV series appropriate for a theme as described below.
    • Movies and TV series appropriate for a mood as described below.
    • Movies and TV series appropriate for a tone as described below.
  2. A text search for a movie, TV series, or person working in movies or TV:
  3. A search on a field-level characteristic that applies to movies or television:

Roadmap to Rovi Movie IDs

In the data returned by most API responses will be IDs of people and movies that you can use as links to additional API requests.
To feature people named in Rovi Movie responses, grab IDs from the following requests and provide links to Name API requests:
To feature movies and TV series, grab movie IDs, Cosmo IDs, or AMG movie IDs from the following responses and provide links to Movie API requests:
Here's a roadmap to building pages from the Rovi IDs returned in responses:


The Top-Level Requests: The Info Requests

Rovi DVDs provides three top-level requests:
As shown below in the sample Info response, these Info requests return not only core information, they also return preformatted requests for subsidiary information. And they can also return that subsidiary information. Rovi DVDs gives you the flexibility to get a group of related information with a single Info request or to get just subsidiary information with subsidiary requests.
If you also use Rovi Search or Rovi Recommendations, you'll notice that those requests also return Info responses.
Here are some design considerations when using the Info requests:
  • An Info response tells you what subsidiary data is available: if a review or biography is not available, for example, the response will not include the preformatted request for the review or biography. This feature allows your application the following program control options when parsing an Info response:
    • Grab an available request and offer the data as a link.
    • Grab an available request, execute it, and present the data.
    • If a request is unavailable, execute an alternative request.
  • You don't have to make separate requests for subsidiary information. An Info response can include subsidiary information in the response. You can, for example, include a review in an Info response by specifying that as part of the Info request. Use this feature in the following cases:
    • To build a page around data and subsidiary data you already know is available.
    • To present whatever data is available using appropriate program controls. Note: some subsidiary requests return huge amounts of data. For these requests, it's better to make a separate call so you can specify parameters that paginate the response data.
A Sample Info Response
Here's a response to a Movie/Info request for the movie Buck. Note that the request, specified below, asks for types to be included, and that the response does include the list of types and reveals that no data is available for moods.
http://api.rovicorp.com/data/v1.1/movie/info?apikey=apikey&sig=sig&movieid=V+++531454&format=json&
include=types
.
{
   "status":"ok",
   "code":200,
   "messages":null,
   "build":"1.0",
   "parameters":{
      "apiKey":"4p1k3y",
      "id":"Buck",
      "include":"types",
      "format":"json"
   },
   "serverName":"tul1cssrcs5.corporate.local",
   "startTime":"2012-10-23T16:57:56Z",
   "endTime":"2012-10-23T16:57:56Z",
   "duration":43,
   "movie":{
      "ids":{
         "cosmoId":"18858863",
         "movieId":"V 531454"
      },
      "title":"Buck",
      "releaseYear":"2011",
      "rating":7,
      "duration":88,
      "directors":[
         {
            "id":"P677445",
            "name":"Cindy Meehl"
         }
      ],
      "countries":[
         "USA"
      ],
      "mpaa":"PG",
      "flags":[
         "Adult Situations",
         "Mild Language"
      ],
      "genres":[
         {
            "id":"D 1659",
            "name":"Culture & Society [nf]",
            "weight":5
         }
      ],
      "attributes":null,
      "cast":null,
      "castUri":"http://api.rovicorp.com/v1.1/movie/cast?format=json&apikey=4p1k3y&movieid=V+++531454",
      "crew":null,
      "crewUri":"http://api.rovicorp.com/v1.1/movie/crew?format=json&apikey=4p1k3y&movieid=V+++531454",
      "images":null,
      "imagesUri":"http://api.rovicorp.com/v1.1/movie/images?format=json&apikey=4p1k3y&movieid=V+++531454",
      "keywords":null,
      "keywordsUri":"http://api.rovicorp.com/v1.1/movie/keywords?format=json&apikey=4p1k3y&movieid=V+++531454",
      "moods":null,
      "moodsUri":null,
      "related":null,
      "relatedUri":"http://api.rovicorp.com/v1.1/movie/related?format=json&apikey=4p1k3y&movieid=V+++531454",
      "releases":null,
      "releasesUri":"http://api.rovicorp.com/v1.1/movie/releases?format=json&apikey=4p1k3y&movieid=V+++531454",
      "review":null,
      "reviewUri":"http://api.rovicorp.com/v1.1/movie/review?format=json&apikey=4p1k3y&movieid=V+++531454",
      "similar":null,
      "similarUri":"http://api.rovicorp.com/v1.1/movie/similar?format=json&apikey=4p1k3y&movieid=V+++531454",
      "synopsis":null,
      "synopsisUri":"http://api.rovicorp.com/v1.1/movie/synopsis?format=json&apikey=4p1k3y&movieid=V+++531454",
      "themes":null,
      "themesUri":"http://api.rovicorp.com/v1.1/movie/themes?format=json&apikey=4p1k3y&movieid=V+++531454",
      "tones":null,
      "tonesUri":"http://api.rovicorp.com/v1.1/movie/tones?format=json&apikey=4p1k3y&movieid=V+++531454",
      "types":[
         {
            "id":"D 1076",
            "name":"Animals [nf]",
            "weight":5
         },
         {
            "id":"D 671",
            "name":"Biography [nf]",
            "weight":5
         }
      ],
      "typesUri":"http://api.rovicorp.com/v1.1/movie/types?format=json&apikey=4p1k3y&movieid=V+++531454",
      "videos":null,
      "videosUri":"http://api.rovicorp.com/v1.1/movie/videos?format=json&apikey=4p1k3y&movieid=V+++531454",
      "studio":"",
      "producedBy":[
         "Black Allie Films",
         "Cedar Creek Productions",
         "Motto Pictures"
      ],
      "releasedBy":[
         "Sundance Selects"
      ],
      "distributor":null
   }
}

Page Control: Offset and Count

Some requests return enormous amounts of information. Name/Filmography, a subsidiary request, returns over 175 items for Steven Spielberg.
To control the amount of data you receive in a response, subsidiary requests that return lists of data offer the parameters offset and count to set the starting point and number of items to return. Use these parameters in combination with page forward and page reverse controls.

So How Do I Start?

Let's start with that vision of yours. Here are some ideas for creating compelling content on any page, including a home page.

Present a Search Box

  • To return search results as the user types, call SingleStageSearch.
  • To have the user enter the full search query, call one of the following:
  • Consider allowing the user to select the entitytype they are searching for—credit, movie, or TV series.
  • Present a page based on the user's selection.
  • Use the IDs in responses to build out your pages, adding links to other pages as shown above in Roadmap to Rovi Movie IDs.

Feature a Movie or TV Series

  1. Grab the movie ID or Cosmo ID of the movie or TV series from a response:
  1. Call Movie/Info with the include parameter values that return the data you want to present:
  1. From the response, grab and use the data you want.
  2. Call Similar to add recommendations of similar shows.
  3. Use the IDs in responses to build your pages out, adding links to other pages as shown above in Roadmap to Rovi Movie IDs.

Feature Releases on DVDs, Blu-Ray, Etc.

  1. Grab the movie ID or Cosmo ID of the movie or TV series from a response:
  1. Call Movie/Releases to return releases of that movie or TV series.
  2. Select the releases you want to present from the response. Consider filtering on elements such as format, purchaseable, and commentary.
    Would you like responses that cover only releases in you catalog? Please contact us.
  3. Call MovieRelease/Info for each release you want to present, with include parameter values that return the data you want to present about each release.

Feature a Person in Movies or Television

  1. Grab the ID of the person from a response that returns name IDs. For a complete list of requests that return name IDs, click here.
  2. Call Name/Info with the include parameter values that return the data you want to present. Note: these values may return large amounts of data. To control the amount of data returned, make separate requests instead using the offset and count parameters.
  1. From the response, grab and use the data you want.
  2. Use the IDs in responses to build your pages out, adding links to other pages as shown above in Roadmap to Rovi Movie IDs.


Feature the Top Movies in a Genre or Subgenre

Rovi DVDs categorizes movies under hundreds of genres and subgenres.
  1. Grab genre and subgenre IDs from responses to these requests:
  2. Call Descriptor/SignificantMovies with the genre and subgenre IDs.
  3. From the response, grab and use the data you want:
    • Show the movie title, release year, and image related to the movie.
    • With the movie ID, add a Movie/Info link to information about the movie.
    • With the genre IDs, present links to significant movies in other genres.
  4. Use the IDs in responses to build your pages out, adding links to other pages as shown above in Roadmap to Rovi Movie IDs.

Feature Movies Around a Mood

  1. Get the ID of the mood:
  2. Call FilterBrowse for movies with the following parameters:
    • filter=moodid:D+++257 (for a mood of love of country).
    • An include parameter for the content you want to feature. For example: include=images for links to images.
  3. From the response, grab and use the data you want.
  4. Use the IDs in responses to build your pages out, adding links to other pages as shown above in Roadmap to Rovi Movie IDs.

Feature Movies Around a Theme

  1. Get the ID of the theme:
  2. Call FilterBrowse for movies with the following parameters:
    • filter=themeid:D++1418 (for a theme of eccentric families).
    • An include parameter for the content you want to feature. For example: include=images for links to images.
  3. From the response, grab and use the data you want.
  4. Use the IDs in responses to build your pages out, adding links to other pages as shown above in Roadmap to Rovi Movie IDs.

Feature Movies Around a Tone

  1. Get the ID of the tone:
    • Look up the ID of the tone in the Tones table.
    • Grab an ID from the response to a Movie/Tones request or to a Movie/Info request with an include=tones argument.
  2. Call FilterBrowse for movies with the following parameters:
    • filter=toneid:D++1318 (for a gritty tone).
    • An include parameter for the content you want to feature. For example: include=images for links to images.
  3. From the response, grab and use the data you want.
  4. Use the IDs in responses to build your pages out, adding links to other pages as shown above in Roadmap to Rovi Movie IDs.
 
Personal tools