Class: ActiveCampaign::Contact

Inherits:
Model
  • Object
show all
Defined in:
lib/active_campaign/models/contact.rb

Overview

Examples:

Contacts


ActiveCampaign::Contact.find(1)
ActiveCampaign::Contact.find_by email: "[email protected]"
ActiveCampaign::Contact.find(1).destroy
ActiveCampaign::Contact.find(1).contact_tags

Constant Summary

Constants included from ApiHttp

ApiHttp::HTTP_METHODS

Instance Method Summary collapse

Methods inherited from Model

all, #create, create, #destroy, filter, find, find_by, #save, save, #update

Methods included from Attributes

#only_changes_to_params, #rollback!, #to_params

Instance Method Details

#add_tag(tag, create_if_not_found: true) ⇒ Object

Don’t create the tag if it doesn’t exist.

ActiveCampaign::Contact.find(1).add_tag "tag-name", create_if_not_found: false

Examples:

Add a tag to a contact.


ActiveCampaign::Contact.find(1).add_tag "tag-name"


35
36
37
38
39
40
41
42
43
# File 'lib/active_campaign/models/contact.rb', line 35

def add_tag(tag, create_if_not_found: true)
  tag_id = Tag.find_by(tag: tag)&.id

  tag_id = ActiveCampaign::Tag.create(tag: tag)&.id if !tag_id && create_if_not_found

  return false unless tag_id

  ActiveCampaign::ContactTag.create contact: id, tag: tag_id
end

#contact_tagsObject

Examples:

Find contact’s tags.


ActiveCampaign::Contact.find(1).contact_tags
ActiveCampaign::Contact.find(1).contact_tags.last.destroy


23
24
25
# File 'lib/active_campaign/models/contact.rb', line 23

def contact_tags
  ContactTag.get "#{self.class.endpoint}/#{id}/contactTags"
end

#remove_tag(tag) ⇒ Object

Examples:

Remove a tag from a contact.


ActiveCampaign::Contact.find(1).remove_tag "tag-name"


49
50
51
52
53
54
55
56
57
# File 'lib/active_campaign/models/contact.rb', line 49

def remove_tag(tag)
  tag_id = Tag.find_by(tag: tag)&.id

  return false unless tag_id

  contact_tag = contact_tags.filter_map { |ct| ct if ct.tag == tag_id }.last

  contact_tag&.destroy
end