Module: Klaviyo::People::ApiOperations
- Included in:
- Klaviyo::People
- Defined in:
- lib/klaviyo/people/api_operations.rb
Overview
Instance Method Summary collapse
- #events(client:, id:, sort: 'desc', per: 100, since: Time.now.to_i) ⇒ Object
- #exclude(client:, email:, ts: Time.now.to_i) ⇒ Object
- #exclusions(client:, reason: 'unsubscribed', sort: 'asc') ⇒ Object
- #find(client:, id:) ⇒ Object
-
#identify(client:, properties: {}) ⇒ Object
www.klaviyo.com/docs/http-api#people invoke(:people, :identify, properties: { ‘$email’: ‘[email protected]’ }).
- #metric_events(client:, id:, metric_id:, sort: 'desc', per: 100, since: Time.now.to_i) ⇒ Object
- #update(client:, id:, attrs: {}) ⇒ Object
Instance Method Details
#events(client:, id:, sort: 'desc', per: 100, since: Time.now.to_i) ⇒ Object
53 54 55 56 57 58 59 60 61 |
# File 'lib/klaviyo/people/api_operations.rb', line 53 def events(client:, id:, sort: 'desc', per: 100, since: Time.now.to_i) client.conn.get( "/api/v1/person/#{id}/metrics/timeline", api_key: client.api_key, sort: sort, count: per, since: since ) end |
#exclude(client:, email:, ts: Time.now.to_i) ⇒ Object
30 31 32 33 34 35 36 37 |
# File 'lib/klaviyo/people/api_operations.rb', line 30 def exclude(client:, email:, ts: Time.now.to_i) client.conn.post( '/api/v1/people/exclusions', api_key: client.api_key, email: email, timestamp: ts ) end |
#exclusions(client:, reason: 'unsubscribed', sort: 'asc') ⇒ Object
21 22 23 24 25 26 27 28 |
# File 'lib/klaviyo/people/api_operations.rb', line 21 def exclusions(client:, reason: 'unsubscribed', sort: 'asc') client.conn.get( '/api/v1/people/exclusions', api_key: client.api_key, reason: reason, sort: sort ) end |
#find(client:, id:) ⇒ Object
39 40 41 42 43 |
# File 'lib/klaviyo/people/api_operations.rb', line 39 def find(client:, id:) Klaviyo::Resource.build( client.conn.get("/api/v1/person/#{id}", api_key: client.api_key).body ) end |
#identify(client:, properties: {}) ⇒ Object
www.klaviyo.com/docs/http-api#people invoke(:people, :identify, properties: { ‘$email’: ‘[email protected]’ })
10 11 12 13 14 15 |
# File 'lib/klaviyo/people/api_operations.rb', line 10 def identify(client:, properties: {}) client.conn.get( '/api/identify', client.build_params(properties: properties) ).body.to_s == '1' end |
#metric_events(client:, id:, metric_id:, sort: 'desc', per: 100, since: Time.now.to_i) ⇒ Object
63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/klaviyo/people/api_operations.rb', line 63 def metric_events(client:, id:, metric_id:, sort: 'desc', per: 100, since: Time.now.to_i) client.conn.get( "/api/v1/person/#{id}/metric/#{metric_id}/timeline", api_key: client.api_key, sort: sort, count: per, since: since ) end |
#update(client:, id:, attrs: {}) ⇒ Object
45 46 47 48 49 50 51 |
# File 'lib/klaviyo/people/api_operations.rb', line 45 def update(client:, id:, attrs: {}) Klaviyo::Resource.build( client.conn.put( "/api/v1/person/#{id}", { api_key: client.api_key }.merge(attrs) ).body) end |