class RecombeeApiClient::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*.

Attributes

cascade_create[R]
ensure_https[RW]
source_user_id[R]
target_user_id[R]
timeout[RW]

Public Class Methods

new(target_user_id, source_user_id, optional = {}) click to toggle source
  • *Required arguments*

    • target_user_id -> ID of the targer user.

    • source_user_id -> ID of the source user.

  • *Optional arguments (given as hash optional)*

    • cascadeCreate -> Sets whether the user targetUserId should be created if not present in the database.

# File lib/recombee_api_client/api/merge_users.rb, line 28
def initialize(target_user_id, source_user_id, optional = {})
  @target_user_id = target_user_id
  @source_user_id = source_user_id
  optional = normalize_optional(optional)
  @cascade_create = optional['cascadeCreate']
  @optional = optional
  @timeout = 10000
  @ensure_https = false
  @optional.each do |par, _|
    fail UnknownOptionalParameter.new(par) unless ["cascadeCreate"].include? par
  end
end

Public Instance Methods

body_parameters() click to toggle source

Values of body parameters as a Hash

# File lib/recombee_api_client/api/merge_users.rb, line 47
def body_parameters
  p = Hash.new
  p
end
method() click to toggle source

HTTP method

# File lib/recombee_api_client/api/merge_users.rb, line 42
def method
  :put
end
path() click to toggle source

Relative path to the endpoint

# File lib/recombee_api_client/api/merge_users.rb, line 61
def path
  "/{databaseId}/users/#{@target_user_id}/merge/#{@source_user_id}"
end
query_parameters() click to toggle source

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

# File lib/recombee_api_client/api/merge_users.rb, line 54
def query_parameters
  params = {}
  params['cascadeCreate'] = @optional['cascadeCreate'] if @optional['cascadeCreate']
  params
end