Classes, interfaces and traits

Client

Client for easy usage of Recombee recommendation API

« More »

Classes, interfaces and traits

AddBookmark

Adds a bookmark of a given item made by a given user.

« More »

AddCartAddition

Adds a cart addition of a given item made by a given user.

« More »

AddDetailView

Adds a detail view of a given item made by a given user.

« More »

AddGroup

Creates new group in the database.

« More »

AddItem

Adds new item of given `itemId` to the items catalog.

All the item properties for the newly created items are set null.

« More »

AddItemProperty

Adding an item property is somehow equivalent to adding a column to the table of items. The items may be characterized by various properties of different types.

« More »

AddPurchase

Adds a purchase of a given item made by a given user.

« More »

AddRating

Adds a rating of given item made by a given user.

« More »

AddSeries

Creates new series in the database.

« More »

AddUser

Adds a new user to the database.

« More »

AddUserProperty

Adding an user property is somehow equivalent to adding a column to the table of users. The users may be characterized by various properties of different types.

« More »

Batch

In many cases, it may be desirable to execute multiple requests at once. For example, when synchronizing the catalog of items in a periodical manner, you would have to execute a sequence of thousands of separate POST requests, which is very ineffective and may take a very long time to complete. Most notably, network latencies can make execution of such a sequence very slow and even if executed in multiple parallel threads, there will still be unreasonable overhead caused by the HTTP(s). To avoid the problems mentioned, batch processing may be used, encapsulating a sequence of requests into a single HTTP request.

Batch processing allows you to submit arbitrary sequence of requests in form of JSON array. Any type of request from the above documentation may be used in the batch, and the batch may combine different types of requests arbitrarily as well. Note that:

  • executing the requests in a batch is equivalent as if they were executed one-by-one individually; there are, however, many optimizations to make batch execution as fast as possible,
  • the status code of the batch request itself is 200 even if the individual requests result in error – you have to inspect the code values in the resulting array,
  • if the status code of the whole batch is not 200, then there is an error in the batch request itself; in such a case, the error message returned should help you to resolve the problem,
« More »

DeleteBookmark

Deletes a bookmark uniquely specified by `userId`, `itemId`, and `timestamp` or all the bookmarks with given `userId` and `itemId` if `timestamp` is omitted.

« More »

DeleteCartAddition

Deletes an existing cart addition uniquely specified by `userId`, `itemId`, and `timestamp` or all the cart additions with given `userId` and `itemId` if `timestamp` is omitted.

« More »

DeleteDetailView

Deletes an existing detail view uniquely specified by (`userId`, `itemId`, and `timestamp`) or all the detail views with given `userId` and `itemId` if `timestamp` is omitted.

« More »

DeleteGroup

Deletes the group of given `groupId` from the database.

Deleting a group will only delete assignment of items to it, not the items themselves!

« More »

DeleteItem

Deletes an item of given `itemId` from the catalog.

If there are any purchases, ratings, bookmarks, cart additions or detail views of the item present in the database, they will be deleted in cascade as well. Also, if the item is present in some series, it will be removed from all the series where present. If an item becomes obsolete/no longer available, it is often meaningful to keep it in the catalog (along with all the interaction data, which are very useful), and only exclude the item from recommendations. In such a case, use ReQL filter instead of deleting the item completely.

« More »

DeleteItemProperty

Deleting an item property is roughly equivalent to removing a column from the table of items.

« More »

DeletePurchase

Deletes an existing purchase uniquely specified by `userId`, `itemId`, and `timestamp` or all the purchases with given `userId` and `itemId` if `timestamp` is omitted.

« More »

DeleteRating

Deletes an existing rating specified by (`userId`, `itemId`, `timestamp`) from the database or all the ratings with given `userId` and `itemId` if `timestamp` is omitted.

« More »

DeleteSeries

Deletes the series of given `seriesId` from the database.

Deleting a series will only delete assignment of items to it, not the items themselves!

« More »

DeleteUser

Deletes a user of given *userId* from the database.

If there are any purchases, ratings, bookmarks, cart additions or detail views made by the user present in the database, they will be deleted in cascade as well.

« More »

DeleteUserProperty

Deleting an user property is roughly equivalent to removing a column from the table of users.

« More »

DeleteViewPortion

Deletes an existing view portion specified by (`userId`, `itemId`, `sessionId`) from the database.

« More »

GetItemPropertyInfo

Gets information about specified item property.

« More »

GetItemValues

Get all the current property values of a given item.

« More »

GetUserPropertyInfo

Gets information about specified user property.

« More »

GetUserValues

Get all the current property values of a given user.

« More »

InsertToGroup

Inserts an existing item/group into group of given `groupId`.

« More »

InsertToSeries

Inserts an existing item/series into series of given seriesId at position determined by time.

« More »

ItemBasedRecommendation

Recommends set of items that are somehow related to one given item, *X*. Typical scenario for using item-based recommendation is when user *A* is viewing *X*. Then you may display items to the user that he might be also interested in. Item-recommendation request gives you Top-N such items, optionally taking the target user *A* into account.

It is also possible to use POST HTTP method (for example in case of very long ReQL filter) - query parameters then become body parameters.

« More »

ListGroupItems

List all the items present in the given group.

« More »

ListGroups

Gets the list of all the groups currently present in the database.

« More »

ListItemBookmarks

List all the ever-made bookmarks of a given item.

« More »

ListItemCartAdditions

List all the ever-made cart addition of a given item.

« More »

ListItemDetailViews

List all the detail views of a given item ever made by different users.

« More »

ListItemProperties

Gets the list of all the item properties in your database.

« More »

ListItemPurchases

List all the ever-made purchases of a given item.

« More »

ListItemRatings

List all the ratings of an item ever submitted by different users.

« More »

ListItems

Gets a list of IDs of items currently present in the catalog.

« More »

ListItemViewPortions

List all the view portions of an item ever submitted by different users.

« More »

ListSeries

Gets the list of all the series currently present in the database.

« More »

ListSeriesItems

List all the items present in the given series, sorted according to their time index values.

« More »

ListUserBookmarks

List all the bookmarks ever made by a given user.

« More »

ListUserCartAdditions

List all the cart additions ever made by a given user.

« More »

ListUserDetailViews

Lists all the detail views of different items ever made by a given user.

« More »

ListUserProperties

Gets the list of all the user properties in your database.

« More »

ListUserPurchases

List all the purchases ever made by a given user.

« More »

ListUserRatings

List all the ratings ever submitted by a given user.

« More »

ListUsers

Gets a list of IDs of users currently present in the catalog.

« More »

ListUserViewPortions

List all the view portions ever submitted by a given user.

« More »

MergeUsers

Merges interactions (purchases, ratings, bookmarks, detail views .

..) of two different users under a single user ID. This is especially useful for online e-commerce applications working with anonymous users identified by unique tokens such as the session ID. In such applications, it may often happen that a user owns a persistent account, yet accesses the system anonymously while, e.g., putting items into a shopping cart. At some point in time, such as when the user wishes to confirm the purchase, (s)he logs into the system using his/her username and password. The interactions made under anonymous session ID then become connected with the persistent account, and merging these two together becomes desirable. Merging happens between two users referred to as the target and the source. After the merge, all the interactions of the source user are attributed to the target user, and the source user is deleted.

« More »

RecommendItemsToItem

Recommends set of items that are somehow related to one given item, *X*. Typical scenario is when user *A* is viewing *X*. Then you may display items to the user that he might be also interested in. Recommend items to item request gives you Top-N such items, optionally taking the target user *A* into account.

It is also possible to use POST HTTP method (for example in case of very long ReQL filter) - query parameters then become body parameters.

« More »

RecommendItemsToUser

Based on user's past interactions (purchases, ratings, etc.) with the items, recommends top-N items that are most likely to be of high value for a given user.

It is also possible to use POST HTTP method (for example in case of very long ReQL filter) - query parameters then become body parameters.

« More »

RecommendUsersToItem

Recommend users that are likely to be interested in a given item.

It is also possible to use POST HTTP method (for example in case of very long ReQL filter) - query parameters then become body parameters.

« More »

RecommendUsersToUser

Get similar users as some given user, based on the user's past interactions (purchases, ratings, etc.) and values of properties.

It is also possible to use POST HTTP method (for example in case of very long ReQL filter) - query parameters then become body parameters.

« More »

RemoveFromGroup

Removes an existing group item from the group.

« More »

RemoveFromSeries

Removes an existing series item from the series.

« More »

Request

Base class for all the requests

« More »

ResetDatabase

Completely erases all your data, including items, item properties, series, user database, purchases, ratings, detail views, and bookmarks. Make sure the request to be never executed in production environment! Resetting your database is irreversible.

« More »

SetItemValues

Set/update (some) property values of a given item. The properties (columns) must be previously created by [Add item property](https://docs.recombee.com/api.html#add-item-property).

« More »

SetUserValues

Set/update (some) property values of a given user. The properties (columns) must be previously created by [Add user property](https://docs.recombee.com/api.html#add-user-property).

« More »

SetValues

Set/update (some) property values of an entity.

« More »

SetViewPortion

Sets viewed portion of an item (for example a video or article) by a user (at a session).

If you send new request with the same (userId, itemId, sessionId), the portion gets updated.

« More »

UserBasedRecommendation

Based on user's past interactions (purchases, ratings, etc.) with the items, recommends top-N items that are most likely to be of high value for a given user.

It is also possible to use POST HTTP method (for example in case of very long ReQL filter) - query parameters then become body parameters.

« More »

Classes, interfaces and traits

Util

Utils

« More »

Classes, interfaces and traits

ApiException

Base class for exceptions that occur because of errors in requests reported by API or because of a timeout

« More »

ApiTimeoutException

Exception thrown when a request is not processed within the timeout

« More »

ResponseException

Exception thrown when a request do not succeed (did not return 200 or 201)

« More »

UnknownOptionalParameterException

Exception thrown when a non-supported optional parameter is given to a request

« More »