Class: Keplars::Resources::Contacts
- Inherits:
-
Base
- Object
- Base
- Keplars::Resources::Contacts
show all
- Defined in:
- lib/keplars/contacts.rb
Instance Method Summary
collapse
Methods inherited from Base
#initialize
Instance Method Details
#add(**params) ⇒ Object
4
5
6
|
# File 'lib/keplars/contacts.rb', line 4
def add(**params)
@client.request('POST', '/api/v1/public/contacts/add-contact', body: params.compact)[:data]
end
|
#delete(id_or_email) ⇒ Object
36
37
38
39
40
41
42
43
44
|
# File 'lib/keplars/contacts.rb', line 36
def delete(id_or_email)
if id_or_email.include?('@')
warn '[Keplars] Deprecated: passing email to delete() is deprecated since v2.7.0. Use contact ID instead.'
param = 'email'
else
param = 'id'
end
@client.request('DELETE', "/api/v1/public/contacts/delete-contact?#{param}=#{URI.encode_www_form_component(id_or_email)}")[:data]
end
|
#get(email_or_id) ⇒ Object
8
9
10
11
|
# File 'lib/keplars/contacts.rb', line 8
def get(email_or_id)
param = email_or_id.include?('@') ? 'email' : 'id'
@client.request('GET', "/api/v1/public/contacts/get-contact?#{param}=#{URI.encode_www_form_component(email_or_id)}")[:data]
end
|
#list(audience_id: nil, page: nil, limit: nil, sort_by: nil, sort_dir: nil, subscribed_only: nil) ⇒ Object
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/keplars/contacts.rb', line 13
def list(audience_id: nil, page: nil, limit: nil, sort_by: nil, sort_dir: nil, subscribed_only: nil)
params = {}
params[:audienceId] = audience_id if audience_id
params[:page] = page if page
params[:limit] = limit if limit
params[:sortBy] = sort_by if sort_by
params[:sortDir] = sort_dir if sort_dir
params[:subscribedOnly] = subscribed_only.to_s if !subscribed_only.nil?
query = @client.send(:build_query_string, params)
@client.request('GET', "/api/v1/public/contacts/get-contacts#{query}")[:data]
end
|
#update(id_or_email, **params) ⇒ Object
26
27
28
29
30
31
32
33
34
|
# File 'lib/keplars/contacts.rb', line 26
def update(id_or_email, **params)
if id_or_email.include?('@')
warn '[Keplars] Deprecated: passing email to update() is deprecated since v2.7.0. Use contact ID instead.'
param = 'email'
else
param = 'id'
end
@client.request('PATCH', "/api/v1/public/contacts/update-contact?#{param}=#{URI.encode_www_form_component(id_or_email)}", body: params.compact)[:data]
end
|