In this article, we’ll run through how our clients can generate public web feeds for displaying their content held on Reward Gateway elsewhere.
What is a Feed?
On the World Wide Web, a web feed (or news feed) is a data format used for providing people with frequently updated content. Content distributors syndicate a web feed, thereby allowing users to subscribe a channel to it.
Making a collection of web feeds accessible in one spot is known as aggregation, which is performed by a news aggregator. A web feed is also sometimes referred to as a syndicated feed.
What types of Feeds do Reward Gateway support?
Reward Gateway supports the set up the following types of feeds:
-
RSS
-
Atom
-
JSON
How do clients enable a feed for their content?
To enable a feed, log into Reward Manager, go to the Integration Dashboard and search for one of the feed types mentioned above (RSS, Atom or JSON) under the “Explore Integrations” tab.
Select the integration and turn it “On” using the toggle button in the top right-hand side.
Give the Feed a name
The name a client gives to their feed might be displayed publicly on certain web feed readers, so they should be sure to set up a meaningful name.
Select their Content
Now clients can select the content they want their feed to display. Reward Gateway currently supports creating two types of web feeds.
-
A web feed of the Social Recognition Wall -> displaying social recognition moments
-
A web feed of the Blog Content -> showing company news/ updates etc
Select the Refresh Rate
This defines how often clients would like Reward Gateway to refresh the content on the feed. Clients can choose between 5-30 mins or to never refresh the data.
Where can the feed created be found?
Once the feed has been set up, clients will be displayed a public url on the top of their integration page. This is ready to be used.
How can clients secure their feed?
Feed content is meant to be public. However, we understand that clients might want to keep this secure and secret. Therefore, once the feed is created it is given a unique token which no one will know publically.
Clients can choose to change this token routinely by selecting the re-generate security token option on screen. Please note this will also change your public feed url.
There is also rate-limiting on these urls preventing anyone from trying to scrape information from it.
What are the benefits of creating a feed for my content?
All of the supported feed formats by Reward Gateway are web standards and are widely used on the internet. Feeds can be setup so our clients can get all of their information in one place using feed readers (i.e. Feedly.com) and are automatically updating proving invaluable for the reader.
Feeds can also be used to show the content of your program on a clients intranet platform for example. If their intranet supports reading RSS for example, they can display their Social Recognition wall for their company to see publically on the intranet to boost visibility.
Here are a few other places where a feed can be displayed:
-
Web Feed Readers (Feedly.com, Feed.co etc)
-
Feed Readers on Browser (Browser extensions to read feed content)
-
Embed feeds on any public web site (Intranets)
-
TVs (Most Smart TVs support reading feed content directly)
FAQs
When do the cached headers expire? - After 900 seconds.
Are they cached locally? - Caching data should be the responsibility of the user of the integration, if you try to fetch a feed before the cache expires we return a “too many requests” error response. Reward Gateway does not cache the feed responses.
Do we allow clients to use the If-Modified-Since header in their requests to our RSS feed? - We don’t make use of the If-Modified-Since header as we cannot cache the feed of every single client.
Does the Refresh Rate in Reward Manager stop clients from trying to fetch the data more frequently? - No. The refresh rate is just to tell the reader of the feed to refresh automatically after some time. We have set in place a counter of how frequently the feed was fetched if you fetch it more than once in the span of 5 minutes we return a “too many requests” error response.
Are the cached headers a new feature? -Yes, introduced on the 3rd of October 2022, rate limit was also introduced at this time.
Sharing into SharePoint
Once a feed URL is accessed, we block any further traffic to this URL for the next 5 minutes. If anyone else tries to access it, our system will send the 429 error code and some feed readers may not show anything.
RSS feed readers should respect our system's response headers and include If-None-Match: **** header in their requests with the value of the last eTag header returned from our system.
For example:
- The client sends a request to their feed URL.
- Our system returns their feed alongside a ETag: "abc" response header.
3. Clients can try requesting their feed again by including If-None-Match: "abc" header in their request. ( "abc" is just an example value.)
4. Our system will respond with the new content (if there are any updates) or it will return 304 response code when the content is not modified. If content is not modified, this has to be handled by the RSS feed reader and display the same content from the previous request.
If clients do not include this If-None-Match header in their request, our system can block their request for the next 5 minutes and they won't be able to get their feed content.
Here's an article from Microsoft about the If-None-Match header
Here's an example of what the ETag looks like:
When it's SharePoint, we're usually sending this article, a lot of our clients have found it useful
https://sharepoint.handsontek.net/2020/11/01/create-rss-feed-using-sharepoint-news/
Comments
0 comments
Please sign in to leave a comment.