Feed management
  • 12 Jan 2024
  • 6 Minutes to read
  • Contributors
  • Dark
    Light
  • PDF

Feed management

  • Dark
    Light
  • PDF

Article summary

Using Feeds service API

For each content partner, content ingestion is the core component to get onboarded on a device platform. Through ingestion, the platform collects your content catalog and ingests it into its database. To ingest contents, the device platform servers will hit the APIs provided by ViewLift. 

The feeds service provides an API that you can use to build XML documents that contain the metadata from the content you have ingested in the ViewLift Tools Platform. The currently supported feed formats in ViewLift are Roku search feed (https://developer.roku.com/en-gb/docs/specs/search-feed.md), MRSS feed (https://www.rssboard.org/media-rss#examples), Mi TV, Amazon Discovery, Facebook Feed, AirTel Feed, Google Feed, and Tata Play feed.

When a feed request is created, the backend runs a job to generate the feed XML and save the XML in an s3 bucket; this data can later be accessed from ViewLift tools. The feed once created is refreshed every 24 hours through a scheduled job.

Feeds API

POST  /admin/feeds (create a new feed request. This creates a record in Dynamo and the job that will generate the feed and write the XML to s3. The feed could take a few minutes before it can be completed and written to s3. Only if the feed is in s3 it can be rendered from the server)

Request body:

feed: enum required. Represent the type of feed that will be generated. Possible values are ROKU, MRSS, Mi TV, Amazon Discovery, AirTel, and so on. 

site: string required. Indicates the site's short name.

name: string required. The name of the feed to be generated.

description: string required. A short description for the feed to be generated.

categories: array optional. Array of strings containing the categories we will filter the content at the time we generate the feed. (if categories and tags are not provided we generate the feed with all the content).

tags: array optional. An array of strings containing the tags we will filter the content at the time we generate the feed.

includeAsset: booleanDefault is false. Is used for MRSS feed. If the value is true, we will include the media:content information.

Response 

A successful response returns the HTTP 200.

id: string. The id of the feed.

feed: string. The feed type that will be generated.

site: stringShort name of the site.

name: stringName of the feed to be generated.

description: string. Description for the feed to be generated.

categories: array. Categories we will filter the content at the time we generate the feed. 

tags: array. Tags that will filter the content at the time of feed generation.

includeAsset: boolean. If value is true, The feed type (MRSS, Roku, etc.) will include the media:content information.

addedDate: string. Date and time stamp to indicate when the site's feed was created for the first time.

bucket: string. Bucket where the xml will be saved.

s3Key: string. S3 Key location (path) of the xml.

updateDate: string. Date and time stamp to indicate when the feed was last updated.

token: string. Secret token to identify the feed at the time it will be rendered from the server.

error: string. In case feed fails during the execution of the job, the error message will be saved in this property. Value is null if no error occurred after the execution.

GET  /admin/feeds (return all feeds generated by site)

Query Parameters:

            site: site name

Response:

            items: array: Array containing all feed records (see Post response to see all properties of each object inside array).

 

GET /admin/feeds/download (generate a download pre-sign url from the s3 and key of the feed)

Query Parameters:

            token: token associated with the feed

Response:

            An invalid token results in a HTTP 403 response. A valid response return a HTTP 302 with headers: 

            content-type: text/xml

            location: string with the value of the pre-sign url

 DELETE  /admin/feeds/{id} (delete the feed record and the file from s3)

Path Parameters:

            id: id of the record to be deleted

Add & Generate a feed from Tools Platform

Add a feed type in the Tools platform. ViewLift exports the content ingested in the CMS in an XML file. 

To add a new type of video feed:

  1. Click the drop-down menu on your user profile in the upper-right corner, and click Admin.
  2. In the left pane, click Feed Management, then click Add New Feed.
  3. Provide a name and description for the video, and select the Feed Type you want to set up:
    • MRSS– Generates feeds optimized for MRSS based on MRSS specifications.
    • Roku Generates feeds optimized for Roku. 
    • Mi TV  Generates feeds optimized for Mi TV.
    • Amazon Discovery Feed – Generates feeds for Amazon Discovery.
    • Facebook Generates feeds optimized for Facebook. 
    • AirTel Xstream Generates feeds optimized for AirTel. 
    • Google Generates feeds optimized for Google. 
    • Tata Play Generates feeds optimized for Tata Play. 
  4. From the Select tags drop-down, choose the type of content. You can add multiple tags.
  5. From the Select Categories drop-down, choose a video category based on its content and relevance.
  6. Click Submit. ViewLift creates a video feed URL in the web.xml file within 10-15 minutes.
    You can access the feed XML file on a new browser window. The XML file will list all videos with the specified tags and categories.
    A picture containing application 
Description automatically generated
    7. As the next step, for example for Roku, sign in to your Roku Developers account, and click to copy the URL you've created in ViewLift.
    Graphical user interface, application

Description automatically generated
    8. To validate the feed, paste the feed URL on the Feed submission page for Roku:
    Validate Roku feed

Once you validate the link, you will receive an email from your device platform partner. Here's a sample acknowledgment email from Roku:

Edit a video feed

You can edit a video feed to modify tags and categories. ViewLift updates the feed URLs every 24 hours to reflect any content updates. Note that the video feed URL will remain static.

Graphical user interface, application

Description automatically generated
                                                      Edit a feed

Sometimes you might need to unpublish your content from a platform and for that, you can delete the feed by clicking on the delete icon here. When the device platform periodically hits ViewLift's API, the content will be deleted. 

Commonly asked questions

Q. Should I create a new feed every time to surface fresh content?
A. No, the same content feed is updated every 24 hours to surface the latest content published or updated.

Q.  Does submitting a feed in ViewLift automatically integrate my feed into Search ecosystems?
A. No, ViewLift only creates an XML file of contents with the specific tags and categories optimized for Search. To onboard your content feeds into external platforms, like Roku, for example, please follow Roku's process for implementing search.

Q. How can I get an output of all videos, bundles, and series objects in ViewLift CMS? 

A. You can do this yourself by creating an MRSS feed and downloading data from the feed created here. It will include all the metadata including the content GUID, Title, Description, Categories, Tags, Permalink, Rating, Additional Metadata, Cast and Crew, File Details, etc.

Q. What is the process to delete a video object?

A. You should unpublish the video first, and then rerun the feed. 

Q. Is the MRSS feed export file protected?

All feed URLs have a token appended to them. Additionally, the Feed management and such management features are restricted to only platform admins. Not all user roles can generate or view feeds.



Was this article helpful?