n-recommendations-client
This client provides client-side and server-side interfaces for calling the Recommendations API.
If you are putting recommendations onto a highly-cached page, you should not use the server-side version.
Within the app calling this library, you will need to provide a RECOMMENDATIONS_API_KEY
environmental variable. Contact the myFT team to get a key.
Install
$ npm install --save n-recommendations-client
Usage
Using the Next-API
If you want recommendations with their data expanded beyond content ID and title, you should use the Next API. For this call, use the user ID instead of the session token. Next API will check the session token matches the user ID.
tbc
Server-side Implementation
const recommendationsClient = ; recommedationsClient
Client-side Implementation
First set up a route in your application to act as a proxy. We do this so that we don't expose keys in our client-side XMLHttpRequest calls.
// in app.js or similarconst recommendationsClient = ; // :type is importantapp;
Then set up your call like so:
//articles data is in result.recommendations.articles ;
You don't have to use fetchres, but you will need something to read the body data into JSON.
You can then hit your endpoint e.g. /your/proxy/behavioural/someuuid?count=5
.
The request should have either a header called ft-s-session
or a cookie called FTSession_s
containing the user's secure session token.
Options
Options all have defaults but can be
- count: n (how many articles to get back)
- recency: n (how many days back to cover)
- sort: rel|pop|date
- contentid: somecontentid (option to add in article ID as an extra filter for results)