recombee_api_client 2.1.0 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 67a55a5aad6cdef70d224b317e7487b91df21ebd
4
- data.tar.gz: 1178066744ec92b39a3660e854ce709b4d431be6
3
+ metadata.gz: 891734600f45e2e25c9a44617f0e2ce033b6e90c
4
+ data.tar.gz: 6aca79bfa8720f2187f14ec117a60b02a4e18995
5
5
  SHA512:
6
- metadata.gz: 5a06bfcbbb78f7b94231f542673be408222d25bd8eb1f22de6ccfedb9d1ce43cd7912621268d8799700221fe3bb3868db41f67157cfa0d79437a37800c46cc08
7
- data.tar.gz: d4ccb9bd5fd18ad5279b09380fc447220e517b60783eace5e78c42df031c7b5a926820c1e9304fd4d2751f345b75b790393a0ecc5eb0f1b14a8095e5dc096656
6
+ metadata.gz: bc1533bd22417f9ddb1fae6ce533e623854d425b966a72d98f2d994796c3aa909e73ef1a3a5cebb92cabd2397f2e7477f2c09765b8e1dfa498a0e9256da9cd73
7
+ data.tar.gz: 5a8c325f7bce984ac02e397d9a16dfd21b132178ec836e7dddd509f7ef242c86cc61dc7b5fdabe06239f36e0813682e102d3cd92279e88dd8bd8fb6424799cea
@@ -18,7 +18,7 @@ module RecombeeApiClient
18
18
  include HTTParty
19
19
 
20
20
  BATCH_MAX_SIZE = 10000
21
- USER_AGENT = {'User-Agent' => 'recombee-ruby-api-client/2.1.0'}
21
+ USER_AGENT = {'User-Agent' => 'recombee-ruby-api-client/2.2.0'}
22
22
 
23
23
  ##
24
24
  # - +account+ -> Name of your account at Recombee
@@ -10,7 +10,7 @@ module RecombeeApiClient
10
10
  #Adds a bookmark of a given item made by a given user.
11
11
  #
12
12
  class AddBookmark < ApiRequest
13
- attr_reader :user_id, :item_id, :timestamp, :cascade_create
13
+ attr_reader :user_id, :item_id, :timestamp, :cascade_create, :recomm_id
14
14
  attr_accessor :timeout
15
15
  attr_accessor :ensure_https
16
16
 
@@ -22,6 +22,7 @@ module RecombeeApiClient
22
22
  # * *Optional arguments (given as hash optional)*
23
23
  # - +timestamp+ -> UTC timestamp of the bookmark as ISO8601-1 pattern or UTC epoch time. The default value is the current time.
24
24
  # - +cascadeCreate+ -> Sets whether the given user/item should be created if not present in the database.
25
+ # - +recommId+ -> If this bookmark is based on a recommendation request, `recommId` is the id of the clicked recommendation.
25
26
  #
26
27
  def initialize(user_id, item_id, optional = {})
27
28
  @user_id = user_id
@@ -29,11 +30,12 @@ module RecombeeApiClient
29
30
  optional = normalize_optional(optional)
30
31
  @timestamp = optional['timestamp']
31
32
  @cascade_create = optional['cascadeCreate']
33
+ @recomm_id = optional['recommId']
32
34
  @optional = optional
33
35
  @timeout = 1000
34
36
  @ensure_https = false
35
37
  @optional.each do |par, _|
36
- fail UnknownOptionalParameter.new(par) unless ["timestamp","cascadeCreate"].include? par
38
+ fail UnknownOptionalParameter.new(par) unless ["timestamp","cascadeCreate","recommId"].include? par
37
39
  end
38
40
  end
39
41
 
@@ -49,6 +51,7 @@ module RecombeeApiClient
49
51
  p['itemId'] = @item_id
50
52
  p['timestamp'] = @optional['timestamp'] if @optional.include? 'timestamp'
51
53
  p['cascadeCreate'] = @optional['cascadeCreate'] if @optional.include? 'cascadeCreate'
54
+ p['recommId'] = @optional['recommId'] if @optional.include? 'recommId'
52
55
  p
53
56
  end
54
57
 
@@ -10,7 +10,7 @@ module RecombeeApiClient
10
10
  #Adds a cart addition of a given item made by a given user.
11
11
  #
12
12
  class AddCartAddition < ApiRequest
13
- attr_reader :user_id, :item_id, :timestamp, :cascade_create, :amount, :price
13
+ attr_reader :user_id, :item_id, :timestamp, :cascade_create, :amount, :price, :recomm_id
14
14
  attr_accessor :timeout
15
15
  attr_accessor :ensure_https
16
16
 
@@ -24,6 +24,7 @@ module RecombeeApiClient
24
24
  # - +cascadeCreate+ -> Sets whether the given user/item should be created if not present in the database.
25
25
  # - +amount+ -> Amount (number) added to cart. The default is 1. For example if `user-x` adds two `item-y` during a single order (session...), the `amount` should equal to 2.
26
26
  # - +price+ -> Price of the added item. If `amount` is greater than 1, sum of prices of all the items should be given.
27
+ # - +recommId+ -> If this cart addition is based on a recommendation request, `recommId` is the id of the clicked recommendation.
27
28
  #
28
29
  def initialize(user_id, item_id, optional = {})
29
30
  @user_id = user_id
@@ -33,11 +34,12 @@ module RecombeeApiClient
33
34
  @cascade_create = optional['cascadeCreate']
34
35
  @amount = optional['amount']
35
36
  @price = optional['price']
37
+ @recomm_id = optional['recommId']
36
38
  @optional = optional
37
39
  @timeout = 1000
38
40
  @ensure_https = false
39
41
  @optional.each do |par, _|
40
- fail UnknownOptionalParameter.new(par) unless ["timestamp","cascadeCreate","amount","price"].include? par
42
+ fail UnknownOptionalParameter.new(par) unless ["timestamp","cascadeCreate","amount","price","recommId"].include? par
41
43
  end
42
44
  end
43
45
 
@@ -55,6 +57,7 @@ module RecombeeApiClient
55
57
  p['cascadeCreate'] = @optional['cascadeCreate'] if @optional.include? 'cascadeCreate'
56
58
  p['amount'] = @optional['amount'] if @optional.include? 'amount'
57
59
  p['price'] = @optional['price'] if @optional.include? 'price'
60
+ p['recommId'] = @optional['recommId'] if @optional.include? 'recommId'
58
61
  p
59
62
  end
60
63
 
@@ -10,7 +10,7 @@ module RecombeeApiClient
10
10
  #Adds a detail view of a given item made by a given user.
11
11
  #
12
12
  class AddDetailView < ApiRequest
13
- attr_reader :user_id, :item_id, :timestamp, :duration, :cascade_create
13
+ attr_reader :user_id, :item_id, :timestamp, :duration, :cascade_create, :recomm_id
14
14
  attr_accessor :timeout
15
15
  attr_accessor :ensure_https
16
16
 
@@ -23,6 +23,7 @@ module RecombeeApiClient
23
23
  # - +timestamp+ -> UTC timestamp of the view as ISO8601-1 pattern or UTC epoch time. The default value is the current time.
24
24
  # - +duration+ -> Duration of the view
25
25
  # - +cascadeCreate+ -> Sets whether the given user/item should be created if not present in the database.
26
+ # - +recommId+ -> If this detail view is based on a recommendation request, `recommId` is the id of the clicked recommendation.
26
27
  #
27
28
  def initialize(user_id, item_id, optional = {})
28
29
  @user_id = user_id
@@ -31,11 +32,12 @@ module RecombeeApiClient
31
32
  @timestamp = optional['timestamp']
32
33
  @duration = optional['duration']
33
34
  @cascade_create = optional['cascadeCreate']
35
+ @recomm_id = optional['recommId']
34
36
  @optional = optional
35
37
  @timeout = 1000
36
38
  @ensure_https = false
37
39
  @optional.each do |par, _|
38
- fail UnknownOptionalParameter.new(par) unless ["timestamp","duration","cascadeCreate"].include? par
40
+ fail UnknownOptionalParameter.new(par) unless ["timestamp","duration","cascadeCreate","recommId"].include? par
39
41
  end
40
42
  end
41
43
 
@@ -52,6 +54,7 @@ module RecombeeApiClient
52
54
  p['timestamp'] = @optional['timestamp'] if @optional.include? 'timestamp'
53
55
  p['duration'] = @optional['duration'] if @optional.include? 'duration'
54
56
  p['cascadeCreate'] = @optional['cascadeCreate'] if @optional.include? 'cascadeCreate'
57
+ p['recommId'] = @optional['recommId'] if @optional.include? 'recommId'
55
58
  p
56
59
  end
57
60
 
@@ -20,6 +20,22 @@ module RecombeeApiClient
20
20
  #
21
21
  # - +type+ -> Value type of the item property to be created. One of: `int`, `double`, `string`, `boolean`, `timestamp`, `set`, `image` or `imageList`.
22
22
  #
23
+ #* `int`- Signed integer number.
24
+ #
25
+ #* `double` - Floating point number. It uses 64-bit base-2 format (IEEE 754 standard).
26
+ #
27
+ #* `string` - UTF-8 string.
28
+ #
29
+ #* `boolean` - *true* / *false*
30
+ #
31
+ #* `timestamp` - Value representing date and time.
32
+ #
33
+ #* `set` - Set of strings.
34
+ #
35
+ #* `image` - URL of an image (`jpeg`, `png` or `gif`).
36
+ #
37
+ #* `imageList` - List of URLs that refer to images.
38
+ #
23
39
  #
24
40
  def initialize(property_name, type)
25
41
  @property_name = property_name
@@ -10,7 +10,7 @@ module RecombeeApiClient
10
10
  #Adds a purchase of a given item made by a given user.
11
11
  #
12
12
  class AddPurchase < ApiRequest
13
- attr_reader :user_id, :item_id, :timestamp, :cascade_create, :amount, :price, :profit
13
+ attr_reader :user_id, :item_id, :timestamp, :cascade_create, :amount, :price, :profit, :recomm_id
14
14
  attr_accessor :timeout
15
15
  attr_accessor :ensure_https
16
16
 
@@ -25,6 +25,7 @@ module RecombeeApiClient
25
25
  # - +amount+ -> Amount (number) of purchased items. The default is 1. For example if `user-x` purchases two `item-y` during a single order (session...), the `amount` should equal to 2.
26
26
  # - +price+ -> Price paid by the user for the item. If `amount` is greater than 1, sum of prices of all the items should be given.
27
27
  # - +profit+ -> Your profit from the purchased item. The profit is natural in e-commerce domain (for example if `user-x` purchases `item-y` for $100 and the gross margin is 30 %, then the profit is $30), but is applicable also in other domains (for example at a news company it may be income from displayed advertisement on article page). If `amount` is greater than 1, sum of profit of all the items should be given.
28
+ # - +recommId+ -> If this purchase is based on a recommendation request, `recommId` is the id of the clicked recommendation.
28
29
  #
29
30
  def initialize(user_id, item_id, optional = {})
30
31
  @user_id = user_id
@@ -35,11 +36,12 @@ module RecombeeApiClient
35
36
  @amount = optional['amount']
36
37
  @price = optional['price']
37
38
  @profit = optional['profit']
39
+ @recomm_id = optional['recommId']
38
40
  @optional = optional
39
41
  @timeout = 1000
40
42
  @ensure_https = false
41
43
  @optional.each do |par, _|
42
- fail UnknownOptionalParameter.new(par) unless ["timestamp","cascadeCreate","amount","price","profit"].include? par
44
+ fail UnknownOptionalParameter.new(par) unless ["timestamp","cascadeCreate","amount","price","profit","recommId"].include? par
43
45
  end
44
46
  end
45
47
 
@@ -58,6 +60,7 @@ module RecombeeApiClient
58
60
  p['amount'] = @optional['amount'] if @optional.include? 'amount'
59
61
  p['price'] = @optional['price'] if @optional.include? 'price'
60
62
  p['profit'] = @optional['profit'] if @optional.include? 'profit'
63
+ p['recommId'] = @optional['recommId'] if @optional.include? 'recommId'
61
64
  p
62
65
  end
63
66
 
@@ -10,7 +10,7 @@ module RecombeeApiClient
10
10
  #Adds a rating of given item made by a given user.
11
11
  #
12
12
  class AddRating < ApiRequest
13
- attr_reader :user_id, :item_id, :timestamp, :rating, :cascade_create
13
+ attr_reader :user_id, :item_id, :timestamp, :rating, :cascade_create, :recomm_id
14
14
  attr_accessor :timeout
15
15
  attr_accessor :ensure_https
16
16
 
@@ -23,6 +23,7 @@ module RecombeeApiClient
23
23
  # * *Optional arguments (given as hash optional)*
24
24
  # - +timestamp+ -> UTC timestamp of the rating as ISO8601-1 pattern or UTC epoch time. The default value is the current time.
25
25
  # - +cascadeCreate+ -> Sets whether the given user/item should be created if not present in the database.
26
+ # - +recommId+ -> If this rating is based on a recommendation request, `recommId` is the id of the clicked recommendation.
26
27
  #
27
28
  def initialize(user_id, item_id, rating, optional = {})
28
29
  @user_id = user_id
@@ -31,11 +32,12 @@ module RecombeeApiClient
31
32
  optional = normalize_optional(optional)
32
33
  @timestamp = optional['timestamp']
33
34
  @cascade_create = optional['cascadeCreate']
35
+ @recomm_id = optional['recommId']
34
36
  @optional = optional
35
37
  @timeout = 1000
36
38
  @ensure_https = false
37
39
  @optional.each do |par, _|
38
- fail UnknownOptionalParameter.new(par) unless ["timestamp","cascadeCreate"].include? par
40
+ fail UnknownOptionalParameter.new(par) unless ["timestamp","cascadeCreate","recommId"].include? par
39
41
  end
40
42
  end
41
43
 
@@ -52,6 +54,7 @@ module RecombeeApiClient
52
54
  p['rating'] = @rating
53
55
  p['timestamp'] = @optional['timestamp'] if @optional.include? 'timestamp'
54
56
  p['cascadeCreate'] = @optional['cascadeCreate'] if @optional.include? 'cascadeCreate'
57
+ p['recommId'] = @optional['recommId'] if @optional.include? 'recommId'
55
58
  p
56
59
  end
57
60
 
@@ -18,7 +18,19 @@ module RecombeeApiClient
18
18
  # * *Required arguments*
19
19
  # - +property_name+ -> Name of the user property to be created. Currently, the following names are reserved:`id`, `userid`, case insensitively. Also, the length of the property name must not exceed 63 characters.
20
20
  #
21
- # - +type+ -> Value type of the user property to be created. One of: `int`, `double`, `string`, `boolean`, `timestamp`, `set`
21
+ # - +type+ -> Value type of the user property to be created. One of: `int`, `double`, `string`, `boolean`, `timestamp`, `set`.
22
+ #
23
+ #* `int` - Signed integer number.
24
+ #
25
+ #* `double` - Floating point number. It uses 64-bit base-2 format (IEEE 754 standard).
26
+ #
27
+ #* `string` - UTF-8 string.
28
+ #
29
+ #* `boolean` - *true* / *false*
30
+ #
31
+ #* `timestamp` - Value representing date and time.
32
+ #
33
+ #* `set` - Set of strings.
22
34
  #
23
35
  #
24
36
  def initialize(property_name, type)
@@ -10,7 +10,7 @@ module RecombeeApiClient
10
10
  #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.
11
11
  #
12
12
  #
13
- #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** unless special parameter `keepSourceUser` is set `true`.
13
+ #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**.
14
14
  #
15
15
  class MergeUsers < ApiRequest
16
16
  attr_reader :target_user_id, :source_user_id, :cascade_create
@@ -11,7 +11,7 @@ module RecombeeApiClient
11
11
  #If you send new request with the same (`userId`, `itemId`, `sessionId`), the portion gets updated.
12
12
  #
13
13
  class SetViewPortion < ApiRequest
14
- attr_reader :user_id, :item_id, :portion, :session_id, :timestamp, :cascade_create
14
+ attr_reader :user_id, :item_id, :portion, :session_id, :timestamp, :cascade_create, :recomm_id
15
15
  attr_accessor :timeout
16
16
  attr_accessor :ensure_https
17
17
 
@@ -25,6 +25,7 @@ module RecombeeApiClient
25
25
  # - +sessionId+ -> ID of session in which the user viewed the item. Default is `null` (`None`, `nil`, `NULL` etc. depending on language).
26
26
  # - +timestamp+ -> UTC timestamp of the rating as ISO8601-1 pattern or UTC epoch time. The default value is the current time.
27
27
  # - +cascadeCreate+ -> Sets whether the given user/item should be created if not present in the database.
28
+ # - +recommId+ -> If this view portion is based on a recommendation request, `recommId` is the id of the clicked recommendation.
28
29
  #
29
30
  def initialize(user_id, item_id, portion, optional = {})
30
31
  @user_id = user_id
@@ -34,11 +35,12 @@ module RecombeeApiClient
34
35
  @session_id = optional['sessionId']
35
36
  @timestamp = optional['timestamp']
36
37
  @cascade_create = optional['cascadeCreate']
38
+ @recomm_id = optional['recommId']
37
39
  @optional = optional
38
40
  @timeout = 1000
39
41
  @ensure_https = false
40
42
  @optional.each do |par, _|
41
- fail UnknownOptionalParameter.new(par) unless ["sessionId","timestamp","cascadeCreate"].include? par
43
+ fail UnknownOptionalParameter.new(par) unless ["sessionId","timestamp","cascadeCreate","recommId"].include? par
42
44
  end
43
45
  end
44
46
 
@@ -56,6 +58,7 @@ module RecombeeApiClient
56
58
  p['sessionId'] = @optional['sessionId'] if @optional.include? 'sessionId'
57
59
  p['timestamp'] = @optional['timestamp'] if @optional.include? 'timestamp'
58
60
  p['cascadeCreate'] = @optional['cascadeCreate'] if @optional.include? 'cascadeCreate'
61
+ p['recommId'] = @optional['recommId'] if @optional.include? 'recommId'
59
62
  p
60
63
  end
61
64
 
@@ -1,3 +1,3 @@
1
1
  module RecombeeApiClient
2
- VERSION = '2.1.0'
2
+ VERSION = '2.2.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: recombee_api_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ondřej Fiedler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-05 00:00:00.000000000 Z
11
+ date: 2018-09-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multi_json