Class: RecombeeApiClient::RecommendNextItems

Inherits:
ApiRequest
  • Object
show all
Defined in:
lib/recombee_api_client/api/recommend_next_items.rb

Overview

Returns items that shall be shown to a user as next recommendations when the user e.g. scrolls the page down (*infinite scroll*) or goes to a next page.

It accepts ‘recommId` of a base recommendation request (e.g. request from the first page) and number of items that shall be returned (`count`). The base request can be one of:

- [Recommend items to item](https://docs.recombee.com/api.html#recommend-items-to-item)
- [Recommend items to user](https://docs.recombee.com/api.html#recommend-items-to-user)
- [Search items](https://docs.recombee.com/api.html#search-items)

All the other parameters are inherited from the base request.

*Recommend next items* can be called many times for a single ‘recommId` and each call returns different (previously not recommended) items. The number of *Recommend next items* calls performed so far is returned in the `numberNextRecommsCalls` field.

*Recommend next items* can be requested up to 30 minutes after the base request or a previous *Recommend next items* call.

For billing purposes, each call to *Recommend next items* is counted as a separate recommendation request.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from HashNormalizer

#camelize, #normalize_optional

Constructor Details

#initialize(recomm_id, count) ⇒ RecommendNextItems

  • *Required arguments*

    • recomm_id -> ID of the base recommendation request for which next recommendations should be returned

    • count -> Number of items to be recommended



38
39
40
41
42
43
# File 'lib/recombee_api_client/api/recommend_next_items.rb', line 38

def initialize(recomm_id, count)
  @recomm_id = recomm_id
  @count = count
  @timeout = 3000
  @ensure_https = false
end

Instance Attribute Details

#countObject (readonly)

Returns the value of attribute count.



28
29
30
# File 'lib/recombee_api_client/api/recommend_next_items.rb', line 28

def count
  @count
end

#ensure_httpsObject

Returns the value of attribute ensure_https.



30
31
32
# File 'lib/recombee_api_client/api/recommend_next_items.rb', line 30

def ensure_https
  @ensure_https
end

#recomm_idObject (readonly)

Returns the value of attribute recomm_id.



28
29
30
# File 'lib/recombee_api_client/api/recommend_next_items.rb', line 28

def recomm_id
  @recomm_id
end

#timeoutObject

Returns the value of attribute timeout.



29
30
31
# File 'lib/recombee_api_client/api/recommend_next_items.rb', line 29

def timeout
  @timeout
end

Instance Method Details

#body_parametersObject

Values of body parameters as a Hash



51
52
53
54
55
# File 'lib/recombee_api_client/api/recommend_next_items.rb', line 51

def body_parameters
  p = Hash.new
  p['count'] = @count
  p
end

#methodObject

HTTP method



46
47
48
# File 'lib/recombee_api_client/api/recommend_next_items.rb', line 46

def method
  :post
end

#pathObject

Relative path to the endpoint



65
66
67
# File 'lib/recombee_api_client/api/recommend_next_items.rb', line 65

def path
  "/{databaseId}/recomms/next/items/#{@recomm_id}"
end

#query_parametersObject

Values of query parameters as a Hash. name of parameter => value of the parameter



59
60
61
62
# File 'lib/recombee_api_client/api/recommend_next_items.rb', line 59

def query_parameters
  params = {}
  params
end