Class: LoopsSdk::Contacts

Inherits:
Base
  • Object
show all
Defined in:
lib/loops_sdk/contacts.rb

Class Method Summary collapse

Class Method Details

.create(email:, properties: {}, mailing_lists: {}) ⇒ Object



6
7
8
9
10
11
12
# File 'lib/loops_sdk/contacts.rb', line 6

def create(email:, properties: {}, mailing_lists: {})
  contact_data = {
    email: email,
    mailingLists: mailing_lists
  }.merge(properties)
  make_request(method: :post, path: "v1/contacts/create", body: contact_data)
end

.delete(email: nil, user_id: nil) ⇒ Object

Raises:

  • (ArgumentError)


33
34
35
36
37
38
39
# File 'lib/loops_sdk/contacts.rb', line 33

def delete(email: nil, user_id: nil)
  raise ArgumentError, "Only one parameter is permitted." if email && user_id
  raise ArgumentError, "You must provide an email or user_id value." if email.nil? && user_id.nil?

  body = email ? { email: email } : { userId: user_id }
  make_request(method: :post, path: "v1/contacts/delete", body: body)
end

.find(email: nil, user_id: nil) ⇒ Object

Raises:

  • (ArgumentError)


25
26
27
28
29
30
31
# File 'lib/loops_sdk/contacts.rb', line 25

def find(email: nil, user_id: nil)
  raise ArgumentError, "Only one parameter is permitted." if email && user_id
  raise ArgumentError, "You must provide an email or user_id value." if email.nil? && user_id.nil?

  params = email ? { email: email } : { userId: user_id }
  make_request(method: :get, path: "v1/contacts/find", params: params)
end

.update(email: nil, user_id: nil, properties: {}, mailing_lists: {}) ⇒ Object

Raises:

  • (ArgumentError)


14
15
16
17
18
19
20
21
22
23
# File 'lib/loops_sdk/contacts.rb', line 14

def update(email: nil, user_id: nil, properties: {}, mailing_lists: {})
  raise ArgumentError, "You must provide an email or user_id value." if email.nil? && user_id.nil?

  contact_data = {
    email: email,
    userId: user_id,
    mailingLists: mailing_lists
  }.merge(properties)
  make_request(method: :put, path: "v1/contacts/update", body: contact_data)
end