Module: Contacts

Included in:
CustomerData, Cxf::User
Defined in:
lib/user/customer-data/contacts.rb

Instance Method Summary collapse

Instance Method Details

#add_contact_profile(contact_id, data, options = nil) ⇒ Object

Add contact profile.

Add a profile to a contact.

Parameters

contact_id

(Integer) – Contact id.

options

(Hash) – List of Resource Collection Options shown above can be used as parameter.



105
106
107
# File 'lib/user/customer-data/contacts.rb', line 105

def add_contact_profile(contact_id, data, options = nil)
  @client.raw('post', "/customer-data/contacts/#{contact_id}/add-profiles", options, data)
end

#create_contact(data, options = nil) ⇒ Object

Create contact.

Create a contact with data.

Parameters

data

(Hash) – Data to be submitted.

Example

data = {
  email: '[email protected]',
  given_name: 'Given Name',
  last_name: 'Last Name',
  password: '123456'
}
@data = @cxf_user.create_contact(data)


94
95
96
# File 'lib/user/customer-data/contacts.rb', line 94

def create_contact(data, options = nil)
  @client.raw('post', '/customer-data/contacts', options, data_transform(data))
end

#create_contact_deal(contact_id, data) ⇒ Object

Create contact deal.

Create a contact deal with data.

Parameters

contact_id

(Integer) – Contact id.

data

(Hash) – Data to be submitted.

Example

data = { deal_id: 6 }
@data = @cxf_user.create_contact_deal(5, data.to_json)


165
166
167
# File 'lib/user/customer-data/contacts.rb', line 165

def create_contact_deal(contact_id, data)
  @client.raw('post', "/customer-data/contacts/#{contact_id}/deals", nil, data)
end

#create_contact_user(contact_id, data) ⇒ Object

Create contact user.

Relate a contact with an user.

Parameters

contact_id

(Integer) – Contact id.

data

(Hash) – Data to be submitted.

Example

data = { user_id: 9 }
@data = @cxf_user.create_contact_user(66, data.to_json)


209
210
211
# File 'lib/user/customer-data/contacts.rb', line 209

def create_contact_user(contact_id, data)
  @client.raw('post', "/customer-data/contacts/#{contact_id}/users", nil, data)
end

#delete_contact_deal(contact_id, deal_id) ⇒ Object

Delete contact deal.

Delete a contact deal with data.

Parameters

contact_id

(Integer) – Contact id.

deal_id

(Integer) – Deal id.

Example

@data = @cxf_user.delete_contact_deal(5, 100)


179
180
181
# File 'lib/user/customer-data/contacts.rb', line 179

def delete_contact_deal(contact_id, deal_id)
  @client.raw('delete', "/customer-data/contacts/#{contact_id}/deals/#{deal_id}")
end

#delete_contact_user(contact_id, id) ⇒ Object

Delete contact user.

Delete a relationship between a contact and an user.

Parameters

contact_id

(Integer) – Contact id.

id

(Integer) – User id.

Example

@data = @cxf_user.delete_contact_user(153, 9)


223
224
225
# File 'lib/user/customer-data/contacts.rb', line 223

def delete_contact_user(contact_id, id)
  @client.raw('delete', "/customer-data/contacts/#{contact_id}/users/#{id}")
end

#delete_contacts(data) ⇒ Object

Delete contacts.

Delete different contacts.

Parameters

data

(Hash) – Data to be submitted.

Example

data = { ids": %w[67 68 69] }
@data = @cxf_user.delete_contacts(data)


315
316
317
318
# File 'lib/user/customer-data/contacts.rb', line 315

def delete_contacts(data)
  # TODO: ContactController.delete need a success output
  @client.raw('delete', '/customer-data/contacts/delete', nil, data_transform(data))
end

#get_contact(id, options = nil) ⇒ Object

Get contact.

Get a contact data.

Parameters

id

(Integer) – Contact id.

options

(Hash) – List of Resource Collection Options shown above can be used as parameter.

First Example

@data = @cxf_user.get_contact(5)

Second Example

options = {
  sort: 'id',
  'fields[contacts]': 'id, email'
}
@data = @cxf_user.get_contact(5, options)


75
76
77
# File 'lib/user/customer-data/contacts.rb', line 75

def get_contact(id, options = nil)
  @client.raw('get', "/customer-data/contacts/#{id}", options)
end

#get_contact_deal(contact_id) ⇒ Object

Get contact deals.

Get a collection of deals of a contact.

Parameters

contact_id

(Integer) – Contact id.

Example

@data = @cxf_user.get_contact_deal(5)


150
151
152
# File 'lib/user/customer-data/contacts.rb', line 150

def get_contact_deal(contact_id)
  @client.raw('get', "/customer-data/contacts/#{contact_id}/deals")
end

#get_contact_segments(contact_id) ⇒ Object

Get contact segments.

Get segments of a contact.

Parameters

contact_id

(Integer) – Contact id.

Example

@data = @cxf_user.get_contact_segments(1)


236
237
238
# File 'lib/user/customer-data/contacts.rb', line 236

def get_contact_segments(contact_id)
  @client.raw('get', "/customer-data/contacts/#{contact_id}/segments")
end

#get_contact_submissions(contact_id) ⇒ Object

Get contact submissions.

Get submissions of a contact.

Parameters

contact_id

(Integer) – Contact id.

Example

@data = @cxf_user.get_contact_submissions(146)


249
250
251
# File 'lib/user/customer-data/contacts.rb', line 249

def get_contact_submissions(contact_id)
  @client.raw('get', "/customer-data/contacts/#{contact_id}/submissions")
end

#get_contact_tags(contact_id) ⇒ Object

Get contact tags.

Get tags of a contact.

Parameters

contact_id

(Integer) – Contact id.

Example

@data = @cxf_user.get_contact_tags(1)


262
263
264
# File 'lib/user/customer-data/contacts.rb', line 262

def get_contact_tags(contact_id)
  @client.raw('get', "/customer-data/contacts/#{contact_id}/tags")
end

#get_contact_user(contact_id) ⇒ Object

Get contact user.

Get user data of a contact.

Parameters

TODO: Replace Resource collection options url

contact_id

(Integer) – Contact id.

options

(Hash) – List of Resource Collection Options shown above can be used as parameter.

Example

@data = @cxf_user.get_contact_user(66)


194
195
196
# File 'lib/user/customer-data/contacts.rb', line 194

def get_contact_user(contact_id)
  @client.raw('get', "/customer-data/contacts/#{contact_id}/users")
end

#get_contacts(options = nil, use_post = true) ⇒ Object

Get contacts.

Get a collection of contacts.

Parameters

options

(Hash) – List of Resource Collection Options shown above can be used as parameter.

use_post

(Boolean) – Variable to determine if the request is by ‘post’ or ‘get’ functions.

First Example

@data = @cxf_user.get_contacts

Second Example

options = {
  sort: 'id',
  'fields[contacts]': 'id, email'
}
@data = @cxf_user.get_contacts(options)

Third Example

options = {
  sort: 'id',
  'fields[contacts]': 'id, email'
}
@data = @cxf_user.get_contacts(options, true)


54
55
56
# File 'lib/user/customer-data/contacts.rb', line 54

def get_contacts(options = nil, use_post = true)
  get_query_results('/customer-data/contacts', options, use_post)
end

#get_contacts_support_dataObject

Get contacts support data.

Example

@data = @cxf_user.get_contacts_support_data


13
14
15
# File 'lib/user/customer-data/contacts.rb', line 13

def get_contacts_support_data
  @client.raw('get', '/customer-data/contacts/support-data')
end

#get_online_activity(id) ⇒ Object

Get online activity.

Get online activity of a contact.

Parameters

id

(Integer) – Contact id.

Example

@data = @cxf_user.get_online_activity(5)


26
27
28
# File 'lib/user/customer-data/contacts.rb', line 26

def get_online_activity(id)
  @client.raw('get', "/customer-data/contacts/#{id}/online-activity")
end

#merge_contacts(id, data) ⇒ Object

Create contact merge.

Merge contacts.

Parameters

id

(Integer) – Contact id.

data

(Hash) – Data to be submitted. It contains ids to be merged.

Example

data = { mergeContactIds: [152] }
@data = @cxf_user.merge_contacts(151, data)


277
278
279
# File 'lib/user/customer-data/contacts.rb', line 277

def merge_contacts(id, data)
  @client.raw('post', "/customer-data/contacts/#{id}/merge", nil, data_transform(data))
end

#remove_contact_profile(contact_id, options = nil) ⇒ Object

Remove contact profile.

Remove a profile from a contact.

Parameters

contact_id

(Integer) – Contact id.

options

(Hash) – List of Resource Collection Options shown above can be used as parameter.

Example

@data = @cxf_user.remove_contact_profile(4)


119
120
121
# File 'lib/user/customer-data/contacts.rb', line 119

def remove_contact_profile(contact_id, options = nil)
  @client.raw('post', "/customer-data/contacts/#{contact_id}/remove-profiles", options)
end

Send magic links.

Send magic links to contacts.

Parameters

data

(Hash) – Data to be submitted.

Example

data = {
  contacts: %w[[email protected] [email protected] [email protected]],
  templateId: 2,
  redirectUrl: "",
  lifeTime: 1440,
  maxVisits: 3
}
@data = @cxf_user.send_magic_links(data)


297
298
299
# File 'lib/user/customer-data/contacts.rb', line 297

def send_magic_links(data)
  @client.raw('post', '/customer-data/contacts/send-magic-link', nil, data_transform(data))
end

#update_contact(id, data, options = nil) ⇒ Object

Update contact.

Update contact data.

Parameters

id

(Integer) – Contact id.

data

(Hash) – Data to be submitted.

Example

data = {
  email: '[email protected]',
  company_id: 3
}
@data = @cxf_user.update_contact(65, data)


137
138
139
# File 'lib/user/customer-data/contacts.rb', line 137

def update_contact(id, data, options = nil)
  @client.raw('put', "/customer-data/contacts/#{id}", options, data_transform(data))
end