SPM
Site Recommendations is a personalized area of your site that may exist across any number of pages.
For each section, you will specify:
- A content feed and rules written in the Zephyr language to select and prepare content from the feed, for example, to filter by tag and request user-specific content recommendations.
- A template or JSON object name.
- If you choose to receive a JSON object of feed items, you can present the content using your own JavaScript code.
- If you want the system to render the HTML for the section, specify template code (using Zephyr, HTML, CSS, and/or JavaScript) along with the ID of the HTML div on your page where the content will be displayed.
- One or more optional section audiences, to vary the feed, rules, and/or template based on whether the viewer is part of a particular user list. Each audience is assigned a unique list, chosen from the lists in your account. If no audience is matched, default section parameters are used.
Users of my.sailthru.com can configure sections and their attributes through the site. As a developer, you can also do this using Site Personalization Manager’s block and section API endpoints.
block
Method | Description | Parameters | Response |
GET | Get all blocks’ data (excluding content) | required: none | Array of block objects:
[ { "id":<string>, "name":<string>, "type":<string>, "create_time":<string>, "create_user":<string>, "modify_time":<string>, "modify_user":<string> }, {...} ] |
GET | Get all data for a block | required: id: <string> | { "id":<string>, "name":<string>, "type":<string>, "content":<string>, "create_time":<string>, "create_user":<string>, "modify_time":<string>, "modify_user":<string> }204: if the block ID does not exist 404: if client ID does not exist or block ID is malformed |
POST | Create a block | required:
name: <string>
type: <string>
| 201 (created) 400/500 (on failure) |
PUT | Update a block | required:
id: <string>
optional :
name: <string>
type: <string>
| 204 (on success) 400/500 (on failure) |
DELETE | Delete a block | required: id: <string> |
section
Method | Description | Parameters | Response |
GET | Get the array of all sections’ data excluding audience data (list, feed, blocks) | required: none | { "id": , "name": , "create_time": , "create_user": , "modify_time": , "modify_user": } |
GET | Get all data for a section | required: id: <string> | { "id":, "name":, "audiences":[ { "list_id":, "feed_id":, "blocks":[ { "block_id": }, { <additional blocks> } ] }, { <additional audiences> } ], "create_time":, "create_user":, "modify_time":, "modify_user": } |
POST | Create a section | required: name: <string> audiences: <array> | 201 (created) 400/500 (on failure) |
PUT | Update a section | required: id: <string>optional : name: <string> audiences: <array> | 204 (on success) 400/500 (on failure) |
DELETE | Delete a section | required: id: <string> | 204 (on success; no content returned)
400/500 (on failure with error message(s) returned)
{ "errormsg": <messages> } |