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 the next page.

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

- [Recommend Items to Item](https://docs.recombee.com/api#recommend-items-to-item)
- [Recommend Items to User](https://docs.recombee.com/api#recommend-items-to-user)
- [Recommend Items to Item Segment](https://docs.recombee.com/api#recommend-items-to-item-segment)
- [Search Items](https://docs.recombee.com/api#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



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

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.



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

def count
  @count
end

#ensure_httpsObject

Returns the value of attribute ensure_https.



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

def ensure_https
  @ensure_https
end

#recomm_idObject (readonly)

Returns the value of attribute recomm_id.



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

def recomm_id
  @recomm_id
end

#timeoutObject

Returns the value of attribute timeout.



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

def timeout
  @timeout
end

Instance Method Details

#body_parametersObject

Values of body parameters as a Hash



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

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

#methodObject

HTTP method



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

def method
  :post
end

#pathObject

Relative path to the endpoint



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

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



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

def query_parameters
  params = {}
  params
end