klaviyo 2.0.3 → 2.0.4

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
  SHA256:
3
- metadata.gz: 438fe72ddfdd5e636f8026c8e0b02daf22586e58c4a2628065db088b633bb1be
4
- data.tar.gz: c586d57114a208aa6843fa6dd218d2e2ceae454282c8b4b297a7ab122cd89dd3
3
+ metadata.gz: 28360ee80e88095a3cab7c279740506e843483536659a59b2ac4473e2163e489
4
+ data.tar.gz: 68e8e4561cdb1790f786b195a83ae3ea557aaf69ff9c7c9356b09cee33f724d6
5
5
  SHA512:
6
- metadata.gz: bce5653e39bc762647ee52f29a3c0b2d8ea672b782a5192e9ca3d3da11a41e388f67a5c11f7eb28ce7f274f691a445677ee345eb3855ba2fa422ed30407a282f
7
- data.tar.gz: 5f831ad7a264a16b697435e1cafe6c942f7c58572bdf67041d74b3f65f398fd4ba948e0c70edbccb6d5839d16f0831553ce2868fe43b6b6fe796d9dfef2e2103
6
+ metadata.gz: 46def1393ec8838ccfe6c966f0aa0e0651fa3354b6c580a42e764245636aab1e7cc7894d221c405fd23abed2c7bed2ea3a0cc3f1b04841f2ee061538bf5297b0
7
+ data.tar.gz: 4d5bd8ee0ae050dc333c0b2cf5b3c4be06875a08ea9b6bfa1c3479f755b0d44c255facc7c6cafec76d094714ed74e8bb94ac137fe302b22f29ac12e9477e5bb0
data/klaviyo.gemspec CHANGED
@@ -2,8 +2,8 @@ files = ['klaviyo.gemspec', '{lib}/**/**/*'].map {|f| Dir[f]}.flatten
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = 'klaviyo'
5
- s.version = '2.0.3'
6
- s.date = '2021-01-11'
5
+ s.version = '2.0.4'
6
+ s.date = '2021-04-02'
7
7
  s.summary = 'You heard us, a Ruby wrapper for the Klaviyo API'
8
8
  s.description = 'Ruby wrapper for the Klaviyo API'
9
9
  s.authors = ['Klaviyo Team']
@@ -0,0 +1,19 @@
1
+ module Klaviyo
2
+ class DataPrivacy < Client
3
+ DATA_PRIVACY = 'data-privacy'
4
+ DELETION_REQUEST = 'deletion-request'
5
+
6
+ # Submits a data privacy-related deletion request
7
+ # @param id_type [String] 'email' or 'phone_number' or 'person_id
8
+ # @param identifier [String] value for the identifier specified
9
+ # @return a dictionary with a confirmation that deletion task submitted for the customer
10
+ def self.request_profile_deletion(id_type, identifier)
11
+ unless ['email', 'phone_number', 'person_id'].include? id_type
12
+ raise Klaviyo::KlaviyoError.new(INVALID_ID_TYPE_ERROR)
13
+ end
14
+ identifier = { id_type => identifier }
15
+ path = "#{DATA_PRIVACY}/#{DELETION_REQUEST}"
16
+ v2_request(HTTP_POST, path, identifier)
17
+ end
18
+ end
19
+ end
@@ -1,6 +1,20 @@
1
1
  module Klaviyo
2
2
  class Profiles < Client
3
3
  PERSON = 'person'
4
+ PEOPLE = 'people'
5
+ SEARCH = 'search'
6
+
7
+ # Retrieves the id of the profile given email
8
+ # @param email [String] the email of the profile
9
+ # @return [JSON] a JSON object containing id of the profile
10
+ def self.get_profile_id_by_email(email)
11
+ path = "#{PEOPLE}/#{SEARCH}"
12
+ params = {
13
+ :email => email
14
+ }
15
+ v2_request(HTTP_GET, path, params)
16
+ end
17
+
4
18
 
5
19
  # Retrieve all the data attributes for a Klaviyo Person ID.
6
20
  # @param person_id [String] the id of the profile
@@ -9,6 +9,7 @@ require_relative 'apis/lists'
9
9
  require_relative 'apis/metrics'
10
10
  require_relative 'apis/profiles'
11
11
  require_relative 'apis/campaigns'
12
+ require_relative 'apis/data_privacy'
12
13
 
13
14
  module Klaviyo
14
15
  class << self
@@ -21,4 +22,5 @@ module Klaviyo
21
22
  NO_PRIVATE_API_KEY_ERROR = 'Please provide your Private API key for this request'
22
23
  NO_PUBLIC_API_KEY_ERROR = 'Please provide your Public API key for this request'
23
24
  REQUIRED_ARG_ERROR = 'You must identify a user by email, ID or phone_number'
25
+ INVALID_ID_TYPE_ERROR = 'Invalid id_type provided, must be one of: email, phone_number, person_id'
24
26
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: klaviyo
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.3
4
+ version: 2.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Klaviyo Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-01-11 00:00:00.000000000 Z
11
+ date: 2021-04-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -75,6 +75,7 @@ files:
75
75
  - klaviyo.gemspec
76
76
  - lib/klaviyo.rb
77
77
  - lib/klaviyo/apis/campaigns.rb
78
+ - lib/klaviyo/apis/data_privacy.rb
78
79
  - lib/klaviyo/apis/lists.rb
79
80
  - lib/klaviyo/apis/metrics.rb
80
81
  - lib/klaviyo/apis/profiles.rb