Class: RecombeeApiClient::SetViewPortion
- Inherits:
-
ApiRequest
- Object
- ApiRequest
- RecombeeApiClient::SetViewPortion
- Defined in:
- lib/recombee_api_client/api/set_view_portion.rb
Overview
Sets viewed portion of an item (for example a video or article) by a user (at a session). If you send a new request with the same (userId, itemId, sessionId), the portion gets updated.
Instance Attribute Summary collapse
-
#additional_data ⇒ Object
readonly
Returns the value of attribute additional_data.
-
#auto_presented ⇒ Object
readonly
Returns the value of attribute auto_presented.
-
#cascade_create ⇒ Object
readonly
Returns the value of attribute cascade_create.
-
#ensure_https ⇒ Object
Returns the value of attribute ensure_https.
-
#item_id ⇒ Object
readonly
Returns the value of attribute item_id.
-
#portion ⇒ Object
readonly
Returns the value of attribute portion.
-
#recomm_id ⇒ Object
readonly
Returns the value of attribute recomm_id.
-
#session_id ⇒ Object
readonly
Returns the value of attribute session_id.
-
#time_spent ⇒ Object
readonly
Returns the value of attribute time_spent.
-
#timeout ⇒ Object
Returns the value of attribute timeout.
-
#timestamp ⇒ Object
readonly
Returns the value of attribute timestamp.
-
#user_id ⇒ Object
readonly
Returns the value of attribute user_id.
Instance Method Summary collapse
-
#body_parameters ⇒ Object
Values of body parameters as a Hash.
-
#initialize(user_id, item_id, portion, optional = {}) ⇒ SetViewPortion
constructor
-
*Required arguments* -
user_id-> User who viewed a portion of the item -item_id-> Viewed item -portion-> Viewed portion of the item (number between 0.0 (viewed nothing) and 1.0 (viewed full item) ).
-
-
#method ⇒ Object
HTTP method.
-
#path ⇒ Object
Relative path to the endpoint.
-
#query_parameters ⇒ Object
Values of query parameters as a Hash.
Methods included from HashNormalizer
#camelize, #normalize_hash_to_camel_case
Constructor Details
#initialize(user_id, item_id, portion, optional = {}) ⇒ SetViewPortion
-
*Required arguments*
-
user_id-> User who viewed a portion of the item -
item_id-> Viewed item -
portion-> Viewed portion of the item (number between 0.0 (viewed nothing) and 1.0 (viewed full item) ). It should be the actual viewed part of the item, no matter the seeking. For example, if the user seeked immediately to half of the item and then viewed 10% of the item, theportionshould still be0.1.
-
-
*Optional arguments (given as hash optional)*
-
sessionId-> ID of the session in which the user viewed the item. Default isnull(None,nil,NULLetc., depending on the language). -
timestamp-> UTC timestamp of the view portion as ISO8601-1 pattern or UTC epoch time. The default value is the current time. -
cascadeCreate-> Sets whether the given user/item should be created if not present in the database. -
recommId-> If this view portion is based on a recommendation request,recommIdis the id of the clicked recommendation. -
additionalData-> A dictionary of additional data for the interaction. -
autoPresented-> Indicates whether the item was automatically presented to the user (e.g., in a swiping feed) or explicitly requested by the user (e.g., by clicking on a link). Defaults tofalse. -
timeSpent-> The duration (in seconds) that the user viewed the item. In update requests, this value may only increase and is required only if it has changed.
-
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/recombee_api_client/api/set_view_portion.rb', line 33 def initialize(user_id, item_id, portion, optional = {}) @user_id = user_id @item_id = item_id @portion = portion optional = normalize_hash_to_camel_case(optional) @session_id = optional['sessionId'] @timestamp = optional['timestamp'] @cascade_create = optional['cascadeCreate'] @recomm_id = optional['recommId'] @additional_data = optional['additionalData'] @auto_presented = optional['autoPresented'] @time_spent = optional['timeSpent'] @optional = optional @timeout = 3000 @ensure_https = false @optional.each do |par, _| raise UnknownOptionalParameter.new(par) unless %w[sessionId timestamp cascadeCreate recommId additionalData autoPresented timeSpent].include? par end end |
Instance Attribute Details
#additional_data ⇒ Object (readonly)
Returns the value of attribute additional_data.
14 15 16 |
# File 'lib/recombee_api_client/api/set_view_portion.rb', line 14 def additional_data @additional_data end |
#auto_presented ⇒ Object (readonly)
Returns the value of attribute auto_presented.
14 15 16 |
# File 'lib/recombee_api_client/api/set_view_portion.rb', line 14 def auto_presented @auto_presented end |
#cascade_create ⇒ Object (readonly)
Returns the value of attribute cascade_create.
14 15 16 |
# File 'lib/recombee_api_client/api/set_view_portion.rb', line 14 def cascade_create @cascade_create end |
#ensure_https ⇒ Object
Returns the value of attribute ensure_https.
16 17 18 |
# File 'lib/recombee_api_client/api/set_view_portion.rb', line 16 def ensure_https @ensure_https end |
#item_id ⇒ Object (readonly)
Returns the value of attribute item_id.
14 15 16 |
# File 'lib/recombee_api_client/api/set_view_portion.rb', line 14 def item_id @item_id end |
#portion ⇒ Object (readonly)
Returns the value of attribute portion.
14 15 16 |
# File 'lib/recombee_api_client/api/set_view_portion.rb', line 14 def portion @portion end |
#recomm_id ⇒ Object (readonly)
Returns the value of attribute recomm_id.
14 15 16 |
# File 'lib/recombee_api_client/api/set_view_portion.rb', line 14 def recomm_id @recomm_id end |
#session_id ⇒ Object (readonly)
Returns the value of attribute session_id.
14 15 16 |
# File 'lib/recombee_api_client/api/set_view_portion.rb', line 14 def session_id @session_id end |
#time_spent ⇒ Object (readonly)
Returns the value of attribute time_spent.
14 15 16 |
# File 'lib/recombee_api_client/api/set_view_portion.rb', line 14 def time_spent @time_spent end |
#timeout ⇒ Object
Returns the value of attribute timeout.
16 17 18 |
# File 'lib/recombee_api_client/api/set_view_portion.rb', line 16 def timeout @timeout end |
#timestamp ⇒ Object (readonly)
Returns the value of attribute timestamp.
14 15 16 |
# File 'lib/recombee_api_client/api/set_view_portion.rb', line 14 def @timestamp end |
#user_id ⇒ Object (readonly)
Returns the value of attribute user_id.
14 15 16 |
# File 'lib/recombee_api_client/api/set_view_portion.rb', line 14 def user_id @user_id end |
Instance Method Details
#body_parameters ⇒ Object
Values of body parameters as a Hash
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/recombee_api_client/api/set_view_portion.rb', line 60 def body_parameters p = {} p['userId'] = @user_id p['itemId'] = @item_id p['portion'] = @portion p['sessionId'] = @optional['sessionId'] if @optional.include? 'sessionId' p['timestamp'] = @optional['timestamp'] if @optional.include? 'timestamp' p['cascadeCreate'] = @optional['cascadeCreate'] if @optional.include? 'cascadeCreate' p['recommId'] = @optional['recommId'] if @optional.include? 'recommId' p['additionalData'] = @optional['additionalData'] if @optional.include? 'additionalData' p['autoPresented'] = @optional['autoPresented'] if @optional.include? 'autoPresented' p['timeSpent'] = @optional['timeSpent'] if @optional.include? 'timeSpent' p end |
#method ⇒ Object
HTTP method
55 56 57 |
# File 'lib/recombee_api_client/api/set_view_portion.rb', line 55 def method :post end |
#path ⇒ Object
Relative path to the endpoint
83 84 85 |
# File 'lib/recombee_api_client/api/set_view_portion.rb', line 83 def path '/{databaseId}/viewportions/' end |
#query_parameters ⇒ Object
Values of query parameters as a Hash. name of parameter => value of the parameter
78 79 80 |
# File 'lib/recombee_api_client/api/set_view_portion.rb', line 78 def query_parameters {} end |